53 local SEO data tools: rankings, reviews, audits, keywords, AI visibility.
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
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y @localseodata/mcp-serverMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-localseodata-mcp-server": {
"command": "npx",
"args": [
"-y",
"@localseodata/mcp-server"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup reference@localseodata/mcp-servernpmio.github.localseodata/mcp-server works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.