Skip to main content
Glama

fbi-crime-mcp-server

FBI Get Arrests

fbi_get_arrests
Read-onlyIdempotent

Arrest counts reported to FBI CDE for the nation, a state, or an agency, summed over a month window from January 1985 through the current year. Returns arrests by offense name, offense category, and detailed offense breakdown, by arrestee sex and race, and by age group for male and female arrestees, with every category CDE reports, zeros included. Each grouping is tallied separately and their sums can differ (arrestee sex and race often total less than the offense groupings), so no grouping stands in for another's total. Narrow to one offense with offense. National scope omits identifiers; state requires only state_abbr; agency requires only ori (look it up with fbi_search_agencies). CDE returns zeros both when nothing was reported and when it does not recognize a state or ORI.

Input Schema

NameRequiredDescriptionDefault
oriNoNine ASCII-letter/digit ORI code (e.g. CA0010400, DCMPD0000); case-insensitive. Find an agency's ORI with fbi_search_agencies. Only permitted and required for agency scope.
scopeYesGeographic scope: national (omit identifiers), state (only state_abbr), or agency (only ori).
offenseNoCDE arrest offense code to narrow the counts to, or all (default). Codes: 11 Murder and Nonnegligent Homicide; 12 Manslaughter by Negligence; 20 Rape - Not Specified (Legacy); 30 Robbery; 50 Assault - Not Specified; 55 Simple Assault; 60 Burglary; 70 Larceny - Theft; 90 Motor Vehicle Theft; 101 Commercial Sex Acts; 102 Involuntary Servitude; 110 Arson; 140 Prostitution and Commercialized Vice; 141 Prostitution and Commercialized Vice - Prostitution; 142 Prostitution and Commercialized Vice - Assisting or Promoting Prostitution; 143 Prostitution and Commercialized Vice - Purchasing Prostitution; 150 Drug Abuse Violations; 151 Drug Sale/Manufacturing (Unspecified); 152 Drug Sale/Manufacturing - Opium or Cocaine or Their Derivatives; 153 Drug Sale/Manufacturing - Marijuana; 154 Drug Sale/Manufacturing - Synthetic Narcotics; 155 Drug Sale/Manufacturing - Other - Dangerous Nonnarcotic Drugs; 156 Drug Possession (Unspecified); 157 Drug Possession - Opium or Cocaine or Their Derivatives; 158 Drug Possession - Marijuana; 159 Drug Possession - Synthetic Narcotics; 160 Drug Possession - Other - Dangerous Nonnarcotic Drugs; 170 Gambling (Unspecified); 171 Gambling - Bookmaking (Horse and Sport Book); 172 Gambling - Numbers and Lottery; 173 Gambling - All Other Gambling; 180 Forgery and Counterfeiting; 190 Fraud; 200 Embezzlement; 210 Stolen Property: Buying, Receiving, Possessing; 220 Vandalism; 230 Weapons: Carrying, Possessing, Etc.; 240 Sex Offenses (Except Rape, and Prostitution and Commercialized Vice); 250 Offenses Against the Family and Children; 260 Driving Under the Influence; 270 Liquor Law Violations; 280 Drunkenness; 290 Disorderly Conduct; 300 Vagrancy; 310 All Other Offenses (Except Traffic); 330 Curfew and Loitering Law Violations.all
to_yearYesEnd year of the data range (inclusive), 1985 through the current year.
to_monthNoEnd month (1–12). Defaults to December.
from_yearYesStart year of the data range (inclusive), 1985 through the current year. The API uses monthly granularity.
from_monthNoStart month (1–12). Defaults to January.
state_abbrNoTwo ASCII-letter state abbreviation (e.g. CA, DC, PR); case-insensitive. Only permitted and required for state scope.

Output Schema

NameRequiredDescriptionDefault
toNoLast month of the summed window (MM-YYYY).
oriNoUppercased ORI code; present only for agency scope.
fromNoFirst month of the summed window (MM-YYYY).
errorNoPresent when the call failed. Absent on success.
scopeNoGeographic scope queried.
noticeNoPresent when every count is zero; says whether zeros can also mean an unrecognized state or ORI.
offenseNoArrest offense code applied, or all.
state_abbrNoUppercased state abbreviation; present only for state scope.
arrestee_sexNoArrests by arrestee sex.
offense_nameNoArrests by offense name.
arrestee_raceNoArrests by arrestee race.
max_data_dateNoLatest data month CDE reports (MM/YYYY); absent when CDE omits it.
offense_labelNoCDE label for the applied offense code; "All offenses" for all.
offense_categoryNoArrests by offense category.
data_last_updatedNoDate CDE last refreshed arrest data; absent when CDE omits it.
offense_breakdownNoArrests by detailed offense breakdown.
male_arrests_by_ageNoArrests of male arrestees by age group.
female_arrests_by_ageNoArrests of female arrestees by age group.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial behavior beyond the readOnly/idempotent annotations: zeros are included for every CDE category, groupings are tallied separately and their totals can differ (so one grouping cannot substitute for another), and unrecognized state/ORI values silently return zeros. That last point is a real trap the agent would otherwise fall into.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five sentences, each carrying distinct load: what is returned, the grouping-total caveat, the scope/identifier mapping, and the zero-ambiguity warning. Lead sentence establishes resource and time range before drilling into caveats; no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter, multi-scope aggregation tool this covers everything an agent needs: scope requirements, date semantics, offense narrowing, and the two caveats (differing grouping totals, silent zeros) that would otherwise cause misinterpretation. An output schema exists, so return shape needs no explanation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3; the description earns above that by noting the offense parameter narrows results, tying each scope to its one permitted identifier, and warning that bad state_abbr/ori values yield zeros rather than errors — meaning that goes beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource: arrest counts reported to FBI CDE, scoped to nation/state/agency over a monthly window, with named breakdowns (offense, sex, race, age group). The resource is clearly distinct from siblings like fbi_get_crime_estimates or fbi_get_hate_crimes, and fbi_search_agencies is named as the ORI lookup path.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete scoping rules (national omits identifiers, state needs only state_abbr, agency needs only ori) and routes the agent to fbi_search_agencies for the ORI. It does not explicitly say when to prefer this over sibling datasets such as crime estimates, but the context is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.