Docs›MCP Server
MCP Server
The BobBuilds MCP server exposes your workspace as a set of tools usable directly from Claude Desktop, Cursor, Windsurf, or any MCP-compatible client. Run scans, query visibility data, configure prompts, and get GEO recommendations — all through natural language.
Installation
Build the MCP server from the BobBuilds monorepo:
git clone https://github.com/bobbuilds/bobbuilds
cd bobbuilds
pnpm install
pnpm --filter @bobbuilds/mcp buildThe compiled output will be at apps/mcp/dist/index.js.
Authentication
The server requires a BOBBUILDS_API_KEY environment variable. Generate one from your dashboard under Settings → API Keys.
BOBBUILDS_API_KEY=bb_your_key_hereClaude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"bobbuilds": {
"command": "node",
"args": ["/path/to/bobbuilds/apps/mcp/dist/index.js"],
"env": {
"BOBBUILDS_API_KEY": "bb_your_key_here"
}
}
}
}Cursor
Open Settings → MCP and add:
{
"bobbuilds": {
"command": "node",
"args": ["/path/to/bobbuilds/apps/mcp/dist/index.js"],
"env": {
"BOBBUILDS_API_KEY": "bb_your_key_here"
}
}
}Tool Reference
14 tools across 5 categories. All tools are scoped to your workspace automatically.
Scans
run_scanTrigger a brand visibility scan across all connected AI providers (ChatGPT, Gemini, Perplexity, Claude, Google AI Overview). Returns a jobId to poll for status.
No parameters required.
get_scan_statusPoll the progress of a running scan. Call every few seconds until status is 'completed'.
Parameters
jobIdstringrequiredThe jobId returned by run_scanstop_providerStop a specific AI provider mid-scan.
Parameters
jobIdstringrequiredThe jobId of the running scanproviderenumrequiredProvider to stop: chatgpt | gemini | perplexity | claude | ai-overviewWorkspace
get_workspaceGet workspace details: name, domain, schedule, and enabled providers.
No parameters required.
get_scheduleGet the cron schedule for automatic scans (e.g. '0 9 * * *' for daily at 9am).
No parameters required.
set_scheduleSet or clear the cron schedule for automatic scans. Pass null to disable.
Parameters
schedulestring | nullrequiredCron expression (e.g. '0 9 * * *') or null to disableget_providersGet the list of AI providers currently enabled for this workspace.
No parameters required.
set_providersUpdate which AI providers are enabled for scans.
Parameters
enabledProvidersstring[]requiredArray of provider identifiers to enablePrompts
store_promptsSave one or more prompts to the workspace. These are the questions asked to AI providers during scans.
Parameters
promptsstring[]requiredArray of prompt strings to storeget_promptsList all configured prompts for the workspace.
No parameters required.
get_prompt_sourcesFetch aggregated source and citation data — which URLs are cited by AI providers in response to your prompts.
No parameters required.
Analysis
analyze_metricsRun AI analysis on all unanalyzed prompt responses. Extracts brand mention scores, sentiment, citations, and ranking.
Parameters
analyzeAllbooleanRe-analyze all responses, not just new ones (default: true)get_analysisFetch all analysis records for the workspace — brand scores, sentiment, citation counts, provider breakdowns.
No parameters required.
GEO Advisor
geo_chatChat with the GEO advisor agent. Ask questions about your brand's AI visibility and get actionable recommendations.
Parameters
messagesarrayrequiredConversation history: [{role: "user" | "assistant", content: string}]brandNamestringrequiredName of the brand to analyzecrawl_brandCrawl a brand's website to build brand memory used by the GEO advisor.
Parameters
brandNamestringrequiredBrand namedomainstringrequiredBrand domain, e.g. 'acme.com'get_brand_memoryGet the stored brand memory summary, key claims, and tone used by the GEO advisor.
No parameters required.
get_recommendationsGenerate GEO optimization recommendations based on current AI visibility data.
Parameters
brandNamestringrequiredBrand namebrandDomainstringrequiredBrand domain, e.g. 'acme.com'