mapsmcp is a Streamable-HTTP MCP server. Add it to any MCP client with one config block + an API key. Free tier (50 calls / month, no card) is fine to evaluate.
Visit mapsmcp.com / #signup. You'll get a key shown once at sign-up. Save it. Free tier includes 50 standard calls / month + 0 premium calls. Upgrade later via /pricing.
Edit your config at ~/Library/Application Support/Claude/claude_desktop_config.json
(macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"mapsmcp": {
"type": "http",
"url": "https://mapsmcp.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
Restart Claude Desktop. mapsmcp shows up in the tool picker. Try a question like "Make a county-level map of 2024 presidential margin and publish it as an iframe."
Skills are reusable agent instructions that auto-trigger when a user's request matches. The mapsmcp skill knows which tool to reach for in any geographic-data prompt. Install:
# Install the Claude Skill (Claude Desktop / Cowork)
mkdir -p ~/.claude/skills/mapsmcp
curl -fsSL https://mapsmcp.com/.claude/skills/mapsmcp/SKILL.md \
-o ~/.claude/skills/mapsmcp/SKILL.md
Restart Claude Desktop. The skill auto-loads. For team-wide install, drop the same file under
~/.claude/projects/<project>/skills/mapsmcp/SKILL.md or distribute via your
Cowork workspace's skill marketplace.
The skill is also available at /.claude/skills/mapsmcp/SKILL.md
as a static file, version-pinned to this deploy.
Same shape as Claude Desktop but lives in the editor's MCP settings (look for "MCP servers"
in preferences). Cursor reads ~/.cursor/mcp.json:
{
"mcpServers": {
"mapsmcp": {
"url": "https://mapsmcp.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
Cline / Zed / Continue: same JSON, different config path; check the editor's MCP docs.
If you're building an agent app instead of using a chat client, the Anthropic SDK speaks MCP
natively. Pass mapsmcp as an mcp_servers entry on messages.create:
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
const message = await client.messages.create({
model: "claude-opus-4-7",
max_tokens: 4096,
mcp_servers: [
{
type: "url",
url: "https://mapsmcp.com/mcp",
name: "mapsmcp",
authorization_token: process.env.MAPSMCP_API_KEY,
},
],
messages: [{ role: "user", content: "Map 2024 county presidential margin." }],
});
Python equivalent uses the same field names via anthropic.Anthropic().messages.create.
The transport is plain Streamable-HTTP JSON-RPC. Useful for one-off scripts or to debug.
curl -X POST https://mapsmcp.com/mcp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Once connected, ask your client to list the tools. You should see 100+ entries grouped by: shape collections + versions, geocoding + address lookup, dataset ingestion, Census + curated public ingestors, spatial analysis (isochrone, hotspot, voronoi, intersect), rendering (choropleth, bivariate, dot-density, hex tilemap), citation-grade composition (classify_*, query_*, create_map_view, publish_map), webhooks, billing, child workspaces.
Full catalog at mapsmcp.com / #tools.
If you maintain an MCP directory or registry, scrape /.well-known/mcp.json for
the machine-readable manifest (server name, transport URL, auth method, capabilities,
featured tools, examples, skill URL).
curl https://mapsmcp.com/.well-known/mcp.json
submit_ticket MCP tool from
any client, or email [email protected].