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.
claude mcp add --transport http crimescore \ https://mcp.crimescore.info/mcp \ --header "Authorization: Bearer YOUR_TOKEN"
What you get
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)
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:
{
"mcpServers": {
"crimescore": {
"type": "http",
"url": "https://mcp.crimescore.info/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}Direct API (curl)
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
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.4Python
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.4Ask 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 →