Skip to main content
Glama

Police Shootings

police_shootings
Read-onlyIdempotent

Individual fatal police shooting incidents (including the name of the person killed), from The Washington Post Fatal Force database. Filter by state, city, year, armed_with, and/or race. Small by default (limit, default 25, max 200) — a truncated response carries truncated:true, total_matching, and a narrowing hint. For counts/breakdowns only, use police_shootings_summary instead. CC BY-NC-SA 4.0, attributed to The Washington Post.

Input Schema

NameRequiredDescriptionDefault
cityNoCity name, exact match case-insensitive. Optional.
raceNoRace code as the Post records it: W (white), B (black), H (hispanic), A (asian), N (native american), O (other). Optional.
yearNoCalendar year (2015-present). Optional.
limitNoMax incidents to return, 1-200. Default 25.
stateNoTwo-letter USPS state code (e.g. "CA"). Optional.
offsetNoPagination offset. Default 0.
armed_withNoWhat the person was reported armed with, e.g. "gun", "knife", "unarmed", "vehicle", "unknown". Optional.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/openWorld/non-destructive, so the safety profile is covered. The description adds genuine behavioral context beyond that: the default and max limit, the fact that responses can truncate, and that truncation surfaces truncated:true plus total_matching and a narrowing hint. It does not mention rate limits or data freshness, keeping it short of a 5.

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?

Three dense sentences with zero waste: identity and source first, filter dimensions second, truncation behavior and the alternative tool third. The license/attribution tail is the only slightly extraneous element, and it is short.

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?

There is no output schema, and the description compensates by describing the response envelope under truncation (truncated, total_matching, narrowing hint). With annotations covering safety and the schema covering all parameters, an agent has everything needed to call this correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents every filter, including the race codes, USPS state format, and armed_with examples. The description's restatement of the filter list and limit bounds adds routing value but no syntax or format detail beyond the schema, which is the baseline-3 case.

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?

States a specific verb and resource — individual fatal police shooting incidents from The Washington Post Fatal Force database — including that the person's name is returned. It explicitly distinguishes itself from the sibling police_shootings_summary, so an agent can route without opening either schema.

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

Usage Guidelines5/5

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

Names the alternative explicitly ("For counts/breakdowns only, use police_shootings_summary instead") and enumerates the available filter dimensions, giving clear when-to-use and when-not-to-use guidance. Nothing about tool selection is left to inference.

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.