Skip to main content
Glama
thalisantunes

govbr-apis-mcp

describe_api

Retrieve catalog metadata and OpenAPI operation details for Brazilian government APIs. Pass an API ID to list operations or a path to view parameter, request, and response schemas.

Instructions

Describe an API from the catalog.

Without path: catalog metadata plus, when an OpenAPI spec is published, the full operation list (method + path + summary). With path (templated exactly as the spec lists it): parameter/request/response schemas for that operation.

Paths from the spec are relative to the API's base_url — pass them to call_api unchanged.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNo
api_idYes
methodNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4/5.0
Behavior3/5

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

No annotations exist, so the description carries the full behavioral burden. It usefully discloses a two-mode read behavior and what each mode returns, but says nothing about failure modes (unknown api_id, path not in the spec) or any auth/permission requirements. A 'describe' verb implies read-only, so this is adequate but not rich.

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?

Front-loaded one-line purpose followed by the two operating modes and a path-handling note; every sentence carries information and there is no boilerplate or repetition.

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?

An output schema exists, so return structure need not be explained, and the description correctly focuses on the path/base_url contract an agent needs to chain into call_api. The remaining gap is `method` semantics and error behavior for unresolvable api_id/path, which a no-annotation tool would ideally cover.

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 0%, so the description must compensate and it does so well for `path` (must be templated exactly as the spec lists it, relative to base_url, passable to call_api unchanged). However, `method` is never mentioned, leaving its disambiguation role for same-path operations unexplained, and `api_id` sourcing is only implied.

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+resource ('Describe an API from the catalog') and immediately disambiguates itself from siblings by contrasting catalog-level output with per-operation schema output, and by noting paths feed into call_api unchanged. An agent can distinguish it from list_apis, search_catalog, and call_api without opening any schema.

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 explicit conditional usage: omit `path` for catalog metadata and the operation list, supply `path` to get parameter/request/response schemas for one operation. It also routes the agent onward to call_api. It does not state when to prefer search_catalog/list_apis to find the api_id in the first place, so a true 'vs alternatives' statement is absent.

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