Skip to main content
Glama

Court Delta

Check whether a North Carolina (NC) traffic charge requires a court appearance

check_traffic_charge
Read-only

"Do I have to go to court for this ticket?" — answered from the citation itself.

For someone holding a paper North Carolina (NC) citation, BEFORE their case is searchable. Returns waiver eligibility per charge (waivable / mandatory / conditional) plus how to ask for a reduction or dismissal. FAST — no court-portal request, unlike the other tools.

IF THE USER HAS A CASE NUMBER, USE lookup_court_case INSTEAD. It runs these same rules on the real charges and also gives the court date and the amount owed. This tool is for when there is no case number yet.

THE STATUTE DRIVES THE ANSWER. Pass the G.S. number printed on the citation (e.g. "20-141(J1)", "G.S. 20-127(D)"). Without a parseable statute a charge cannot be classified — ask the user to read the "G.S." line off their citation rather than guessing from the offense name. unclassified lists any charge that fell through.

PASS EVERY CHARGE ON THE CITATION, not just the one asked about. Eligibility is computed ACROSS the citation: one mandatory charge forces an appearance for all of them. Reporting on a single charge in isolation gives the wrong answer — a real Wake case has two waivable charges and one DWLR, and the correct answer is "you must appear".

viaCompanionCharge: true on a charge means exactly that: it would be waivable on its own, but AOC mandatory-appearance item #39 makes every violation on a citation mandatory once ANY violation on it is. Never tell someone they can pay such a charge off separately or handle it by mail — the whole citation must be appeared on. Say which charge is forcing it, since that is usually the one they want to ask the District Attorney about.

SPEED CHANGES THE ANSWER. With no charged speed a speeding charge comes back conditional, not waivable: over 80 mph, or more than 15 over while over 55, is mandatory. Pass actual_speed/speed_limit if known — or just pass the offense line verbatim ("SPEEDING 85 IN A 65"), which is parsed for the speed.

PASS offense VERBATIM FROM THE CITATION for every charge, not a paraphrase. A few rules cannot be decided from the statute number alone and are read off the offense text: texting is waivable UNLESS it was while operating a school bus, and a registration or title violation is waivable UNLESS it involves stolen, altered or fictitious plates or certificates. Both statutes are the same either way, so a paraphrase that drops "school bus" or "fictitious" silently turns a mandatory appearance into "waivable". If the user summarises rather than quotes, ask for the exact wording on the citation before answering.

county (optional) decides the reduction path: participating counties get NC's online Guide & File link, others get the in-person District Attorney route.

A null citationOptions means these are NOT waivable-citation charges — either not NC Chapter-20 traffic, or a serious criminal charge (impaired driving, death by vehicle, eluding) or a felony, where "it's just a ticket" framing is wrong. Say that plainly; do not present it as "no appearance required".

General guidance for the charges given, NOT a lookup of any real case, and not legal advice. amountDue is always null here — there is no case to read a balance from.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countyNo
chargesYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations declare `readOnlyHint: true`, and the description aligns with that by noting there is no court-portal request and `amountDue` is always null. It goes well beyond annotations by explaining cross-charge mandatory appearance logic, the `viaCompanionCharge` semantics, speed-based conditional outcomes, and what a null `citationOptions` means.

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 long and detailed, but the legal complexity justifies most of it. It is well-structured with clear warning sections and front-loaded purpose, though a few points (such as the across-citation mandatory appearance rule) are restated in multiple paragraphs, adding slight redundancy.

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?

Covers the tool's inputs, outputs, edge cases, alternative tool routing, and limitations ('not legal advice', not a real-case lookup). It even explains what to do when a statute is unparseable and warns against paraphrasing offenses. Nothing critical seems missing for an agent to select and use this tool correctly.

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?

With 0% schema description coverage, the description carries the full burden and succeeds. It explains that `statute` drives the answer, `offense` must be verbatim because certain rules depend on exact text, `actual_speed`/`speed_limit` affect speeding classification, and `county` determines the reduction path. This is far more than the raw schema provides.

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 by answering the exact user question ('Do I have to go to court for this ticket?') and states the tool's specific job: determining waiver eligibility from a paper NC citation before the case is searchable. It also differentiates itself from `lookup_court_case`, which handles cases with an existing case number.

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?

Explicitly tells the agent when to use this tool versus `lookup_court_case`: 'IF THE USER HAS A CASE NUMBER, USE `lookup_court_case` INSTEAD.' It also provides strong operational guidance, such as passing every charge on the citation and passing the offense verbatim, with concrete examples and failure modes.

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.

Resources