Skip to main content
Glama
thalisantunes

govbr-apis-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DATAJUD_API_KEYNoAPI key for DataJud, as shown in the example Claude Code configuration.
GOVBR_CATALOG_DIRNoReplaces the base catalog entirely and should be treated as trusted input.
TRANSPARENCIA_API_KEYNoAPI key for the Portal da Transparência, as shown in the example Claude Code configuration.
GOVBR_EXTRA_CATALOG_DIRNoPoint to a directory of .yaml or .yml files whose same-id entries win over the base catalog.
GOVBR_EXTRA_ALLOWED_HOSTSNoAdd a host to the allowlist for catalog entries. The same hostname rule (`[a-z0-9.-]`) applies to it.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_catalogA

Search the government API catalog by keyword (accent-insensitive; matches name, provider, tags and description).

category filters to: 'public' (free, callable today), 'meia-entrada' (half-price ticket eligibility sources), 'serpro' (commercial, needs contract) or 'conecta' (requires public-sector adhesion, not callable yet).

list_apisA

List catalog entries, most useful with a filter.

category: public | meia-entrada | serpro | conecta. status: available | unstable | manual_only | requires_contract | requires_public_entity. Note the catalog holds ~95 Conecta stubs that are not callable yet, so an unfiltered listing is mostly noise — filter by category or status.

describe_apiA

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.

call_apiA

Call an endpoint of a catalog API; base URL and credentials are resolved for you.

path is relative to the API's base_url (e.g. '/estados/mg') and may carry a query string; query overrides its keys, and a list value repeats a key. method is GET, HEAD, POST, PUT, PATCH, DELETE or OPTIONS; send body (JSON) only with POST/PUT/PATCH. Credential, Host, proxy and framing headers in headers are dropped and listed in ignored_headers.

Returns {status, url, body} (JSON parsed, text cut at 60k chars); a 3xx is not followed and carries its absolute location. Problems come back as {error}. Entries flagged pii: true return personal data (CPF/CNPJ): call them only when the user asked.

credentials_statusA

Show which APIs have credentials configured. Without api_id, reports every catalog entry that requires auth, so you can see what is ready to call.

ready says whether the credential env vars are set; callable whether call_api accepts the entry right now (a requires_contract entry, such as Serpro's, only does once they are).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.2/5.0

Scored across 5 tools

Disambiguation4/5

search_catalog and list_apis both enumerate catalog entries and both accept category filters, so their boundary is somewhat blurry (keyword vs. filter is the only real differentiator), though the descriptions do explain the intent. describe_api, credentials_status and call_api each target a clearly distinct facet of the workflow.

Naming Consistency4/5

Four of five tools follow a clean verb_noun pattern (search_catalog, list_apis, describe_api, call_api). credentials_status breaks it with a noun_noun form, and there is a minor singular/plural mismatch (list_apis vs. describe_api), but overall the naming reads predictably.

Tool Count5/5

Five tools is exactly right for a catalog gateway: one search, one list, one schema lookup, one credential check, one invocation. Each earns its place with no redundancy or padding.

Completeness4/5

The surface covers the full discover→describe→verify-credentials→call lifecycle, and call_api handles methods, bodies, headers and error/redirect reporting. The only minor gaps are the absence of any way to configure credentials or page through large result sets, both of which an agent can work around.

Maintenance

ActivityNo data
ResponsivenessNo issues