
Connects your AI assistant to Local SEO Data's REST API with 42 tools for local search intelligence. You get SERP snapshots (local pack, organic, Maps, Local Services Ads), Google Business Profile data including reviews and Q&A, keyword research with volume and suggestions, competitive gap analysis, citation and reputation audits, geogrid ranking scans, and AI visibility scoring across LLM outputs. Authentication happens via API key in the URL parameter, and each call consumes credits from your Local SEO Data account at roughly half a cent per request. Runs as a streamable HTTP server, so no local process needed. Useful when you're analyzing local rankings, auditing NAP consistency, or researching keywords for location based businesses without leaving your editor.
Model Context Protocol server for Local SEO Data. It gives AI assistants 53 local SEO data tools: SERP and map rankings, reviews, audits, keyword research, competitor analysis, geogrid tracking, and AI visibility scoring.
Connect once, then ask questions in plain English. Your assistant picks the right tools.
https://mcp.localseodata.com/mcp (streamable HTTP)Add https://mcp.localseodata.com/mcp as a connector in your client and click Connect. You'll be asked to sign in to Local SEO Data (or create an account) and approve access. You don't need to copy an API key.
Local SEO Data) and the URL https://mcp.localseodata.com/mcp.claude mcp add localseodata --transport http https://mcp.localseodata.com/mcp --scope user
Then run /mcp in Claude Code, select localseodata, and choose Authenticate.
Add a custom connector or remote MCP server with the URL https://mcp.localseodata.com/mcp and click Connect. Any client that supports MCP authorization will start the sign-in flow on its own.
If your client can't do OAuth, pass an API key in the URL instead:
sk_live_.https://mcp.localseodata.com/mcp?key=YOUR_API_KEY as the server URL.Example configs:
Cursor (.cursor/mcp.json or ~/.cursor/mcp.json)
{
"mcpServers": {
"localseodata": {
"url": "https://mcp.localseodata.com/mcp?key=YOUR_API_KEY"
}
}
}
VS Code (GitHub Copilot) (.vscode/mcp.json)
{
"servers": {
"localseodata": {
"type": "http",
"url": "https://mcp.localseodata.com/mcp?key=YOUR_API_KEY"
}
}
}
Windsurf (~/.codeium/windsurf/mcp_config.json)
{
"mcpServers": {
"localseodata": {
"serverUrl": "https://mcp.localseodata.com/mcp?key=YOUR_API_KEY"
}
}
}
Cline: Settings → MCP Servers → Add Remote Server, with the URL https://mcp.localseodata.com/mcp?key=YOUR_API_KEY.
You can create or revoke keys at any time in the API Keys dashboard. Treat a URL that contains your key like a password.
53 tools in total:
| Category | Tools |
|---|---|
| SERP data | local_pack, organic_serp, maps, local_finder, local_services_ads, ai_overview, ai_mode |
| Other platforms | apple_maps, apple_business_profile, bing_local, bing_business_profile |
| AI visibility | ai_mentions, ai_visibility, ai_compare, ai_top_sources, ai_top_pages, ai_keyword_data, ai_llm_response, ai_scraper, ai_sample, ai_sample_status, ai_match |
| Business data | business_profile, profile_health, qa, business_listings, google_reviews, review_velocity, multi_platform_reviews |
| Keyword research | search_volume, keyword_overview, keyword_suggestions, related_keywords, keywords_for_site, keyword_trends |
| Audits | local_audit, citation_audit, reputation_audit, page_audit |
| Competitive intel | competitor_ads, brand_mentions, backlink_summary, backlink_gap |
| Reports | competitor_gap, local_authority, keyword_opportunities |
| Geogrid | geogrid_scan, geogrid_status |
| Locations | location_search |
| Account / utility | get_balance, history_search, history_get, ping |
AI visibility tools report on ChatGPT, Gemini, Perplexity, Claude and Google's AI Overviews and AI Mode. Each tool's description lists its credit cost, and the server sends your assistant instructions on which tool fits which question.
MCP calls use credits from your Local SEO Data account, the same as REST API calls. get_balance, location_search, ping, geogrid_status, ai_sample_status, history_search and history_get are free. See localseodata.com/pricing for plans, and check usage in your dashboard.
git clone https://github.com/localseodata/mcp-server.git
cd mcp-server
npm ci
npm run build
npm start
The server listens on port 3003 by default (PORT changes it) and serves MCP at /mcp, with a health check at /health. Clients authenticate with ?key=YOUR_API_KEY or an Authorization: Bearer header. A Dockerfile is included.
Optional environment variables:
| Variable | Default | Purpose |
|---|---|---|
API_BASE_URL | https://api.localseodata.com | Local SEO Data API the tools call |
PORT | 3003 | HTTP port |
OAUTH_ENABLED | false | Advertise OAuth and accept OAuth access tokens |
OAUTH_ISSUER | https://localseodata.com | Authorization server |
MCP_RESOURCE_URL | https://mcp.localseodata.com/mcp | This server's public URL, used in OAuth metadata |
OAuth access tokens are only accepted by the API from the hosted server, so a self-hosted copy should use API keys.
For clients that launch a local process:
npm ci && npm run build
LOCALSEODATA_API_KEY=sk_live_... node dist/stdio.js
npm run dev # Watch mode
npm run typecheck # Type check
npm test # Run tests
npm run build # Compile to dist/
MIT