Skip to main content
Glama

Irr As Set Expand

irr_as_set_expand

Resolve an AS-SET into its member ASNs by recursively following nested members from IRR sources, revealing the full set of autonomous systems in a transit cone or peering group.

Instructions

Expand an AS-SET into its member ASNs.

Recursively resolves an AS-SET: reads its members/mp-members attributes, follows any nested AS-SET members, and collects every member ASN. Useful for understanding the customer cone of a transit provider or what ASNs are in a peering group. Uses RADB by default because it mirrors objects from many registries.

The name must look like an RPSL set ('AS-...', 'RS-...', or a hierarchical 'AS13335:AS-...' name); bare ASNs are rejected. Recursion is bounded (6 levels deep, 20000 ASNs) to keep very large transit cones from running unbounded. If any lookup during expansion fails, error is set and the members collected so far are returned.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
as_setYesAS-SET name to expand (e.g. 'AS-CLOUDFLARE', 'AS13335:AS-PEERS')
sourceNoIRR source to query. Available: radb, ripe, arin, apnic, afrinic, lacnic, nttcom, level3, altdb.radb

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoSet when the whois query failed; other fields may be empty or partial.
totalYesNumber of member ASNs
as_setYesAS-SET name that was expanded (upper-cased)
sourceYesRegistry queried (e.g. 'radb')
membersNoSorted, de-duplicated member ASNs after recursive expansion

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral disclosure burden. It explains recursion, member attribute reading, nested set following, bounded recursion (6 levels, 20000 ASNs), default source rationale, and partial-result-with-error behavior on lookup failure. This is unusually transparent.

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 compact yet complete. It front-loads the core purpose in the first sentence, then adds only high-value details about behavior, constraints, and error handling. No sentence is redundant or wasted.

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?

For a tool with two parameters and an output schema, the description covers everything an agent needs: purpose, valid input forms, default source, recursion limits, and failure behavior. The output schema handles return-value documentation, so no additional output details are necessary.

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 description coverage is 100%, so the baseline is 3. The description adds meaningful semantic value beyond the schema: it enforces valid RPSL set naming, explicitly rejects bare ASNs, and explains why the default source is RADB. These are useful validation and rationale details that an agent would not get from the schema alone.

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 with a specific verb and resource: 'Expand an AS-SET into its member ASNs.' It further clarifies the recursive resolution behavior and distinguishes this from sibling tools by identifying its purpose (customer cone, peering group membership). This is unambiguous and clearly differentiated.

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 gives clear usage context: useful for customer cones or peering groups, and it explains that RADB is the default because it mirrors many registries. It also provides important input constraints, such as rejecting bare ASNs and requiring RPSL-style names. It does not explicitly mention alternatives or when not to use it, but the context is strong enough for an agent to decide.

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