Skip to main content
Glama

Verify an AS path with ASPA

check_aspa_path
Read-onlyIdempotent

Check an AS_PATH against the published ASPA objects (RPKI attestations of which providers a network authorises), following the verification procedure of draft-ietf-sidrops-aspa-verification. The result is valid, invalid or unknown, with the reason and the first hop that broke the path.

Use it to find out whether a path shows a route leak or an unauthorised provider. "Unknown" only means some network on the path published no ASPA; it is not a fault.

Behavior: offline, answered from the local RPKI snapshot. The procedure is an Internet-Draft, not an RFC, and the neighbor-AS and AS_SET prerequisite checks of a real router are left out. Only the path is read; it is neither stored nor logged.

Input Schema

NameRequiredDescriptionDefault
pathYesthe AS_PATH as seen by the receiver, neighbor first and origin last, separated by spaces or commas, e.g. 3356 1299 14041 194 (every hop is an AS number, with or without the AS prefix). Prepending is fine; an AS_SET {..} is refused
directionNoupstream (default): the route came from a customer or peer; downstream: it came from a provider

Output Schema

NameRequiredDescriptionDefault
pathYesthe path after removing repeated ASes, neighbor first
reasonNo
outcomeYesvalid, invalid or unknown (no attestation for some hop). Informational; follows an Internet-Draft, not an RFC
summaryYesthe human-readable result, the same text as the text content
directionYes
aspa_countNonumber of ASes with an ASPA in the loaded set

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior5/5

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

Goes well beyond the annotations (readOnly, idempotent, closed-world) by disclosing that evaluation is offline against a local RPKI snapshot, that the procedure is an Internet-Draft rather than an RFC, and that real-router neighbor-AS and AS_SET prerequisite checks are omitted. It also states the path is neither stored nor logged, which is information the agent cannot get from structured fields.

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?

Front-loads the core action and result semantics, then uses short paragraphs for interpretation and caveats. Slightly longer than strictly necessary (the draft/RFC caveat and the 'not stored or logged' note both appear), but every sentence carries usable information.

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?

An output schema exists, so return values need not be described; the description instead covers the things it must — offline operation, draft-stage procedure, omitted prerequisite checks, and how to read 'unknown'. Nothing an agent needs to call or interpret this tool correctly is missing.

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 both 'path' and 'direction' are already documented, including ordering, separators and AS_SET refusal. The description reinforces that 'only the path is read' but adds no new syntax or semantics, so the baseline of 3 applies.

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?

States a specific verb and resource ('Check an AS_PATH against the published ASPA objects') and defines ASPA inline, so the agent knows this is ASPA-based path validation rather than a generic route lookup. The stated aim ('find out whether a path shows a route leak or an unauthorised provider') further scopes it, but no sibling such as check_route is named for contrast.

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?

Gives a clear use case (detecting route leaks / unauthorised providers) and pre-empts a likely misreading by explaining that 'unknown' means a missing ASPA publication, not a fault. It offers no explicit when-not conditions or named alternatives, so the routing guidance stops short of the top band.

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