MCP Integration
Your agent can check and fix your site without you copy-pasting URLs. Connect FixFlags to your AI coding tool.
Get API keyRun free checkQuick start
Requires Pro plan
- Generate an API key in Settings → API Keys (Pro plan)
- Paste the HTTP config into Cursor, Claude Code, or Windsurf
- Run ff_check_url: use the curl test below to verify your key
Cursor config (paste into .cursor/mcp.json)
# .cursor/mcp.json
{
"mcpServers": {
"fixflags": {
"url": "https://fixflags.com/api/mcp",
"headers": {
"x-api-key": "ff_live_your_key_here"
}
}
}
}Test with curl
curl
curl -s -X POST "https://fixflags.com/api/mcp" \
-H "Content-Type: application/json" \
-H "x-api-key: $FF_API_KEY" \
-d '{"jsonrpc":"2.0","method":"tools/list","id":1}'Pro requiredRate limits queue with ETAEditors: Cursor, Claude Code, WindsurfPublic URLs only
Security
- • Never commit API keys to git, add .env to .gitignore and use env vars or your editor secret store.
- • Never share keys in screenshots, Slack, or client-side code.
- • Keys are stored hashed on the server; we cannot recover a lost key, rotate and create a new one.
- • Rotate immediately if a key is exposed.
Base URL
FixFlags exposes an HTTP MCP endpoint at /api/mcp. Pass your API key in the x-api-key header.
Production
Use for live sites and deployed apps.
https://fixflags.com/api/mcpLocal development
Use when running npm run dev on this machine.
http://localhost:3000/api/mcpConfiguration
Lovable and Bolt don’t support MCP yet. Copy fix prompts from the web UI or report directly into those tools.
Cursor
# .cursor/mcp.json
{
"mcpServers": {
"fixflags": {
"url": "https://fixflags.com/api/mcp",
"headers": {
"x-api-key": "ff_live_your_key_here"
}
}
}
}Claude Code
# ~/.claude/mcp.json
{
"mcpServers": {
"fixflags": {
"url": "https://fixflags.com/api/mcp",
"headers": {
"x-api-key": "ff_live_your_key_here"
}
}
}
}Windsurf
# ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"fixflags": {
"serverUrl": "https://fixflags.com/api/mcp",
"headers": {
"x-api-key": "ff_live_your_key_here"
}
}
}
}Available tools
ff_check_urlStart a FixFlags check on any URL. Returns reportId.ff_get_check_statusCheck if a report is complete.ff_get_reportGet rubric summaries (scores, grades, status) and shareStatus. Use ff_get_rubric or ff_get_flag for fix prompts.ff_get_rubricGet detailed flags + fix prompt for one rubric (Message, Experience, Reach)ff_get_flagGet the fix prompt for a specific flag.ff_recheckRun a new check on the same URL to verify fixes.ff_compareCompare two reports: see what improved, stayed the same, or regressed.Example ship loop
User: "Check https://myapp.com and review the Experience rubric"
Claude calls: ff_check_url → ff_get_rubric("EXPERIENCE")
Claude: "Experience needs attention. Two Flags:
- Primary CTA is below fold on 375px screens
- 3 buttons with tap targets under 40px
Should I apply fixes now?"
User: "Yes"
Claude: applies fixes
Claude: calls ff_recheck
Claude: "Experience improved from Needs Attention → Pass. Two Flags cleared."