Skip to main content
Glama

Server Details

Crime estimates by type, state arrest data, and national crime trends from the FBI UCR

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.2/5 across 4 of 4 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool serves a clearly distinct purpose: national trends, state estimates, state arrests, and multi-state comparison. The overlapping state crime estimate tools are differentiated by single-year multi-state vs multi-year single-state, making confusion unlikely.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (compare_state_crime, get_national_crime_estimates, get_state_arrests, get_state_crime_estimates). The use of 'get' for standard queries and 'compare' for the comparative function is predictable.

Tool Count5/5

With 4 tools, the server is well-scoped for its purpose of accessing FBI crime data. Each tool addresses a fundamental query pattern—national, state, arrests, and comparison—without unnecessary redundancy.

Completeness4/5

The tool surface covers the main data access patterns: national trends, state estimates, state arrests, and cross-state comparison. A minor gap is the lack of national-level arrest trends, but the existing tools are sufficient for most core workflows.

Available Tools

4 tools
compare_state_crimeAInspect

Compare crime rates across multiple US states for a single year.

Fetches crime estimates for each state and returns them side by side
for easy comparison. Useful for grant narratives requiring regional context.

Args:
    states: Comma-separated two-letter state abbreviations (e.g. 'CA,TX,NY').
    crime_type: Type of crime to compare. Options: violent-crime, property-crime,
        burglary, larceny, motor-vehicle-theft, homicide, robbery,
        aggravated-assault. Default: violent-crime.
    year: The year to compare (default 2022).
ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo
statesYes
crime_typeNoviolent-crime

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations are provided, so the description must carry the behavioral burden. It discloses core behaviors: 'Fetches crime estimates for each state and returns them side by side.' This clarifies that it is a read-only aggregation. However, it omits potential edge cases, data source caveats, or error conditions, leaving some ambiguity for a tool with no annotations.

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?

The description is concise and well-structured: a one-sentence purpose, a one-sentence behavior, a one-sentence use case, and a clear Args block. No filler or redundant information; every sentence adds value.

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

Completeness4/5

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

The description is thorough for a three-parameter tool with an output schema. It covers the purpose, use case, and all parameter semantics. Minor gaps like not explicitly stating a minimum of two states or handling invalid inputs are not critical given the output schema and simple read-only nature.

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

Parameters5/5

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

The input schema provides only titles with no descriptions, so the description fully compensates. It details each parameter: states format ('Comma-separated two-letter state abbreviations (e.g. 'CA,TX,NY')'), crime_type options with a default, and year default. This is a strong supplement to 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?

The description clearly states the tool's function: 'Compare crime rates across multiple US states for a single year.' It specifies a distinct scope (multiple states, one year) and a specific verb ('Compare'), differentiating it from sibling tools like get_state_crime_estimates (which likely handles a single state) and get_national_crime_estimates.

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?

The description offers usable context: 'Useful for grant narratives requiring regional context' and implies a multi-state comparison. However, it does not explicitly name alternatives or state when not to use this tool, so it falls short of full exclusionary guidance.

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

get_national_crime_estimatesAInspect

Get national FBI crime trend estimates over a range of years.

Returns annual national crime estimate data from the FBI Crime Data
Explorer for the specified crime category.

Args:
    crime_type: Type of crime to query. Options: violent-crime, property-crime,
        burglary, larceny, motor-vehicle-theft, homicide, robbery,
        aggravated-assault. Default: violent-crime.
    from_year: Start year for the data range (default 2015).
    to_year: End year for the data range (default 2023).
ParametersJSON Schema
NameRequiredDescriptionDefault
to_yearNo
from_yearNo
crime_typeNoviolent-crime

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations, the description carries the burden. It clearly states the tool returns annual national crime estimates from the FBI CDE and documents defaults. It does not disclose potential limitations, error behavior, or rate limits, but for a read-only query tool this is acceptable.

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

Conciseness4/5

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

The description is well-structured with an Args section, but the first two sentences are somewhat redundant ('Get...' and 'Returns...'). It remains efficient and front-loaded with the core purpose.

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

Completeness4/5

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

With an output schema present, the description does not need to detail return values. It covers tool scope, available crime types, and year defaults, making it complete for a simple query tool despite the lack of explicit usage alternatives.

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

Parameters5/5

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

The schema provides only types and defaults (0% schema description coverage). The description compensates by listing valid crime_type options, explaining from_year and to_year as a range, and specifying defaults, significantly adding value 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?

The description opens with 'Get national FBI crime trend estimates over a range of years,' which clearly specifies the verb, resource, and scope. It distinguishes itself from sibling tools like get_state_crime_estimates by emphasizing 'national' data.

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

Usage Guidelines3/5

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

The description implicitly conveys usage context by stating it returns national-level FBI data, which contrasts with state-focused siblings. However, it does not explicitly state when to prefer this tool or mention alternatives, so the guidance is implied rather than explicit.

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

get_state_arrestsAInspect

Get arrest data for a US state by offense category.

Returns arrest statistics from the FBI Crime Data Explorer broken down
by offense category for the specified state and year range.

Args:
    state: Two-letter US state abbreviation (e.g. 'CA', 'TX', 'NY').
    from_year: Start year for the data range (default 2015).
    to_year: End year for the data range (default 2023).
ParametersJSON Schema
NameRequiredDescriptionDefault
stateYes
to_yearNo
from_yearNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

No annotations exist, so the description carries the burden. It clearly states this is a 'Get' operation (read-only) and names the data source (FBI CDE) and what is returned. For a simple read tool, this is sufficient, though it doesn't discuss potential limitations or errors.

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

Conciseness4/5

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

The description is two sentences plus an Args block. It is front-loaded and efficient. Minor redundancy: 'by offense category' appears twice, but it doesn't detract much. Overall, each sentence earns its place.

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

Completeness4/5

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

For a simple 3-parameter read tool, the description is fairly complete: purpose, data source, and parameter semantics are covered. An output schema exists, so return values don't need description. It could mention edge cases or availability, but these are not critical for this tool.

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

Parameters5/5

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

Schema description coverage is 0%, but the description's Args section fully documents all parameters: 'state' format, 'from_year' and 'to_year' with defaults. This adds meaning absent from the schema and fully compensates for the gap.

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?

First sentence is highly specific: 'Get arrest data for a US state by offense category.' This clearly names the action, resource, and scope. It also distinguishes from sibling tools like get_national_crime_estimates or get_state_crime_estimates by focusing on arrests and state-level breakdown.

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

Usage Guidelines3/5

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

The description implies usage for retrieving state-level arrest statistics by offense category, but does not explicitly state when to prefer this tool over siblings or any exclusions. It lacks a 'use this instead of X' instruction.

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

get_state_crime_estimatesAInspect

Get FBI crime estimates for a US state over a range of years.

Returns annual crime estimate data from the FBI Crime Data Explorer
for the specified state and crime category.

Args:
    state: Two-letter US state abbreviation (e.g. 'CA', 'TX', 'NY').
    crime_type: Type of crime to query. Options: violent-crime, property-crime,
        burglary, larceny, motor-vehicle-theft, homicide, robbery,
        aggravated-assault. Default: violent-crime.
    from_year: Start year for the data range (default 2015).
    to_year: End year for the data range (default 2023).
ParametersJSON Schema
NameRequiredDescriptionDefault
stateYes
to_yearNo
from_yearNo
crime_typeNoviolent-crime

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations, the description must disclose behavior. It mentions the data source (FBI Crime Data Explorer) and return type (annual crime estimate data), indicating a read-only operation. It lacks details on edge cases or data availability, but the provided context is solid for a query tool.

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?

The description is concise, with a one-sentence summary and structured Args block. No wasted words; all information is relevant and easy to scan.

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

Completeness4/5

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

Given the output schema exists, the description doesn't need return details. It covers all parameters, defaults, and data provenance. A minor gap is the absence of guidance on data coverage or limitations, but overall it is complete for a typical state crime query.

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

Parameters5/5

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

The schema only provides types and defaults, while the description enumerates valid crime_type options, the state abbreviation format, and explains each parameter's meaning with defaults. This fully compensates for the schema's lack of descriptions.

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?

The description opens with 'Get FBI crime estimates for a US state over a range of years,' a specific verb+resource+scope. It clearly distinguishes from siblings like get_national_crime_estimates and get_state_arrests by focusing on state-level estimates.

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?

It explicitly states the tool retrieves state-specific data over a range of years, making the context clear. However, it does not mention alternatives or exclusions, so it doesn't fully guide selection among sibling tools.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    -
    quality
    A
    maintenance
    Exposes the FBI Crime Data Explorer API — crime estimates, agency offense rates, and LEOKA officer safety data via MCP. Supports STDIO or Streamable HTTP transport.
    117
    1
    Apache 2.0
  • A
    license
    A
    quality
    A
    maintenance
    Provides access to FBI Crime Data Explorer API, enabling queries for crime statistics, arrests, hate crimes, NIBRS incidents, law enforcement employment, and more via 17 tools with smart caching and spillover handling.
    17
    1
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources