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

13,000+ ZIPs

Monthly snapshots

API access is subject to our Terms of Use: tokens are read-only and revocable, scores may be used in your own products with attribution, and the underlying data may not be redistributed as a dataset.

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

Ask an AI to explain the connector

Opens a new chat that reads this page and explains it in plain English. Needs an account with that assistant.

“Read https://crimescore.info/developers and https://crimescore.info/methodology, then explain what the CrimeScore MCP connector does, how to connect it to an AI assistant, and what the data can and cannot tell me.”

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

13,000+

US ZIP codes scored, growing monthly

60M+

Crime incidents in dataset

Monthly

Score update cadence

Get a Token

Browsing scores on this site is free and needs no token. Tokens are for programmatic and AI-assistant access: demo tokens work for ZIP codes 21201–21231 so you can test the connector, and production tokens cover every scored ZIP code and county, 13,000+ ZIPs and growing monthly.

Request a token →

Interactive test console available at mcp.crimescore.info

Open console →