BearScan’s MCP server is at https://mcp.bearscan.app. It speaks Streamable HTTP and takes your API key as a bearer token, so a coding agent can scan a site, read every issue with its fix, and work through them in your repository.
Get a key
Create one on the API keys page. It’s shown once; keep it in an environment variable or your client’s secret store, not in a file you commit.
Claude Code
claude mcp add --transport http bearscan https://mcp.bearscan.app \
--header "Authorization: Bearer $BEARSCAN_API_KEY"Cursor
// ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
"mcpServers": {
"bearscan": {
"url": "https://mcp.bearscan.app",
"headers": { "Authorization": "Bearer bs_live_..." }
}
}
}VS Code
VS Code asks for the key the first time and stores it as a secret.
// .vscode/mcp.json
{
"servers": {
"bearscan": {
"type": "http",
"url": "https://mcp.bearscan.app",
"headers": { "Authorization": "Bearer ${input:bearscan-key}" }
}
},
"inputs": [
{ "id": "bearscan-key", "type": "promptString", "description": "BearScan API key", "password": true }
]
}Claude Desktop
Claude Desktop’s connectors sign in with OAuth, which BearScan doesn’t offer yet. Until it does, connect through the mcp-remote bridge, which runs locally and adds the header:
// claude_desktop_config.json
{
"mcpServers": {
"bearscan": {
"command": "npx",
"args": [
"-y", "mcp-remote", "https://mcp.bearscan.app",
"--header", "Authorization: Bearer ${BEARSCAN_API_KEY}"
],
"env": { "BEARSCAN_API_KEY": "bs_live_..." }
}
}
}ChatGPT and claude.ai
Their custom connectors require OAuth and can’t send an API key, so they can’t connect yet. Use the REST API from an agent that can.
Tools
scan_site: Starts a scan of a website and returns its id. Poll get_scan until it's complete.get_scan: A scan's status and its issue counts by severity.get_findings: Every issue a finished scan found, most severe first, with the pages it's on, how to fix it, and a prompt for a coding agent.get_report_markdown: The whole scan as one Markdown file, written for an agent to work through in a repository.
A key sees only its own workspace’s sites and scans. Free scans and paid reports have the same limits as in the dashboard.