Early Access · General availability September 2026

SpotCrime MCP Server
Crime Intelligence as a Native Agent Tool

An early-access MCP server that exposes SpotCrime's real-time crime incident data as a first-class tool call — query incidents by location, straight inside your agent loop. No RAG pipeline to maintain. No retrieval layer to tune. No prompt engineering around unstructured HTTP.

Agents query structured, citable incident data. A neighborhood safety-score tool is on the roadmap. The SpotCrime Harness handles the wiring.

22,000+
U.S. cities covered
500M+
Incident records
90 days
Rolling incident window
0
Orchestration layers needed

The agentic difference

Agents don't use APIs.
They use tools.

A REST endpoint requires your orchestration layer to construct requests, parse responses, handle errors, and translate raw JSON into something a model can reason over. That's latency, token overhead, and hallucination surface — before your agent does any actual work.

An MCP tool is different. It lives natively inside the model's context window. Your agent calls get_crime_incidents mid-reasoning — inline, without leaving the agent loop — and receives a structured, citable array. No parsing step. No intermediate representation. No prompt engineering required.

When an agent asks "which of these 12 locations has recent reported crime?" — it doesn't fetch 12 URLs and summarize. It calls get_crime_incidents twelve times in parallel, compares the results, and answers with attributable incidents. Grounded. Zero hallucination surface on the data layer.

Traditional REST path
1. Construct HTTP request
2. Parse JSON response
3. Handle errors / retries
4. Translate to model context
5. Hope model interprets correctly
MCP native tool call
get_crime_incidents({ lat: 39.4, lon: -76.6, radius: 0.02 })
→ [ { type, date, lat, lon, description }, … ]
Done. Agent continues reasoning.

The tool manifest

Query by location. Nationwide coverage.

The incident tool is in early access today; a safety-score tool is on the roadmap. Both are designed for agentic workloads — stateless, inference-ready output, safe to parallelize and chain.

get_crime_incidentsEarly Access

Returns a structured array of recent crime incidents near a location (latitude/longitude + radius) — type, date, coordinates, and description.

Wraps SpotCrime's live incident API as a native tool call. Returns discrete, attributable events from a rolling 90-day window — citation-grade data your model can surface in answers, reports, or downstream tool calls without hallucination risk. Stateless and safe to parallelize across many locations.

Tool call
get_crime_incidents({ "lat": 39.402, "lon": -76.604, "radius": 0.02 })
Structured output — grounded, citable, attribution-safe
[
  {
    "type": "Theft",
    "date": "2026-08-09",
    "lat": 39.402,
    "lon": -76.604,
    "description": "Theft from vehicle"
  },
  {
    "type": "Assault",
    "date": "2026-08-07",
    "lat": 39.398,
    "lon": -76.601,
    "description": "Aggravated assault"
  }
]
get_safety_scoreOn the roadmap

A 0–100 neighborhood safety score for a location. Planned — not part of the current early-access build.

A forthcoming tool that will return a single, model-ready safety score for a lat/lon, percentile-ranked nationally. It is on the roadmap and not yet callable; the shape below is illustrative. Follow early access for availability.

Planned tool call
get_safety_score({ "lat": 39.402, "lon": -76.604 })
Planned output shape (illustrative — not yet live)
{ "lat": 39.402, "lon": -76.604, "score": 74 }

Integration

The SpotCrime Harness

The SpotCrime Harness is the developer integration layer that wires the MCP server into your agent runtime — managing authentication, schema validation, response formatting, and rate-limit awareness so your model receives clean, inference-ready output from the first call.

One config block. No orchestration middleware. No custom tool wrappers. No glue code between your agent loop and the data layer.

From zero to first tool call in under 60 seconds. The harness ships with local test tooling so you can validate get_crime_incidents output before connecting to a production agent.

Compatible runtimes

Claude DesktopCursorWindsurfLangChainLlamaIndexAutoGenOpenAI Agents SDKAny MCP-compliant runtime
claude_desktop_config.json
Claude Desktop
{
  "mcpServers": {
    "spotcrime": {
      "command": "npx",
      "args": ["@spotcrime/mcp-server"],
      "env": {
        "SPOTCRIME_API_KEY": "your-key-here"
      }
    }
  }
}
.cursor/mcp.json · .windsurf/mcp.json
Cursor · Windsurf
{
  "spotcrime": {
    "command": "npx",
    "args": ["@spotcrime/mcp-server"],
    "env": {
      "SPOTCRIME_API_KEY": "your-key-here"
    }
  }
}

Agent use cases

What agents build with this

Every use case here is a chain of tool calls — not a prompt asking a model to guess.

🏠

Real Estate AI

Agent pulls recent incidents for every candidate area, ranks listings by recent activity, and flags hotspots automatically. No human lookup required.

1get_crime_incidents(lat, lon)
2→ rank & filter
3→ report to buyer
🛡️

Executive Protection

Pre-trip brief agent retrieves incidents along a principal's itinerary and route corridors, then generates citation-grade risk summaries.

1get_crime_incidents(lat, lon)
2→ route corridors
3→ trip brief
📊

Insurance Underwriting

Autonomous underwriting agent pulls incident history for 500 policy addresses in a single batch loop. Structured output feeds directly into risk models.

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

Site Selection

CRE agent compares candidate sites across geographies. Incident density across locations surfaces risk concentration without analyst hours.

1get_crime_incidents × sites
2→ compare
3→ recommend
🤖

Multi-Agent Pipelines

SpotCrime tools are chain-safe and stateless. Plug get_crime_incidents into any agent graph as a grounding node — no state to manage.

1orchestrator agent
2→ get_crime_incidents
3→ downstream tools
🔍

RAG Augmentation

Augment retrieval with structured incidents. When a retrieval-augmented agent answers 'what's been reported here?' — it cites discrete events, not a paragraph.

1retrieval layer
2+ get_crime_incidents
3→ grounded answer
Early Access · In Active Development

Building an agentic application with location risk?

Early access is open to teams integrating crime intelligence into agent pipelines — real estate AI, executive protection platforms, autonomous insurance underwriting, multi-agent travel safety, and LLM-powered site selection.

Tell us what you're building. We prioritize agent-native integrations.

Want the backstory? Read: how the SpotCrime MCP server works →

All machine surfaces