Skip to main content

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​

  1. Open Site Health and go to Settings → API Keys.
  2. Click Create API Key. Name it something recognizable like Claude Desktop.
  3. 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​

  1. Open Claude Desktop.
  2. Click Settings → Developer → Edit Config. This opens claude_desktop_config.json in your default editor.
    • macOS path: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows path: %APPDATA%\Claude\claude_desktop_config.json
  3. Add the site-health entry to mcpServers. 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).

  1. Save the file.

Step 3 — Restart and verify​

  1. Quit Claude Desktop completely (Cmd+Q / File → Exit). Closing the window isn't enough.
  2. Relaunch.
  3. 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.
  4. Try a prompt: "List my Site Health sites." Claude should call list_sites and 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?"

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.