Crime data for AI agents
via the CrimeScore MCP
SpotCrime's crime data reaches MCP-compatible agents through CrimeScore, a companion service that turns SpotCrime incident data into a single, model-ready crime score for any U.S. ZIP or county. One HTTP endpoint. One tool. Deterministic results — no RAG pipeline, no retrieval layer.
The MCP server is hosted and operated by CrimeScore at mcp.crimescore.info. SpotCrime supplies the underlying crime data.
The tool manifest
One tool. Score by region.
The CrimeScore MCP exposes a single deterministic tool. Give it a region code; get back a national percentile and rank. Stateless, cacheable, and safe to call across many regions.
published_scoreLiveQuery the published crime score for any U.S. ZIP code or county FIPS code.
Returns where the region ranks against every scored U.S. region — a national percentile plus national and state rank — from the most recent monthly snapshot. Scores are derived from SpotCrime incident data.
published_score({ "region_code": "21201" })
// region_code: a U.S. ZIP or county FIPS code{
"region_code": "21201",
"percentile": 99.4,
"national_rank": 41,
"state_rank": 1
}Output shape shown for illustration. See crimescore.info/developers for the authoritative schema.
Setup in 60 seconds
Connect any MCP client
The server speaks the standard streamable-HTTP MCP transport and authenticates with a Bearer token. Point your client at https://mcp.crimescore.info/mcp and you're done — no package to install, no local process to run.
Tokens are read-only and revocable. Request one at crimescore.info.
Compatible runtimes
claude mcp add --transport http crimescore \ https://mcp.crimescore.info/mcp \ --header "Authorization: Bearer YOUR_TOKEN"
{
"mcpServers": {
"crimescore": {
"type": "http",
"url": "https://mcp.crimescore.info/mcp",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
}
}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": "21201" }
}
}'Agent use cases
What agents build with a crime score
Each of these is a chain of deterministic tool calls — a grounded score, not a guess.
Real Estate AI
Agent scores every candidate ZIP, ranks listings by percentile, and flags high-crime areas automatically.
published_score(zip)→ rank by percentile→ report to buyerExecutive Protection
Pre-trip brief agent scores the ZIPs on a principal's itinerary and generates a citable risk summary.
published_score(zip)→ tier the stops→ trip briefInsurance Underwriting
Underwriting agent scores hundreds of policy ZIPs in one loop; percentiles feed straight into risk models.
published_score × N→ risk tier→ pricing modelSite Selection
CRE agent compares candidate locations by ZIP-level crime percentile, surfacing risk without analyst hours.
published_score × sites→ compare→ recommendMulti-Agent Pipelines
The tool is stateless and deterministic — plug it into any agent graph as a grounding node with nothing to manage.
orchestrator agent→ published_score→ downstream toolsRAG Augmentation
Augment retrieval with a hard number. When an agent answers 'how safe is this area?' it cites a national percentile.
retrieval layer+ published_score→ grounded answerAdd a crime score to your AI assistant
Get a read-only token, point your MCP client at the endpoint, and start scoring regions in minutes. Scores may be used in your own products with attribution; the underlying data may not be redistributed as a dataset — see CrimeScore's terms.
Looking for SpotCrime's own incident API (query by lat/lon)? See the SpotCrime API docs →