FBI Crime Data MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FBI_API_KEY | Yes | Your free API key from api.data.gov |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| lookup_agencyA | Look up law enforcement agencies by state, ORI code, or judicial district code. Args: lookup_type: How to look up — "by_state" (list agencies in a state), "by_ori" (specific agency by ORI), or "by_district" (agencies by judicial district code) state: Two-letter state abbreviation (required for by_state and by_ori) ori: Agency ORI identifier (required for by_ori) district_code: Judicial district code (required for by_district) name_filter: Optional substring to filter results by agency name (case-insensitive). Only applies to by_state and by_district lookups. offset: Number of results to skip (for pagination). Applied after name_filter. limit: Maximum number of results to return (for pagination). Applied after name_filter. |
| get_arrest_dataA | Get arrest statistics by offense, optionally broken down by demographics. Args: offense: Arrest offense code (e.g., "all", "11" for murder, "30" for robbery, "150" for drug abuse). Use get_reference_data with data_type="offenses" and offense_type="arrest" for full list. level: Geographic level — "national", "state", or "agency" data_type: "counts" for time series or "totals" for demographic breakdowns from_date: Start date in mm-yyyy format (e.g., "01-2020") to_date: End date in mm-yyyy format (e.g., "12-2022") state: Two-letter state abbreviation (required when level is "state") ori: Agency ORI code (required when level is "agency") category: Optional demographic breakdown — "male", "female", "race", or "sex" aggregate: Aggregation level — "yearly" (default, sums monthly into yearly) or "monthly" (monthly granularity). Only applies when data_type is "counts". |
| manage_cacheA | Manage the FBI Crime Data response cache. Args: action: "status" (show cache stats), "clear" (wipe entire cache), or "clear_expired" (remove only expired entries) |
| get_police_employmentA | Get law enforcement employee data including officer/civilian counts by gender, rates per 1,000 population. Args: level: Geographic level — "national", "state", "agency", or "region" from_year: Start year in yyyy format (e.g., "2015") to_year: End year in yyyy format (e.g., "2022") state: Two-letter state abbreviation (required for "state" and "agency" levels) ori: Agency ORI code (required for "agency" level) region: Region name — "midwest", "south", "northeast", or "west" (required for "region" level) |
| get_hate_crime_dataA | Get hate crime statistics, optionally filtered by bias motivation. Returns incident counts, victim types, offense types, offender demographics, and locations. Args: level: Geographic level — "national", "state", or "agency" from_date: Start date in mm-yyyy format (e.g., "01-2020") to_date: End date in mm-yyyy format (e.g., "12-2022") bias: Bias code to filter by (e.g., "12" for Anti-Black, "21" for Anti-Jewish, "24" for Anti-Islamic). Use get_reference_data with offense_type="hate-crime" for full list. If omitted, returns all biases. data_type: "counts" for time series or "totals" for aggregate data (default: "counts") state: Two-letter state abbreviation (required when level is "state") ori: Agency ORI code (required when level is "agency") aggregate: Aggregation level — "yearly" (default, sums monthly into yearly) or "monthly" (monthly granularity). Only applies when data_type is "counts". |
| get_cde_homepage_summaryA | Get a summary of the FBI Crime Data Explorer (CDE) homepage. Returns the CDE mission statement, navigation structure, data freshness (last refresh dates), available data date ranges, and the full national crime trends response (percent changes across 10 crime types, matching the trends section displayed on the CDE homepage). Provides orientation on what the CDE offers and how current its data is. |
| get_expanded_homicide_dataA | Get Supplementary Homicide Report (SHR) data with expanded details on homicides including victim/offender demographics, weapons, and circumstances. Args: level: Geographic level — "national", "state", or "agency" data_type: "counts" for time series or "totals" for demographic/detail breakdowns from_date: Start date in mm-yyyy format (e.g., "01-2020") to_date: End date in mm-yyyy format (e.g., "12-2022") state: Two-letter state abbreviation (required when level is "state") ori: Agency ORI code (required when level is "agency") aggregate: Aggregation level — "yearly" (default, sums monthly into yearly) or "monthly" (monthly granularity). Only applies when data_type is "counts". |
| get_leoka_dataB | Get LEOKA data on law enforcement officers killed and assaulted, including weapons used, circumstances, officer demographics, and offender demographics. Args: report_type: "monthly" for a specific month or "ytd" for year-to-date summary year: Year for the data (e.g., 2022) month: Month number 1-12 (January=1, December=12). Required when report_type is "monthly". |
| get_lesdc_dataA | Get law enforcement suicide data with breakdowns by demographics, race, location, duty status, and more. Args: year: Year for the data (e.g., 2022) chart_type: Chart/breakdown type. Use get_reference_data or see error message for valid values. |
| get_nibrs_dataA | Get NIBRS incident-based crime data for 70+ offense types. Args: offense: NIBRS offense code (e.g., "13A" for aggravated assault, "09A" for murder, "11A" for rape, "120" for robbery, "220" for burglary). Use get_reference_data for full list. level: Geographic level — "national", "state", or "agency" from_date: Start date in mm-yyyy format (e.g., "01-2020") to_date: End date in mm-yyyy format (e.g., "12-2022") data_type: "counts" for time series data or "totals" for aggregate breakdowns (default: "counts") state: Two-letter state abbreviation (required when level is "state") ori: Agency ORI code (required when level is "agency") aggregate: Aggregation level — "yearly" (default, sums monthly into yearly) or "monthly" (monthly granularity). Only applies when data_type is "counts". |
| get_nibrs_estimationA | Get NIBRS national crime estimates derived from incident data. Supports breakdowns by state, region, agency type, and population size. Args: offense: NIBRS offense code (e.g., "13A", "09A"). Use get_nibrs_data docs for codes. level: "national", "state", "region", "agency-type", or "size" year: Year for estimation data state: Two-letter state abbreviation (required when level is "state") region: Region code — "M" (Midwest), "N" (Northeast), "S" (South), "W" (West). Required when level is "region". agency_type: "S" (Size) or "T" (Agency Type). Required when level is "agency-type" or "size". agency_type_location: "C" (City) or "N" (County). Required when level is "agency-type". size_group: Size group "1"-"8" (1=Cities 250K+, 6=Cities under 10K, 7=MSA Counties, 8=Non-MSA Counties). Required when level is "size". |
| get_expanded_property_dataA | Get expanded property crime data with details on stolen/recovered property values. Args: offense: Property offense code — "NB" (Burglary), "NL" (Larceny), "NMVT" (Motor Vehicle Theft), "NROB" (Robbery). level: Geographic level — "national", "state", or "agency" data_type: "counts" for time series or "totals" for property value breakdowns from_date: Start date in mm-yyyy format (e.g., "01-2020") to_date: End date in mm-yyyy format (e.g., "12-2022") state: Two-letter state abbreviation (required when level is "state") ori: Agency ORI code (required when level is "agency") aggregate: Aggregation level — "yearly" (default, sums monthly into yearly) or "monthly" (monthly granularity). Only applies when data_type is "counts". |
| get_reference_dataA | Get reference data: state lists, offense/bias code lookups, data properties, or data refresh dates. Args: data_type: Type of reference data — "states" (list of states/territories), "offenses" (offense or bias code lookup), "cde_properties" (data date ranges), or "refresh_date" (last data refresh dates) offense_type: Required when data_type is "offenses" — "arrest" for arrest offense codes or "hate-crime" for hate crime bias codes |
| read_spilloverA | Read a spillover file that was saved when a tool response exceeded the size limit. Use this to retrieve data beyond the preview shown in a truncated response. The filename is provided in the spillover notice (e.g., "get_nibrs_data_a1b2c3d4.json"). Args: filename: Name of the spillover file (e.g., "get_nibrs_data_a1b2c3d4.json"). Use "list" to see all available spillover files. offset: Character position to start reading from (default: 0). limit: Maximum number of characters to return (default: 50000, max: 100000). |
| get_summarized_crime_dataA | Get summarized (SRS) crime data including offense rates, actuals, clearances, and population coverage. Args: offense: SRS offense code (e.g., "V" for Violent Crime, "P" for Property Crime, "HOM", "RPE", "ROB", "ASS", "BUR", "LAR", "MVT", "ARS"). Use get_reference_data for full list. level: Geographic level — "national", "state", or "agency" from_date: Start date in mm-yyyy format (e.g., "01-2020") to_date: End date in mm-yyyy format (e.g., "12-2022") state: Two-letter state abbreviation (required when level is "state") ori: Agency ORI code (required when level is "agency") aggregate: Aggregation level — "yearly" (default, sums monthly into yearly) or "monthly" (monthly granularity) |
| get_crime_trendsB | Get national crime trend data showing percent changes across 10 crime types (murder, rape, robbery, aggravated assault, violent crime, burglary, larceny, motor vehicle theft, arson, property crime). Args: from_year: Start year in yyyy format (e.g., "2015"). Optional. to_year: End year in yyyy format (e.g., "2022"). Optional. |
| get_use_of_force_dataA | Get use of force data from law enforcement agencies. Covers incidents resulting in death, serious bodily injury, or firearm discharge. Args: report_type: "summary" for participation/submission data, "questions" for detailed question data, "reports" for report data year: Year for the data. Required for "summary" and "questions" types. location: "national" or a two-letter state abbreviation. Required for "summary" type. group: Group identifier for "questions" or "reports" types. quarter: Quarter (1-4) for "questions" type. spec: Report specification for "reports" type. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dathere/fbi-crime-data-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server