# CrimeMetric

> Crime rates for any U.S. address: block-group indexes, city profiles and incident records.

- name: com.crimemetric/crime-index
- version: 2.0.0
- connection class: R0 (autonomous)
- trust: 96/100
- quality: 82/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.crimemetric%2Fcrime-index
- tools: https://api.protogrid.dev/v1/servers/com.crimemetric%2Fcrime-index/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "crime-index": {
      "type": "http",
      "url": "https://api.crimemetric.com/mcp",
      "headers": {
        "Authorization": "Bearer ${CRIME_INDEX_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${CRIME_INDEX_TOKEN}`.

## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% +updated-2d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 82/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: 100 (weight 15)

- pass `auth.prm`: Protected Resource Metadata (RFC 9728) published
- pass `auth.as_metadata`: authorization server metadata reachable
- pass `auth.cimd`: Client ID Metadata Documents supported
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 94 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 11 of 11 tools declare readOnlyHint or destructiveHint
- warn `tools.directory_hints`: 1 of 11 tools declare all four hints; missing: incident_stats (destructiveHint, idempotentHint); find_places (destructiveHint, idempotentHint); crime_definitions (destructiveHint, idempotentHint); …
- pass `tools.token_cost`: about 2,295 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump
- pass `tools.hidden_text`: no hidden text in tool names, descriptions, schemas or annotations

### stability: 50 (weight 15)

- warn `stability.changes`: 21 tool changes in 30 days
- fail `stability.rug_pull`: 2 tools kept their name but changed most of their description in 30 days; review before trusting them
- pass `stability.new_links`: no tool change named a new site

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 11, about 2,295 tokens to load them all
- tool set hash: 68118aef48e55c2738fcd305b6d5d6d7
- tools last changed: 2026-11-13T05:46:19.049Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.crimemetric/crime-index.svg)](https://protogrid.dev/servers/com.crimemetric/crime-index)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-11-13 `save_profile` changed (description) **meaning changed**
  - before: Save what the user uses CrimeMetric for and the places they care about, so later answers fit. Replaces the saved profile. Leave out names, phone numbers and other personal details. Not counted as a lookup.
  - after: Stores what the user uses CrimeMetric for: a use case, a short description and up to 10 places, replacing any saved profile. It holds use cases and places, not names, phone numbers or other personal details. Not counted as a lookup.
- 2026-11-13 `data_coverage` changed (description)
  - before: Which police agencies publish records near a point, which record types, and how fresh (last 90 days, within 1 km). Free, no key needed. Use it before reading too much into a low count.
  - after: Which police agencies publish records around a point, which record types, and how recent, with the record count (default: the last 90 days within 500 m; up to 92 days and 1 km). Free, no key needed.
- 2026-11-13 `incident_stats` changed (inputSchema)
- 2026-11-13 `nearby_incidents` changed (description, inputSchema)
  - before: Police-published incident records around an address or point, newest first: what, when, block-level address, type, record type and source, typed as crimemetric.com's city pages type them. Sensitive cases come without a location. Calls (calls for service, and records that read as calls) are left out unless include_calls is true. The full list is on the Developer and Business plans. On the free plan it returns a preview instead (preview: true): the 5 newest records from the last 90 days in the 1 km grid square that contains the point, with date, type, record type and agency only, plus counts by type; sexual, domestic and juvenile cases are left out, radius, limit, dates and filters are ignored, and cursor is refused. Say it's a preview when you use it.
  - after: Police-published incident records around an address or point, newest first: what, when, block-level address, type, record type and source, typed as crimemetric.com's city pages type them. Sensitive cases come without a location. Calls (calls for service, and records that read as calls) are left out unless include_calls is true. The full list is on the Developer and Business plans. On the free plan it returns a preview instead (preview: true): the 5 newest records from the last 90 days in the 1 km grid square that contains the point, with date, type, record type and agency only, plus counts by type; sexual, domestic and juvenile cases are left out, radius, limit, dates and filters are ignored, and cursor is refused.
- 2026-11-13 `place_block_groups` changed (description, inputSchema)
  - before: Every census block group inside a place with its index for one measure (default total_major), 80% interval, percentile and confidence. Use it to describe how crime varies across a city.
  - after: Every census block group inside a place with its index for one measure (default total_major), 80% interval, percentile and confidence, showing how crime varies across a city.
- 2026-11-13 `place_profile` changed (inputSchema)
- 2026-11-13 `find_places` changed (description)
  - before: Search U.S. cities, towns and CDPs by name (and state), largest first. Free, no key needed. Returns place_id values for place_profile and place_block_groups.
  - after: Search U.S. cities, towns and CDPs by name (and state), largest first. Free, no key needed. Returns each match's place_id (such as 'tx/houston'), geoid, name, state, type, residents, county_geoid and total_major_index.
- 2026-11-13 `crime_index_batch` changed (description, inputSchema) **meaning changed**
  - before: crime_index for up to 10 locations at once; each successful one counts as a call. Developer and Business plans; on the free plan, call crime_index once per location.
  - after: Crime indexes for up to 10 U.S. locations in one call, each with the same fields as a single lookup; each location that succeeds counts as one lookup. Developer and Business plans only.
- 2026-11-13 `crime_index` changed (description)
  - before: Crime indexes for the 2020 census block group at a U.S. location. Pass exactly one of: address, lat and lon, or bg_geoid (12 digits). Returns 16 crimes and four summaries with expected annual counts, indexes (100 = U.S. rate per resident), 80% intervals, confidence, national percentiles, city and county comparisons, and notes.
  - after: Crime indexes for the 2020 census block group at a U.S. location. The location is one of: address, lat and lon, or bg_geoid (12 digits). Returns 16 crimes and four summaries with expected annual counts, indexes (100 = U.S. rate per resident), 80% intervals, confidence, national percentiles, city and county comparisons, and notes.
- 2026-11-12 `nearby_incidents` changed (description)
  - before: Police-published incident records around an address or point, newest first: what, when, block-level address, type, record type and source, typed as crimemetric.com's city pages type them. Sensitive cases come without a location. Calls (calls for service, and records that read as calls) are left out unless include_calls is true. Developer and Business plans; on the free plan, use incident_stats for counts.
  - after: Police-published incident records around an address or point, newest first: what, when, block-level address, type, record type and source, typed as crimemetric.com's city pages type them. Sensitive cases come without a location. Calls (calls for service, and records that read as calls) are left out unless include_calls is true. The full list is on the Developer and Business plans. On the free plan it returns a preview instead (preview: true): the 5 newest records from the last 90 days in the 1 km grid square that contains the point, with date, type, record type and agency only, plus counts by type; sexual, domestic and juvenile cases are left out, radius, limit, dates and filters are ignored, and cursor is refused. Say it's a preview when you use it.

Full history: https://api.protogrid.dev/v1/servers/com.crimemetric%2Fcrime-index/changes

## Remotes

- https://api.crimemetric.com/connect (streamable-http, auth oauth2, reachable true, uptime30d 0.8333333)
- https://api.crimemetric.com/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (11)

- `account_status`: Your CrimeMetric plan, this month's lookups and limits, what the plan includes, and what you told CrimeMetric you use it for. Needs a key or a connected account. Not counted as a lookup.
- `crime_definitions`: What every crime, summary, record type and license class means, plan limits, and the usage rules. Free.
- `crime_index`: Crime indexes for the 2020 census block group at a U.S. location. The location is one of: address, lat and lon, or bg_geoid (12 digits). Returns 16 crimes and four summaries with expected annual counts, indexes (100 = U.S. rate per resident), 80% intervals, confidence, national percentiles, city and county comparisons, and notes.
- `crime_index_batch`: Crime indexes for up to 10 U.S. locations in one call, each with the same fields as a single lookup; each location that succeeds counts as one lookup. Developer and Business plans only.
- `data_coverage`: Which police agencies publish records around a point, which record types, and how recent, with the record count (default: the last 90 days within 500 m; up to 92 days and 1 km). Free, no key needed.
- `find_places`: Search U.S. cities, towns and CDPs by name (and state), largest first. Free, no key needed. Returns each match's place_id (such as 'tx/houston'), geoid, name, state, type, residents, county_geoid and total_major_index.
- `incident_stats`: Counts of police-published records around a point by type and record type, by month, and against the same-length period before, with the sources behind them. Counts describe published records, not all crime.
- `nearby_incidents`: Police-published incident records around an address or point, newest first: what, when, block-level address, type, record type and source, typed as crimemetric.com's city pages type them. Sensitive cases come without a location. Calls (calls for service, and records that read as calls) are left out unless include_calls is true. The full list is on the Developer and Business plans. On the free plan it returns a preview instead (preview: true): the 5 newest records from the last 90 days in the 1 km grid square that contains the point, with date, type, record type and agency only, plus counts by type; sexual, domestic and juvenile cases are left out, radius, limit, dates and filters are ignored, and cursor is refused.
- `place_block_groups`: Every census block group inside a place with its index for one measure (default total_major), 80% interval, percentile and confidence, showing how crime varies across a city.
- `place_profile`: City-level crime indexes for a place: four summaries and 16 crimes (index, expected count, change over one year and to the projection year, spread across neighborhoods), time of week, confidence and the data-quality gate. Free, no key needed.
- `save_profile`: Stores what the user uses CrimeMetric for: a use case, a short description and up to 10 places, replacing any saved profile. It holds use cases and places, not names, phone numbers or other personal details. Not counted as a lookup.
