Skip to main content
Glama

AppealGo UK parking guides

Server Details

Free, no key: UK parking ticket appeal guides, PCN contravention codes and deadline calculator.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.2/5.0

Scored across 6 tools

Disambiguation5/5

Each tool targets a distinct action: calculating deadlines, explaining a code, fetching a guide, checking status, searching for codes, and searching guides. The only paired tools (search_guides/get_guide and search_contravention_codes/explain_contravention_code) are explicitly sequential with clear direction, so an agent will not confuse their purposes.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern: calculate_deadlines, explain_contravention_code, get_guide, lookup_appeal_status, search_contravention_codes, search_guides. No mixed casing, no vague verbs, and the pattern is predictable across the entire set.

Tool Count5/5

With 6 tools, the server is tightly scoped to the UK parking appeals domain. Each tool covers a necessary part of the workflow without redundancy or bloat, and the count is well within the ideal range for a specialized guide server.

Completeness5/5

The tool surface covers the full information lifecycle: searching guides and fetching them, finding and explaining contravention codes, calculating key deadlines, and checking appeal status. There are no dead ends—search tools return identifiers that feed directly into the corresponding detail tools.

Available Tools

6 tools
calculate_deadlinesCalculate PCN and parking charge deadlinesA
Read-onlyIdempotent
Inspect

Given the notice type and the date on the notice, returns the discount deadline, the challenge/representations deadline, when escalation can start, and (if you pass a rejection date) the tribunal or POPLA/IAS deadline. Statutory defaults; the notice is authoritative.

ParametersJSON Schema
NameRequiredDescriptionDefault
event_dateNoyyyy-mm-dd, the parking date if different (private ANPR/windscreen)
notice_dateYesyyyy-mm-dd, the date on the notice
notice_typeYescouncil_parking = Council parking PCN (windscreen or handed to you); council_postal = Council PCN by post (CCTV parking, bus lane or moving traffic outside London); london_moving = London bus lane, yellow box or banned turn (borough or TfL red route); tfl_charge = ULEZ, LEZ or Congestion Charge PCN (TfL); clean_air_zone = Clean Air Zone PCN (Birmingham, Bristol, Bath, Bradford, Portsmouth, Sheffield, Tyneside); private_anpr = Private parking charge by post (ANPR camera); private_windscreen = Private parking charge left on the windscreen
rejection_dateNoyyyy-mm-dd on the Notice of Rejection, if you have one
notice_to_owner_dateNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare read-only/idempotent behavior. The description adds useful context beyond that: it clarifies that results are 'statutory defaults' and that 'the notice is authoritative', which tells the agent when the computed value may be overridden. No contradiction with 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?

Two sentences with no filler: the first front-loads the inputs and enumerates the returned deadlines, the second adds the authoritative caveat. Every clause 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?

With no output schema, the description compensates by enumerating the returned deadline values and the conditional tribunal/POPLA/IAS deadline. It leaves the optional event_date and notice_to_owner_date parameters unexplained, but those are not needed for the core call.

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 80%, so the baseline is 3; the description reinforces the role of notice_type, notice_date, and rejection_date but adds no new meaning for event_date or notice_to_owner_date. The enum descriptions in the schema already carry most of the semantic load.

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 uses a specific verb ('returns') and names the resource (deadlines) plus the exact outputs: discount deadline, challenge/representations deadline, escalation start, and tribunal/POPLA/IAS deadline with a rejection date. This distinguishes it clearly from siblings like check_notice or file_appeal, which address different actions.

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 input condition ('Given the notice type and the date on the notice') and the optional rejection-date branch, making it clear when to call it. It does not name alternative tools or exclusion cases, so it stops short of a 5.

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

explain_contravention_codeExplain a PCN contravention codeA
Read-onlyIdempotent
Inspect

What a two-digit council PCN contravention code means (e.g. 01, 12, 30, 34, 62), its penalty band, and the grounds that usually beat it.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesThe code on the PCN, e.g. '12' or '31J'

TDQS

A3.6/5.0
Behavior3/5

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

The annotations already declare the tool read-only, idempotent, and non-destructive, so the description carries little safety burden. It adds useful context by describing the kind of output (meaning, penalty band, grounds) and includes the caveat 'usually beat it,' implying legal guidance is not absolute. It does not disclose other behavioral traits like data sources or limitations.

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?

One compact sentence that front-loads the main purpose and then lists the key deliverables. Every element adds value, and there is no filler, repetition, or unnecessary detail.

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 read-only lookup tool with a single required parameter and helpful annotations, the description is nearly complete: it tells the agent what the tool returns and the type of input expected. It does not explain how this differs from search_contravention_codes or whether codes outside the listed set are accepted, but these are minor gaps given the simple scope.

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 coverage is 100% and the single parameter code is already described with examples in the schema. The description adds the notion of a 'council PCN' and examples of penalty codes, but those largely overlap with the parameter description. It provides no additional formatting or normalization guidance beyond what is in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource (council PCN contravention codes) and what the tool provides: meaning, penalty band, and grounds. It lacks an explicit verb in the description text, but the tool title 'Explain a PCN contravention code' supplies it, and the scope is specific enough to distinguish it from a generic search tool.

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 use case is implied: an agent would call this when the user wants to know what a code means or how to challenge it. However, there is no explicit guidance contrasting it with sibling tools like search_contravention_codes, and no stated conditions for when not to use it.

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

get_guideRead a guideA
Read-onlyIdempotent
Inspect

Returns a full AppealGo guide as Markdown, with its sources.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds behavioral detail about the return format (Markdown) and that sources are included, which goes beyond the annotations. No contradictions.

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 a single, efficient sentence that front-loads the core action and output format. No filler or redundant information.

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

Completeness3/5

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

For a simple read-only tool with one parameter and no output schema, the description covers the return format and content, but does not explain the slug or address error scenarios (e.g., invalid or missing guide). It is adequate but has gaps given the zero schema coverage.

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

Parameters2/5

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

Schema coverage is 0% and the description does not explain the 'slug' parameter at all. While the parameter name is suggestive, the description fails to clarify what a slug represents or how it maps to a guide. The description must compensate for the lack of schema documentation but does not.

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 returns a full AppealGo guide in Markdown format and includes sources. This is specific and distinguishes it from search_guides, which is about finding guides rather than retrieving a complete one by slug.

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 does not explicitly mention when to use this tool versus alternatives. While the sibling list includes search_guides, there is no guidance on selecting get_guide when you have a slug or need a full guide. Usage is implied but not stated.

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

lookup_appeal_statusLook up an AppealGo appeal by referenceA
Read-onlyIdempotent
Inspect

Public status for a customer reference such as PCN-4471A2B9.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYes

TDQS

A4/5.0
Behavior3/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds 'public status' implying no authentication needed, but this is minor. It does not contradict annotations and adds minimal extra context beyond what annotations provide.

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?

A single sentence with no filler, front-loaded with the core purpose and an example. Every word contributes to understanding the tool.

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 one-parameter lookup with no output schema, the description is adequate to call the tool correctly. It could mention the return format, but that is not necessary given the simplicity of the tool.

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?

With 0% schema description coverage, the description provides a concrete example reference (PCN-4471A2B9), giving the agent a format hint that the schema lacks. This adds meaningful semantic value beyond the raw string type, though it doesn't fully specify accepted patterns.

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 states a specific action ('look up') on a specific resource ('AppealGo appeal') with a concrete example reference format. This clearly distinguishes it from sibling tools like file_appeal or check_notice, which have different purposes.

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 this is for public status lookups but does not explicitly state when to use it versus alternatives. No mention of other tools or conditions for exclusion, leaving the agent to infer context from the purpose alone.

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

search_contravention_codesSearch contravention codes by descriptionA
Read-onlyIdempotent
Inspect

Find the code for a description, e.g. 'disabled bay' or 'bus lane'.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

TDQS

A3.6/5.0
Behavior3/5

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

The annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description does not need to restate those. The description adds only examples, not behavioral details such as result format, matching behavior, or what happens with partial matches. It is consistent with annotations but adds little beyond them.

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 a single front-loaded sentence with a clear action and two useful examples. Every element earns its place; there is no filler or redundant elaboration.

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 one-parameter lookup with strong annotations, the description is mostly complete: the agent knows what to pass and the general purpose. The lack of an output schema and any statement about multiple matches or empty results is a minor gap, but not critical for such a straightforward search.

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?

The schema gives no description for the single 'query' parameter, so the tool description must compensate. It does clarify that query is a human-readable description and supplies examples. However, it leaves matching semantics (exact vs partial) and acceptable input formats ambiguous, making it adequate but minimal.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a clear verb ('Find') with a specific resource ('the code for a description') and concrete examples ('disabled bay', 'bus lane'), so an agent can grasp the core purpose immediately. It does not explicitly differentiate from the sibling explain_contravention_code, though the direction is strongly implied; thus it stops short of a 5.

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 the primary use case: given a description, find the corresponding contravention code. However, it provides no explicit guidance on when not to use it or when to prefer alternatives like explain_contravention_code or search_guides, so the agent must infer usage boundaries.

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

search_guidesSearch AppealGo's appeal guidesA
Read-onlyIdempotent
Inspect

Search plain-English guides on appealing UK parking tickets: council PCNs, private parking charges (ParkingEye, Euro Car Parks, APCOA...), bus lane, ULEZ, Clean Air Zone, Notice to Owner, TE9 witness statements, London boroughs and contravention codes. Returns slugs to pass to get_guide.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesFree text, e.g. 'ParkingEye grace period' or 'yellow box'
categoryNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds behavioral value by specifying the return format (slugs to pass to get_guide) and the scope of content covered. It does not contradict annotations and provides useful context beyond the structured hints.

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 a single, information-dense sentence that front-loads the core purpose and includes a concrete list of topics and the return value. It is efficient, though slightly long due to the enumerated examples, but each element adds value and there is no filler.

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

Completeness3/5

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

The description is comprehensive in scope and mentions the return type, but it lacks any detail about the category parameter and does not mention possible result limitations (e.g., pagination, ordering). Given there is no output schema, the description should clarify the expected return structure beyond 'slugs'. The coverage of topics is thorough, but the parameter ambiguity leaves an agent uncertain about how to use category effectively.

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

Parameters2/5

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

The schema covers the query parameter with an example but the category parameter is only an enum without description, and the tool description does not explain either parameter. With schema description coverage at 50%, the description should compensate for the category parameter's meaning, but it only implicitly references categories (notice-types, operators, councils, codes) without clarifying how they map. This is a notable 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?

The description clearly states the tool searches plain-English guides on appealing UK parking tickets, listing specific topics (council PCNs, private parking charges, bus lane, etc.) and explicitly notes it returns slugs for get_guide. This distinguishes it from sibling tools like search_contravention_codes and get_guide, giving a specific verb+resource+scope.

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 clearly indicates the tool is for finding guides and that results are slugs to pass to get_guide, implying a follow-up workflow. It implicitly separates it from search_contravention_codes by focusing on guides rather than codes. However, it does not explicitly state when not to use this tool or mention alternatives, but the context is clear enough.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updates
    • First observedcalculate_deadlines
    • First observedexplain_contravention_code
    • First observedget_guide
    • First observedlookup_appeal_status
    • First observedsearch_contravention_codes
    • First observedsearch_guides

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    B
    maintenance
    A no-key-first MCP server providing access to UK public data including postcodes, bank holidays, carbon intensity, flood warnings, and government datasets.
    26
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    UK public procurement data for AI agents. Tenders, contracts, buyer and supplier profiles over MCP and REST. 250 free credits.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides access to live UK Parliament data including bills, votes, MP profiles, and financial interests without requiring an API key. It enables users to track parliamentary rebellions, search petitions, and cross-reference voting records with declared financial interests.
    5
    4 npm
    9
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources