Skip to main content
Glama

list_access_points

Read-only

List access points

The Access Point directory: every Provider in its serving role, with its member seats and roster size (current participant count), busiest first. A Provider is resolved from each seat with the precedence curated mapping (verified) → exact signing-cert O= string (unverified) → bare SeatID. Not paginated (the envelope's next_cursor is always null). Pass ?country=CC to compare providers within one market instead of network-wide. Every item carries the windowed net growth; a MARKET-tier key additionally gets the four churn components behind each net (joiners, movers_in, movers_out, leavers × 7d/30d/90d), which a lower-tier key simply does not receive.

kind selects the row kinds. The default is provider, and the list is then Provider rows only. A Vendor is a curated software or service brand that connects its customers through the Seats of one or more Providers; kind=vendor returns the Vendor rows and kind=all returns both, each item marked by kind. A Vendor's participants are always also in the count of the Provider that serves them: never add Provider rows and Vendor rows into one total, share or rank.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNoWhich row kinds to return. `provider` (default): Provider rows only. `vendor`: Vendor rows only. `all`: both, sorted together by `participant_count`. `vendor` and `all` need a MARKET-tier key; a lower-tier key gets a 403, never a list without the Vendors. Any other value is a 400.provider
countryNoScope the returned figures to one market: an ISO 3166-1 alpha-2 code (e.g. `BE`), case-insensitive. Anything that is not exactly two letters is a 400. When set, every item additionally carries `country_roster`, `country_orgs` and `country_net_7d|30d|90d`; the network-wide fields are unchanged. A MARKET-tier key additionally gets the scoped churn components `country_joiners|movers_in|movers_out|leavers_7d|30d|90d`. A Vendor row carries `country_roster` and `country_orgs` only: there is no country-scoped Vendor movement.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / country / description
      Previous value: -"Scope the returned figures to one market: an ISO 3166-1 alpha-2 code (e.g. `BE`), case-insensitive. Anything that is not exactly two letters is a 400. When set, every item additionally carries `country_roster`, `country_orgs` and `country_net_7d|30d|90d`; the network-wide fields are unchanged. A MARKET-tier key additionally gets the scoped churn components `country_joiners|movers_in|movers_out|leavers_7d|30d|90d`."New value: +"Scope the returned figures to one market: an ISO 3166-1 alpha-2 code (e.g. `BE`), case-insensitive. Anything that is not exactly two letters is a 400. When set, every item additionally carries `country_roster`, `country_orgs` and `country_net_7d|30d|90d`; the network-wide fields are unchanged. A MARKET-tier key additionally gets the scoped churn components `country_joiners|movers_in|movers_out|leavers_7d|30d|90d`. A Vendor row carries `country_roster` and `country_orgs` only: there is no country-scoped Vendor movement."
    • addedInput schema / properties / kind
      Added value: +{
      +  "default": "provider",
      +  "description": "Which row kinds to return. `provider` (default): Provider rows only. `vendor`: Vendor rows only. `all`: both, sorted together by `participant_count`. `vendor` and `all` need a MARKET-tier key; a lower-tier key gets a 403, never a list without the Vendors. Any other value is a 400.",
      +  "enum": [
      +    "provider",
      +    "vendor",
      +    "all"
      +  ],
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / country / description
      Previous value: -"Scope the returned figures to one market: an ISO 3166-1 alpha-2 code (e.g. `BE`), case-insensitive. Anything that is not exactly two letters is a 400. When set, every item additionally carries `country_roster`, `country_orgs` and `country_net_7d|30d|90d`; the network-wide fields are unchanged."New value: +"Scope the returned figures to one market: an ISO 3166-1 alpha-2 code (e.g. `BE`), case-insensitive. Anything that is not exactly two letters is a 400. When set, every item additionally carries `country_roster`, `country_orgs` and `country_net_7d|30d|90d`; the network-wide fields are unchanged. A MARKET-tier key additionally gets the scoped churn components `country_joiners|movers_in|movers_out|leavers_7d|30d|90d`."
  3. Changed1 schema field changed
    • addedInput schema / properties / country
      Added value: +{
      +  "description": "Scope the returned figures to one market: an ISO 3166-1 alpha-2 code (e.g. `BE`), case-insensitive. Anything that is not exactly two letters is a 400. When set, every item additionally carries `country_roster`, `country_orgs` and `country_net_7d|30d|90d`; the network-wide fields are unchanged.",
      +  "pattern": "^[A-Za-z]{2}$",
      +  "type": "string"
      +}
  4. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true, so the description carries the rest and does it well: it discloses that the result is not paginated (next_cursor always null), that sorting is busiest-first, that a MARKET-tier key receives churn components while a lower-tier key does not, and the crucial anti-double-counting rule for Provider vs Vendor rows. Auth/tier behavior is covered at a high level; a note on what happens with an unauthenticated or wrong-tier key beyond 'does not receive' is the main omission.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Structure is decent (what the directory returns, then how kind selects row types), but much of the kind/country prose restates the enum and parameter descriptions almost verbatim from the schema, notably the 403-for-lower-tier-key rule and the country field inventory. The double-counting warning earns its place; the duplicated parameter detail does not.

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?

With no output schema, the description fully carries the return contract: field inventory per item, the extra country-scoped fields, tier-gated churn components at 7d/30d/90d, sort order, and pagination behavior. An agent can interpret the response without guessing, and the Provider/Vendor aggregation caveat removes the most likely analytical error.

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 baseline is 3 and the schema already documents kind and country mechanics. The description adds intent and consequence beyond the schema: country is for 'compare providers within one market instead of network-wide', and the warning that Vendor participants are always also counted in their serving Provider, so rows must never be summed into one total, share or rank. That is real semantic value on top of 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 gives a specific verb and a precisely scoped resource: 'The Access Point directory: every Provider in its serving role, with its member seats and roster size (current participant count), busiest first.' An agent knows exactly what rows come back and in what order. It never explicitly distinguishes itself from the singular get_access_point or from list_providers, so 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?

Usage guidance exists at the parameter level ('Pass ?country=CC to compare providers within one market instead of network-wide', and the kind selection rules), which is genuinely helpful for steering an invocation. However, it never states when to reach for this tool versus the sibling directory tools, so tool-level selection is left to inference.

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