Live · Powered by SpotCrime

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.

13,000+
U.S. ZIP codes scored
60M+
SpotCrime incidents behind it
1 tool
published_score
Monthly
Score snapshots

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_scoreLive

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

Input
published_score({ "region_code": "21201" })

// region_code: a U.S. ZIP or county FIPS code
Structured output
{
  "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 CodeClaude DesktopCursorWindsurfLangChainLlamaIndexAutoGenAny MCP-compliant runtime
Claude Code (CLI)
claude mcp add --transport http crimescore \
  https://mcp.crimescore.info/mcp \
  --header "Authorization: Bearer YOUR_TOKEN"
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": "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.

1published_score(zip)
2→ rank by percentile
3→ report to buyer
🛡️

Executive Protection

Pre-trip brief agent scores the ZIPs on a principal's itinerary and generates a citable risk summary.

1published_score(zip)
2→ tier the stops
3→ trip brief
📊

Insurance Underwriting

Underwriting agent scores hundreds of policy ZIPs in one loop; percentiles feed straight into risk models.

1published_score × N
2→ risk tier
3→ pricing model
🏢

Site Selection

CRE agent compares candidate locations by ZIP-level crime percentile, surfacing risk without analyst hours.

1published_score × sites
2→ compare
3→ recommend
🤖

Multi-Agent Pipelines

The tool is stateless and deterministic — plug it into any agent graph as a grounding node with nothing to manage.

1orchestrator agent
2→ published_score
3→ downstream tools
🔍

RAG Augmentation

Augment retrieval with a hard number. When an agent answers 'how safe is this area?' it cites a national percentile.

1retrieval layer
2+ published_score
3→ grounded answer
Live at mcp.crimescore.info

Add 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 →

Related surfaces