Claude Desktop
Claude Desktop is the native macOS / Windows Claude app. It speaks MCP over HTTP but does not yet support Dynamic Client Registration, so you authenticate with a Site Health API key rather than OAuth.
Prerequisites
- Claude Desktop installed (macOS or Windows)
- A Site Health account with at least one connected Webflow site
Step 1 — Create an API key
- Open Site Health and go to Settings → API Keys.
- Click Create API Key. Name it something recognizable like
Claude Desktop. - The raw key is shown once. Copy it now — you cannot retrieve it later. If you lose it, revoke and create a new one.
API keys are SHA-256 hashed in our database. We never see the raw value after creation.
Step 2 — Edit Claude Desktop's config
- Open Claude Desktop.
- Click Settings → Developer → Edit Config. This opens
claude_desktop_config.jsonin your default editor.- macOS path:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows path:
%APPDATA%\Claude\claude_desktop_config.json
- macOS path:
- Add the
site-healthentry tomcpServers. If the file is empty, use this exactly:
{
"mcpServers": {
"site-health": {
"url": "https://sitehealth.octagramlabs.com/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_SITE_HEALTH_API_KEY"
}
}
}
}
Replace YOUR_SITE_HEALTH_API_KEY with the key you copied in Step 1. Keep the word Bearer — it's part of the header, not a placeholder.
If the file already has other MCP servers, add site-health as another key inside the existing mcpServers object (don't create a second mcpServers block).
- Save the file.
Step 3 — Restart and verify
- Quit Claude Desktop completely (Cmd+Q / File → Exit). Closing the window isn't enough.
- Relaunch.
- Open a new chat. You'll see a tools icon in the input bar — click it and Site Health should be listed with ~9 tools.
- Try a prompt: "List my Site Health sites." Claude should call
list_sitesand return your sites with their health scores.
Example prompts
- "Pull the latest scan for studio-brava and suggest 3 Webflow-specific fixes."
- "Show me every page where LCP is over 2.5 seconds."
- "Did anything regress since yesterday's publish on studio-brava?"
Cross-link
Cursor and Windsurf use a nearly identical config — see Cursor / Windsurf. If you prefer OAuth (no API key to manage), and you use Claude.ai on the web or the Claude.ai desktop app, use the Claude.ai connector instead — Claude.ai and Claude Desktop are different products from Anthropic even though the name is confusing.
Troubleshooting
Site Health doesn't appear in the tools menu. You forgot to quit and relaunch (most common cause). File → Exit, then relaunch. Also check that claude_desktop_config.json is valid JSON — a trailing comma will silently fail. Paste your config into https://jsonlint.com if unsure.
Tools appear but every call returns "Invalid API key." Your key has a stray space, a line break, or you copied the placeholder. Regenerate in Site Health → Settings → API Keys, copy carefully, paste, save, restart Claude Desktop.
Tools appear but return network errors. Verify the URL is exactly https://sitehealth.octagramlabs.com/api/mcp. No trailing slash, no http://. You can confirm the server is up by opening that URL in a browser — you should get a 401 "missing Authorization header" JSON response, which confirms the endpoint is reachable.
"Site not found" when you ask about a specific site. Claude Desktop sessions don't carry over site IDs between prompts. Ask "list my sites" first, then ask about a site by name. The skill will chain list_sites → match → subsequent calls automatically.