speedvault
SpeedVault MCP Measure and fix web performance + SEO from inside your AI coding agent.
What it can do
- Run Audit: Run a single-page Lighthouse performance audit on a URL and (by default) wait for it to complete, returning scores (performance/structure), Core Web Vitals (LCP/FCP/TBT/CLS/SI), page weight
- Get Audit: Fetch a previously-started audit by id. Set wait=true to block until it completes.
- List Audits: List the most recent audits run via the API for this account.
What data it sees
Do you need an account
No: the server works without sign-in
SpeedVault MCP
Measure and fix web performance + SEO from inside your AI coding agent. SpeedVault gives Claude Code, Cursor, Windsurf, and any MCP client a tight audit → fix → re-audit loop — so your agent can ship fast pages without you ever leaving the editor.
Why SpeedVault?
Most performance tools measure. SpeedVault measures, diagnoses, and hands your agent the exact code-level fix — then verifies the score went up. It's the only MCP server that closes the loop:
run_audit → read scores + Core Web Vitals → get_fix_suggestions
↑ │
└────────── re-audit to confirm ← apply the fix ──┘
What it can do (18 tools)
| Capability | Tools |
|---|---|
| ⚡ Performance audits | run_audit, get_audit, list_audits, compare_runs |
| 🔧 Code-level fixes | get_fix_suggestions — prioritized fixes with copy-paste snippets |
| 🔍 Site-wide SEO crawls | crawl_site, get_crawl, get_seo_issues, get_seo_fixes, recheck_template |
| 📡 Real-user monitoring | get_rum, get_rum_embed — field Core Web Vitals (LCP/INP/CLS/FCP/TTFB) |
| 🔔 Scheduled monitoring | list_monitors, create_monitor |
| 🌐 Domain management | list_domains, add_domain, verify_domain |
| 📊 Account | account_status |
Every result is condensed for agents — you get scores, the worst offenders, and actionable fixes, never a 500 KB raw Lighthouse dump that blows your context window.
Install
Remote (fastest — no install)
{
"mcpServers": {
"speedvault": {
"url": "https://www.speedvault.io/api/mcp",
"headers": { "X-API-Key": "sv_your_key" }
}
}
}
Local (npx / stdio)
claude mcp add speedvault --env SPEEDVAULT_API_KEY=sv_your_key -- npx -y @speedvault/mcp
Get a free API key at speedvault.io → Settings → API Keys.
Pricing
Free tier with 25 credits/mo — no card required. Audits cost 1 credit; AI fixes are credit-metered; reads (get_audit, get_rum, list_*, account_status) are free. Same key, same credits, whether you connect remote or via npx.
How to connect
How to connect speedvault to Claude
The server address to paste into Claude settings:
https://speedvault--speedvault.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect speedvault to ChatGPT
The server address to paste into ChatGPT settings:
https://speedvault--speedvault.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect speedvault to Cursor
The server address to paste into Cursor settings:
https://speedvault--speedvault.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (18)
Raw names from tools/list. Only developers need these.
| run_audit | Run a single-page Lighthouse performance audit on a URL and (by default) wait for it to complete, returning scores (performance/structure), Core Web Vitals (LCP/FCP/TBT/CLS/SI), page weight, and the top prioritized opportunities. Use this on the page you just built or changed. Costs 1 credit. After this, call get_fix_suggestions with the returned auditId for concrete code fixes. |
| get_audit | Fetch a previously-started audit by id. Set wait=true to block until it completes. |
| list_audits | List the most recent audits run via the API for this account. |
| get_fix_suggestions | Return prioritized, ACTIONABLE fixes. Two modes: • Performance: pass auditId (a completed run_audit). Each fix has the issue, impact, how to fix it, a code snippet where useful, and estimated savings. • SEO/media: pass crawlId (a completed crawl_site), optionally narrowed with issue_type (e.g. "description-missing", "next-gen-images", "image-alt-missing"). Each fix reports how many pages are affected, example URLs, how to fix it, and a ready-to-apply snippet (e.g. <picture>/WebP, <meta name="description">, alt="", unique <title>). This is what you apply to improve scores. Cached perf fixes are free; a fresh AI generation may cost credits. |
| crawl_site | Start a full-site crawl that aggregates SEO + structure issues across pages (grouped by category/template) and computes a site score. Costs 1 credit. Returns a crawlId; poll with get_crawl (wait=true) to get the grouped issues once it finishes. NOTE: the domain must be verified first — use list_domains / add_domain / verify_domain. |
| get_crawl | Fetch a crawl by id with its score and grouped issues. wait=true blocks until done. |
| get_rum | Return field (real-user) Core Web Vitals for a registered RUM site: p75 LCP/INP/CLS/FCP/TTFB with ratings, sample counts, and trends. Use list of sites from account first if you do not know the siteKey (call get_rum with no siteKey to list sites). |
| get_rum_embed | Return the <script> beacon snippet to install SpeedVault RUM on a site, so an agent building an app can wire up real-user Core Web Vitals collection. Paste it into the <head>. |
| list_monitors | List the URLs under scheduled monitoring (SpeedVault Monitor) with their latest score. |
| create_monitor | Add a URL to scheduled monitoring so SpeedVault re-audits it on a cadence and tracks regressions. Slot-limited by plan. NOTE: the domain must be verified first — use list_domains / add_domain / verify_domain. |
| compare_runs | Return a structured diff of two completed audits: delta per metric (perf_score, LCP, FCP, TBT, CLS, SI, page_bytes, total_requests) with improved/regressed flags. Use this to see how a change affected performance before and after. |
| get_seo_issues | Return the per-template issue breakdown from a completed site crawl. Shows each template (e.g. /products/:slug) with its page count and the SEO issues affecting it, including prevalence ("142 of 312 product pages have missing meta description") and priority scores. Use this after crawl_site to understand which templates need the most work. |
| get_seo_fixes | Return actionable fix recipes for a completed site crawl. Each fix includes the issue, impact, how to fix it, a code snippet, and before/after showing the exact code change. Optionally narrow to one issue_type (e.g. "description-missing", "next-gen-images"). |
| recheck_template | Trigger a re-crawl of a site that was previously crawled. Use this after applying SEO fixes from get_seo_fixes to verify improvements. Returns a new crawlId. Costs 1 credit. |
| list_domains | List your domains with their verification status and linked product counts (RUM sites, monitors, analyses). Domains must be verified before you can crawl, monitor, or add RUM to them. |
| add_domain | Register a new domain. Returns a verification token and instructions (meta tag or DNS TXT record). After adding, call verify_domain to prove ownership. A verified domain is required before you can crawl, monitor, or add RUM. |
| verify_domain | Verify ownership of a registered domain by checking for the meta tag or DNS TXT record. On success the domain becomes "active" and you can use it with all SpeedVault products. |
| account_status | Show your plan, remaining API credits, rate limit, and per-product entitlements. |