Docs · MCP setup

Connecting Claude / Cursor / SDK to mapsmcp

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.

1. Get an API key

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.

2. Claude Desktop

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."

3. Claude Skill (Cowork-ready)

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.

4. Cursor / Cline / Zed / Continue

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.

5. Anthropic Agent SDK (TypeScript / Python)

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.

6. Raw cURL / any HTTP client

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"}'

7. First call: "list tools"

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.

8. Discovery — registry manifest

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
Questions? Open a ticket via the submit_ticket MCP tool from any client, or email [email protected].