CS
CrimeScore
MCP · Model Context Protocol

Add crime intelligence to your AI assistant.

CrimeScore connects to any MCP-compatible AI via a single HTTP endpoint. No RAG pipeline. No retrieval layer. One tool. Deterministic results.

bash
claude mcp add --transport http crimescore \
  https://mcp.crimescore.info/mcp \
  --header "Authorization: Bearer YOUR_TOKEN"

What you get

published_score

The one tool

Query crime scores for any US ZIP code or county FIPS code.

Input

region_code

ZIP or county FIPS

Output

percentile

national_rank

state_rank

Coverage

41,700+ ZIPs

Monthly snapshots

Setup in 60 seconds

Claude Code (CLI)

bash
claude mcp add --transport http crimescore \
  https://mcp.crimescore.info/mcp \
  --header "Authorization: Bearer YOUR_TOKEN"

Claude Desktop

Add to your claude_desktop_config.json:

json
{
  "mcpServers": {
    "crimescore": {
      "type": "http",
      "url": "https://mcp.crimescore.info/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN"
      }
    }
  }
}

Direct API (curl)

bash
curl -X POST https://mcp.crimescore.info/mcp \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "published_score",
      "arguments": { "region_code": "10001" }
    }
  }'

JavaScript / Node.js

javascript
const res = await fetch('https://mcp.crimescore.info/mcp', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_TOKEN',
  },
  body: JSON.stringify({
    jsonrpc: '2.0',
    id: 1,
    method: 'tools/call',
    params: {
      name: 'published_score',
      arguments: { region_code: '10001' },
    },
  }),
})

const { result } = await res.json()
const scores = JSON.parse(result.content[0].text)
console.log(scores[0].percentile) // e.g. 62.4

Python

python
import requests, json

resp = requests.post(
    "https://mcp.crimescore.info/mcp",
    headers={
        "Content-Type": "application/json",
        "Authorization": "Bearer YOUR_TOKEN",
    },
    json={
        "jsonrpc": "2.0",
        "id": 1,
        "method": "tools/call",
        "params": {
            "name": "published_score",
            "arguments": {"region_code": "10001"},
        },
    },
)

scores = json.loads(resp.json()["result"]["content"][0]["text"])
print(scores[0]["percentile"])  # e.g. 62.4

Sample Queries

Once connected to Claude or another MCP-compatible AI, ask naturally:

What's the crime score for ZIP 21201?

Compare crime levels in 90210 and 10001.

What is the crime percentile for county FIPS 24510?

How dangerous is the neighborhood around ZIP 60601?

Rank these ZIPs by crime: 21201, 21215, 21210.

Coverage

~41,700

US ZIP codes (ZCTAs)

60M+

Crime incidents in dataset

Monthly

Score update cadence

Get a Token

Demo tokens are available for testing with ZIP codes 21201–21231. Production tokens provide access to all ~41,700 ZIP codes.

Request a token → feedback@spotcrime.com

Interactive test console available at mcp.crimescore.info

Open console →