@sitecurl/mcp
MCP server and CI/CD CLI for SiteCurl, the website governance and audit platform.
Run website audits, check health scores, track regressions, and monitor site status from any MCP-compatible AI tool (Claude Desktop, Cursor, Windsurf, Claude Code) or your CI/CD pipeline.
Setup
Get your API key at sitecurl.com/settings. Requires a Pro or Studio plan.
Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"sitecurl": {
"command": "npx",
"args": ["-y", "@sitecurl/mcp"],
"env": {
"SITECURL_API_KEY": "sc_live_your_key_here"
}
}
}
}
Claude Code
claude mcp add sitecurl -- npx -y @sitecurl/mcp
Then set the env var: export SITECURL_API_KEY=sc_live_your_key_here
Cursor
Add to .cursor/mcp.json in your project:
{
"mcpServers": {
"sitecurl": {
"command": "npx",
"args": ["-y", "@sitecurl/mcp"],
"env": {
"SITECURL_API_KEY": "sc_live_your_key_here"
}
}
}
}
Tools
Once connected, your AI assistant can use these 11 tools:
sitecurl_list_sites | List all monitored websites with status |
sitecurl_get_site | Get site details and latest scan score |
sitecurl_add_site | Add a new website to monitor |
sitecurl_scan | Trigger a new audit scan |
sitecurl_scan_status | Check if a scan is still running |
sitecurl_findings | Get audit findings (filter by category, severity) |
sitecurl_score | Get the current health score |
sitecurl_trends | Score history over time |
sitecurl_priority | Top priority items across all sites |
sitecurl_regressions | New failures since last scan |
sitecurl_improvements | Fixed issues since last scan |
Example prompts
- "What's the health score for my site?"
- "Run an audit on example.com and show me the critical findings"
- "What regressed since the last scan?"
- "Show me the priority items across all my sites"
- "Add https://newsite.com to monitoring"
CI/CD Check Runner
Block deploys when your site has critical audit findings:
npx @sitecurl/mcp check https://example.com --api-key=sc_live_xxx --fail-on=critical
Options
--api-key=KEY | SiteCurl API key (or use SITECURL_API_KEY env var) |
--fail-on=LEVEL | Minimum severity to fail: critical, warning, info (default: critical) |
--api-url=URL | API base URL override |
--category=CATEGORY | Filter findings to one category |
--format=FORMAT | Output text or json |
--timeout=SECONDS | Max wait for scan completion |
--poll-interval=MS | Poll interval in milliseconds |
--no-scan | Use the latest completed scan instead of triggering a new scan |
--quiet | Suppress progress output |
Exit codes
| 0 | No findings at or above threshold |
| 1 | Findings found, check failed |
| 2 | Scan failed or timed out |
| 3 | Configuration error |
GitHub Actions
- name: SiteCurl Audit
run: npx @sitecurl/mcp check https://example.com --fail-on=critical
env:
SITECURL_API_KEY: ${{ secrets.SITECURL_API_KEY }}
GitLab CI
sitecurl-audit:
script:
- npx @sitecurl/mcp check https://example.com --fail-on=critical
variables:
SITECURL_API_KEY: $SITECURL_API_KEY
Audit categories
SiteCurl scans 7 categories: SEO, speed, security, accessibility, technical health, uptime, and AI readiness.
Rate limits
API rate limits apply to all MCP and CLI requests:
| Pro | 100 requests/hour |
| Studio | 1,000 requests/hour |
See sitecurl.com/docs/api for details.
Environment variables
SITECURL_API_KEY | Yes | Your SiteCurl API key (sc_live_...) |
SITECURL_API_URL | No | Override API endpoint (default: https://sitecurl.com) |
License
MIT