# fbi-crime-mcp-server [Health: Active]

**Category:** ⚖️ Legal  
**Repository:** https://github.com/cyanheads/fbi-crime-mcp-server  
**GitHub Stars:** 1  
**npm Downloads (last month):** 574  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/fbi-crime-mcp-server

## Description
FBI Crime Data Explorer — UCR estimates, NIBRS breakdowns, hate crimes, arrests, and agency data.

## Tools
Capabilities this server exposes over MCP:

- **fbi_search_agencies** — Find agencies in one state and their ORI codes from the CDE agency directory; filter by name words, county, and agency type; paged
- **fbi_get_crime_estimates** — Monthly UCR offense rates and counts by national, state, or agency scope, from the CDE summarized endpoint; optional state and national comparison rates
- **fbi_get_hate_crimes** — Hate crime incidents by bias motivation and category, plus offense, location, offender, and judicial-district breakdowns, 1991 through the current year
- **fbi_get_arrests** — Arrest counts by offense, arrestee sex and race, and age group, 1985 through the current year
- **fbi_get_nibrs_breakdown** — NIBRS victim, offender, weapon, and related-offense breakdowns for one offense, 1991 through the current year
- **fbi_get_leoka** — Officer fatality, weapon, and circumstance data (LEOKA) by month or year-to-date, 2020 through the current year
- **fbi_get_arson** — [DISABLED] Use `fbi_get_crime_estimates` with `offense="arson"
- **fbi_get_agency** — [DISABLED] UCR agency profile backend decommissioned; use `fbi_search_agencies
- **fbi_get_human_trafficking** — [DISABLED] UCR human trafficking backend decommissioned
- **fbi_get_participation** — [DISABLED] UCR and CDE participation backends decommissioned
- **fbi_list_code_table** — [DISABLED] UCR code table backend decommissioned

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `bunx` (confidence: high):

```json
"mcpServers": {
  "fbi-crime-mcp-server": {
    "command": "bunx",
    "args": ["@cyanheads/fbi-crime-mcp-server@latest"],
    "env": {
      "FBI_API_KEY": ""
    }
  }
}
```

**Requires environment variables:** `FBI_API_KEY` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What fbi-crime-mcp-server does

fbi-crime-mcp-server exposes six callable tools for querying the FBI Crime Data Explorer (CDE) through the Model Context Protocol. The available datasets cover monthly UCR offense estimates, hate-crime incidents, arrests, NIBRS dimensions, law-enforcement officer fatality and safety data, and the CDE agency directory.

Crime estimates can be requested at national, state, or agency scope. Results include monthly rates, counts, clearance information, population values where supplied, and reporting-coverage fields. State and agency queries can optionally include comparison rates for the relevant state and United States. Agency searches return ORI identifiers that can be passed to other tools.

## How it works

The server translates MCP tool calls into requests to the FBI CDE API and returns structured results. Agency searches are limited to one state at a time and can filter by name words, county, or agency type. Results are sorted by agency name and ORI and support limit-and-offset pagination.

Crime-estimate queries accept supported offense names such as violent crime, property crime, robbery, burglary, larceny, motor-vehicle theft, arson, aggravated assault, rape, and homicide. Hate-crime and arrest queries aggregate counts across a selected date range. NIBRS queries provide victim, offender, weapon, and related-offense breakdowns for one offense. LEOKA queries provide officer fatality, weapon, and circumstance information by month or year-to-date.

The datasets use different historical ranges. UCR estimates and arrests begin in 1985, hate-crime and NIBRS data begin in 1991, and LEOKA data begins in 2020. Current-year requests may contain null values for months that have not yet been published by the provider.

## Setup and configuration

The package can be run as an MCP process with `npx`, using the package name `@cyanheads/fbi-crime-mcp-server`. Configure the `FBI_API_KEY` environment variable with an FBI API key. The repository also provides a Docker package and a public Streamable HTTP endpoint at `https://fbi-crime.caseyjhand.com/mcp`.

MCP clients can connect through STDIO or Streamable HTTP. The repository includes installation paths for Claude Desktop, Cursor, and VS Code. For a local STDIO configuration, the client invokes the package with `npx -y @cyanheads/fbi-crime-mcp-server` and passes `FBI_API_KEY` in the process environment.

## Tools and capabilities

- `fbi_search_agencies` searches a state directory and returns agency names, ORIs, agency types, counties, and available NIBRS start dates.
- `fbi_get_crime_estimates` retrieves monthly UCR rates and counts for a national, state, or agency scope, with optional comparisons.
- `fbi_get_hate_crimes` reports bias and bias-category incidents plus offense, location, offender, and judicial-district dimensions.
- `fbi_get_arrests` returns arrest totals by offense, sex, race, and age group.
- `fbi_get_nibrs_breakdown` returns NIBRS victim, offender, weapon, and related-offense data for a selected offense.
- `fbi_get_leoka` returns LEOKA officer fatality, weapon, and circumstance data.

Date validation rejects unsupported years, reversed ranges, and incompatible scope parameters. The tools preserve provider-supplied zeros, nulls, update dates, and coverage fields so callers can distinguish reported values from incomplete coverage where the API provides that context.

## Limitations and notes

Five listed operations are disabled rather than callable: arson, agency profiles, human trafficking, participation, and code tables. Use `fbi_get_crime_estimates` with `offense="arson"` for arson estimates, and use `fbi_search_agencies` instead of the disabled agency-profile operation.

CDE results can contain zero values for both no reported incidents and an unrecognized state or ORI in some datasets. Hate-crime breakdown dimensions use different counting bases and should not be added together as though they represented one total. Comparison results provide rates and coverage fields, not comparison counts. Agency-level queries require a valid nine-character ORI, which can be found with the agency search tool.

_Full upstream README: https://allmcps.com/mcp/fbi-crime-mcp-server/readme_

