Skip to main content
Glama

violation_dismissal_rates

How New York City parking and camera tickets are actually decided at hearing, violation type by violation type — the share dismissed outright and the share dismissed or reduced, computed from the City's own published hearing records (119.8M rows). Give a violation to get its rates (partial names match, e.g. 'SIDEWALK' or 'MUNI METER'); omit it for a ranking of all 80 violation types.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoHow many rows in the ranking. Default 20.
orderNoRanking order when no violation is given. Default most_dismissed.
violationNoViolation name as printed on the ticket, or a fragment of it. Omit for the full ranking.

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the transparency burden and does substantial work: it discloses the data source and scale ('119.8M rows'), the two output modes, partial-name matching, and the fact that all 80 violation types are ranked when no violation is given. It does not state exact response field names or error behavior for unmatched violations, but the core behavior is transparent.

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 compact at two sentences and front-loads purpose before usage, with no wasted boilerplate. The first sentence is somewhat convoluted ('How ... are actually decided at hearing, violation type by violation type'), but every clause adds either scope, output semantics, or source credibility.

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?

Because no output schema exists, the description appropriately explains what the tool returns: per-violation dismissal rates and a ranking of all 80 violation types. It is complete enough for an agent to choose parameters, though it could clarify the exact response shape for a single violation and behavior when a partial name matches multiple violation types.

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 the schema already documents limit, order, and violation. The description adds value beyond the schema by explaining partial-name matching with examples ('SIDEWALK' or 'MUNI METER') and relating order/limit to the ranking of all 80 violation types.

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 identifies a specific resource ('New York City parking and camera tickets'), the exact output metrics ('share dismissed outright and the share dismissed or reduced'), and the computation source ('the City's own published hearing records'). It clearly differentiates from siblings by focusing on violation-type dismissal rates from hearing data rather than borough odds, deadlines, or plate lookups.

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 gives explicit invocation guidance: 'Give a violation to get its rates' versus 'omit it for a ranking of all 80 violation types,' including the partial-match behavior. It does not name alternative tools or state when not to use this tool, so it stops short of full alternative-selection guidance.

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.

TDQS

A3.9/5.0
Disambiguation3/5

Several tools overlap in subject matter: borough_odds, violation_dismissal_rates, and plate_lookup all touch NYC hearing outcomes, while operator_route_lookup and popla_outcomes both expose POPLA operator records. The descriptions are detailed enough to separate them on close reading, but an agent could easily select the wrong one when asking for odds or appeal outcomes.

Naming Consistency3/5

The names are uniformly lowercase snake_case and readable, but the pattern is mixed: get_mtd_answer, list_doors, and search_mtd_answers use a verb_noun form, while borough_odds, popla_outcomes, and violation_dismissal_rates are noun phrases, and plate_lookup/operator_route_lookup use noun_lookup compounds. There is no single consistent naming convention across the set.

Tool Count5/5

Nine tools is within the ideal range and each tool represents a distinct, substantive data product or query endpoint. For a gateway spanning multiple domains, this is well-scoped and not bloated.

Completeness4/5

The main query surfaces are covered: NYC parking has plate, borough, and violation-type views; UK parking has operator routing, deadline calculation, and POPLA outcomes; and MTD has search plus full-answer retrieval. Minor gaps exist, such as IAS appeal outcomes and a way to list all MTD answers without searching, but these are workable rather than blocking.

Resources