Skip to main content
Glama

list_issuing_authorities

Read-onlyIdempotent

Lists the issuing authorities available through this tool, with metadata such as jurisdiction and issuing authority.

When to use: When you need issuing authorities for a known iso. Pass optional portal name or issuing authority only to narrow that list. When not: Do not call without an iso from list_jurisdictions. Skip if you already have this issuing authority list for the same iso and filters. Empty data means the iso is outside the subscription, or no issuing authority matched.

Parameters: iso (required) is a jurisdiction code from list_jurisdictions (e.g. BE, or US_CA for a state). portal_name and issuing_authority are optional. issuing_authority must match one issuing authority exactly. With limit, next_id parameters to paginate the results.

Behavior: Read-only SELECT; does not create, update, or delete records, files, or credentials. The only effect is a database read. Auth: tools/call requires OAuth 2.0 or a Bearer token (401 if missing, invalid, revoked, or no active subscription). Rate limits: none at the MCP layer; safe to retry. Not cached; each call reads current subscription and issuing authority data. Issuing authorities with total_links of 0 are omitted.

Returns: A list of issuing authorities matching the filters, with pagination information.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "iso": "<iso>"
    },
    "name": "list_issuing_authorities"
  }
}

Input Schema

NameRequiredDescriptionDefault
isoYesFilter by Jurisdiction ISO code (e.g. 'US')
limitNoNumber of results to return
next_idNoNext issuing authority ID to return
portal_nameNoFilter by portal name
issuing_authorityNoFilter by issuing authority

Output Schema

NameRequiredDescriptionDefault
dataYesIssuing authorities in the requested jurisdiction that have crawled links; empty if none match.
messageYesResult message
paginationNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / data / items / properties / updated_at
      Added value: +{
      +  "description": "Updated at",
      +  "type": "string"
      +}
    • changedOutput schema / properties / data / items / required
      Previous value: -[
      -  "id",
      -  "iso",
      -  "portal_name",
      -  "issuing_authority",
      -  "issuing_authority_tags"
      -]New value: +[
      +  "id",
      +  "iso",
      +  "portal_name",
      +  "issuing_authority",
      +  "issuing_authority_tags",
      +  "updated_at"
      +]
  2. Changed5 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / next_id
      Added value: +{
      +  "description": "Next issuing authority ID to return",
      +  "type": "number"
      +}
    • removedInput schema / properties / offset
      Removed value: -{
      -  "description": "Number of results to skip",
      -  "type": "number"
      -}
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "description": "Issuing authorities in the requested jurisdiction that have crawled links; empty if none match.",
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "id": {
      +            "description": "Issuing authority ID",
      +            "type": "number"
      +          },
      +          "iso": {
      +            "description": "Jurisdiction ISO",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "issuing_authority": {
      +            "description": "Issuing authority",
      +            "type": "string"
      +          },
      +          "issuing_authority_tags": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Issuing authority tags"
      +          },
      +          "portal_name": {
      +            "description": "Portal name",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "iso",
      +          "portal_name",
      +          "issuing_authority",
      +          "issuing_authority_tags"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "message": {
      +      "description": "Result message",
      +      "type": "string"
      +    },
      +    "pagination": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "limit": {
      +          "description": "Maximum number of issuing authorities returned",
      +          "type": "number"
      +        },
      +        "next_id": {
      +          "description": "Cursor ID for the next page, or null when there is no next page",
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "total_count": {
      +          "description": "Total number of matching issuing authorities",
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "total_count",
      +        "limit",
      +        "next_id"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "message",
      +    "data"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description goes well past them: OAuth 2.0 or Bearer auth with 401 failure modes, no MCP-layer rate limits, no caching (each call reads current subscription and authority data), and the non-obvious rule that authorities with total_links of 0 are omitted. That last detail materially explains surprising result sets.

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?

Labeled sections (When to use / When not / Parameters / Behavior / Returns) make it scannable and front-loaded, and almost every sentence carries usable information. The closing "Returns" sentence is largely redundant given an output schema exists, and the opening phrase repeats "issuing authorit(y/ies)" twice.

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 filtered, paginated read tool this covers everything an agent needs: prerequisite source for iso, optional narrowing filters, auth and retry posture, caching, empty-result interpretation, and pagination. Return-shape detail is appropriately left to the output schema rather than duplicated.

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 would be 3, but the description adds real meaning: iso must be a jurisdiction code sourced from list_jurisdictions with format examples (BE, US_CA for states), issuing_authority must match exactly, and limit/next_id are the pagination pair. Minor remaining gap is that it doesn't say whether filters combine (AND) or how next_id behaves at the end of a page.

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?

States a specific verb and resource ("Lists the issuing authorities") and scopes it to a known jurisdiction ISO, which immediately separates it from siblings like list_jurisdictions. The prerequisite relationship to list_jurisdictions is stated explicitly, so an agent can place the tool in the call sequence without opening a schema.

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?

Provides an explicit "When to use"/"When not" split: call only with an iso obtained from list_jurisdictions, skip if the list is already cached for the same iso and filters. It also explains what empty results mean (out-of-subscription jurisdiction or no match), which is the kind of guidance that prevents pointless retries.

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.