Website Speedy AI MCP server
Connect an AI assistant to your Website Speedy AI account so it can read your real-visitor Core Web Vitals, slowest pages, open issues, JavaScript errors and lab scores. Every tool is read-only.
https://mcp.websitespeedy.ai/account
Public endpoint with no login: https://mcp.websitespeedy.ai/mcp
Quickstart
- Make sure Website Speedy AI is installed on your site and collecting real user data.
- Add the server URL above to your assistant as a custom connector or MCP server.
- Sign in with your Website Speedy AI account and allow the access the assistant asks for.
- Ask: "How are my Core Web Vitals this week?"
Connect your assistant
Claude (web and desktop)
Open Settings, then Connectors, then Add custom connector. Paste the server URL and sign in.
Claude Code
claude mcp add --transport http websitespeedy https://mcp.websitespeedy.ai/account
Cursor
Add this to ~/.cursor/mcp.json:
{
"mcpServers": {
"websitespeedy": {
"url": "https://mcp.websitespeedy.ai/account"
}
}
}
VS Code
Add this to .vscode/mcp.json:
{
"servers": {
"websitespeedy": {
"type": "http",
"url": "https://mcp.websitespeedy.ai/account"
}
}
}
ChatGPT and other clients
Any client that supports remote MCP servers with OAuth sign-in works. Add a new server or connector, paste the URL, and complete the sign-in.
Public endpoint, no login
For questions about platforms, install steps, plans and help articles, or a speed test of any public page, add the public endpoint. It needs no account.
https://mcp.websitespeedy.ai/mcp
Authentication
The account endpoint uses OAuth 2.1 sign-in. The public endpoint needs no authentication.
Sign in with your account
The client opens the Website Speedy AI sign-in page. You sign in, check the access it asks for and choose Allow. Nothing to copy or store.
For client developers
Authorization code flow with PKCE (S256). Dynamic client registration and Client ID Metadata Documents are supported. The full description is in auth.md.
https://websitespeedy.ai/auth.mdNo API keys. Access tokens last one hour and your client renews them for you. Remove the connector in your assistant to end its access.
Tools
All tools are read-only. Account tools need sign-in and the scope shown. Public tools need nothing.
| Tool | What it does | Scope |
|---|---|---|
list_my_sites | The websites in your account with id, domain, platform, plan and status. | sites:read |
get_core_web_vitals | Real-visitor LCP, INP, CLS, FCP and TTFB at the 75th percentile, for all devices or one. | vitals:read |
get_slowest_pages | The 20 slowest pages for real visitors, ranked by LCP. | vitals:read |
get_lab_scores | The latest PageSpeed lab test stored for a site, mobile and desktop. | vitals:read |
get_open_issues | The open issues of the Action Center with severity and affected pages. | issues:read |
get_js_errors | JavaScript errors real visitors ran into, most frequent first. | errors:read |
Public tools
Served at https://mcp.websitespeedy.ai/mcp with no login.
| Tool | What it does | Access |
|---|---|---|
run_speed_test | Run a live PageSpeed lab test on a public URL. Takes 10 to 60 seconds. | Public |
list_supported_platforms | Every platform Website Speedy AI supports. | Public |
get_install_instructions | Install steps for one platform and how to verify them. | Public |
get_plans_and_pricing | Current plans, prices and what each includes. | Public |
get_faq | Frequently asked questions, optionally filtered by topic. | Public |
search_help | Search the help center by keyword. | Public |
get_signup_link | Signup and login links and what the free Beta plan includes. | Public |
get_core_web_vitals
vitals:readReturns the 75th percentile of LCP, INP, CLS, FCP and TTFB from real human visitors, with the number of samples, the rating and the share of visits in each rating.
| Parameter | Type | Description |
|---|---|---|
site | string or integer, required | The site id from list_my_sites, or its domain. |
range | string, optional | 24h, 7d, 30d or 90d. Defaults to 7d. A range longer than your plan keeps data is shortened. |
device | string, optional | all, mobile, tablet or desktop. Defaults to all. |
{
"site": { "id": 1234, "domain": "yourstore.com" },
"range": "7d",
"device": "all",
"percentile": 75,
"visitors": "human only",
"page_views": 24180,
"metrics": {
"lcp": { "p75": 2800, "unit": "ms", "rating": "needs improvement", "samples": 23950 },
"inp": { "p75": 168, "unit": "ms", "rating": "good", "samples": 11200 },
"cls": { "p75": 0.04, "unit": "", "rating": "good", "samples": 24010 }
}
}
Shortened sample. Each metric also carries the share of visits per rating and the thresholds used, and FCP and TTFB are included.
Scopes and read-only access
No tool changes your site, your settings, your plan or your billing. On the consent screen you allow each kind of access separately:
sites:readSee the list of your websites.vitals:readRead speed and Core Web Vitals data, lab scores and slowest pages.issues:readRead the open issues found on your websites.errors:readRead the JavaScript errors recorded on your websites.
Your assistant only sees sites that are in your account, as owner or as a team member.
Limits and errors
Account endpoint: 120 requests a minute per IP address and 60 a minute per account, with 20 calls a minute for each data tool. Public endpoint: 60 requests a minute per IP address and 5 speed tests an hour.
| Error | Meaning | What to do |
|---|---|---|
401 | Not signed in, or the access expired or was revoked. | Reconnect and complete sign-in. |
403 | The access you allowed does not include what this tool needs. | Reconnect and allow the missing access. |
429 | Rate limit reached. | Wait, then ask again. |
Site not found | The site is not in this account. | Ask for your sites first, then use one from that list. |
Troubleshooting
- Tools do not appear. Check the server shows as connected in your client, then start a new chat.
- No visitor data yet. Real user monitoring needs some traffic after install before vitals appear.
- Still stuck? Contact support.
No section matches your search.