Skip to main content
Glama

Server Details

Search Brazilian government tenders and public procurement (PNCP): find notices and auctions by keyw

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
mcp-dir/pncp-mcp
GitHub Stars
0

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.4/5 across 19 of 19 tools scored. Lowest: 3.5/5.

Server CoherenceB
Disambiguation3/5

The pncp_* tools are mostly differentiated by data type, but there is real overlap: pncp_buscar, pncp_listar, and pncp_oportunidades all search licitações, while pncp_detalhe and pncp_processo both return full details and pncp_resultado overlaps with pncp_detalhe(resultado=true). Detailed descriptions help, but an agent could easily pick the wrong search or detail tool.

Naming Consistency2/5

Naming is inconsistent: English platform tools (authenticate, connect, marketplace, report_bug, show_version, toolkit_info) sit alongside Portuguese pncp_* names, with some verbs (buscar, listar) and mostly nouns (atas, contratos, detalhe, processo, texto). There is no single predictable verb_noun or resource_action convention.

Tool Count3/5

19 tools is in the heavy range and includes 6 generic platform/account tools that are unrelated to the PNCP procurement domain. The 13 pncp_* tools are defensible for a broad read-only procurement API, but several overlap enough that the count feels slightly bloated rather than tightly scoped.

Completeness4/5

The PNCP side covers the core read-only procurement lifecycle well: keyword search, value-ranked listing, opportunities, full detail, edital text, document downloads, winners, contracts, atas, historical data, PCA, and buyer organs. Minor gaps exist, such as losing bids/lances being explicitly unavailable and the marketplace features being bundled into one overloaded tool instead of separate ones.

Available Tools

19 tools
authenticateA
Idempotent
Inspect

MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header Authorization: Bearer <token> for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "" } after the user pastes, or with no args to get the link.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenNo
Behavior4/5

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

Annotations indicate idempotentHint=true and destructiveHint=false, which the description aligns with (no destructive actions). The description adds behavioral context: it explains the authentication flow (browser login, token copy), the two modes, and the permanence of the config-based approach. It does not contradict annotations. It could mention that the token is sensitive, but that's minor.

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?

The description is a single paragraph but contains multiple pieces of information: the target audience, the login process, the two modes, and the call patterns. It is somewhat dense but not overly long. It could be structured with bullet points for clarity, but it is still concise and front-loaded with the main purpose.

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?

Given the tool's simplicity (one optional parameter, no output schema), the description covers the essential usage scenarios and provides enough context for an agent to invoke it correctly. It explains the two modes and the argument behavior. It could mention what the response looks like (e.g., success message), but that is not critical. The description is complete enough for this tool.

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?

The schema has one optional parameter 'token' with no description. The description explains that the token is a JWT to be pasted for session-only login, and that calling with no args returns the link. This adds meaning beyond the schema, but the description does not fully elaborate on token format or validation. Since schema coverage is 0%, the description compensates partially, but the parameter semantics are still somewhat thin.

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 clearly states the tool's purpose: to authenticate an IDE agent by logging in via browser and obtaining an access token. It distinguishes between two modes (permanent config-based and session-only token paste), which adds specificity beyond the name 'authenticate'.

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?

The description provides explicit guidance on when to use this tool: for logging in and obtaining a token. It also explains the two usage scenarios (permanent via config header, session-only via token argument) and even instructs to call with no args to get the link. This is clear and actionable.

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

connectA
Read-onlyIdempotent
Inspect

Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

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

It explicitly describes the output for different states: authenticated:true and empty pending[] when connected, and connect_url when credentials are missing. This goes beyond the annotations, which only indicate read-only and idempotent behavior.

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 concise, two sentences, with no unnecessary words. It efficiently conveys the core functionality.

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?

Given no parameters and no output schema, the description fully covers the expected behavior and return values under different conditions, making it complete for an agent to use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, so the description adds value by explaining the output logic, which is the only meaningful information beyond the empty schema.

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 clearly states the tool's purpose: returning connection status and URLs. It differentiates from sibling tools by focusing on connection state rather than data queries.

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 implicitly guides usage by describing behavior under two conditions (all providers connected vs. missing credentials), which suggests using it to check connection status before other operations, though it doesn't explicitly state when to prefer this tool.

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

marketplaceAInspect

The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/ link that opens without login.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
actionNosearch
mcp_idNo
messageNo
tool_idNo
argumentsNo{}
immediateNo
tier_slugNo
prompt_bodyNo
prompt_slugNo
prompt_toolNo
prompt_varsNo{}
conversationNo[]
prompt_titleNo
request_nameNo
cancel_reasonNo
cancel_commentNo
prompt_targetsNo
report_contextNo
prompt_categoryNo
request_detailsNo
prompt_descriptionNo
Behavior5/5

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

Goes well beyond annotations by explaining that invoke runs one-off executions without installation, may return connect or checkout links requiring user action, and that writes require owner/admin. It also distinguishes installed_in_toolkit vs installed_in_workspace, adding significant operational context.

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?

The description is a dense, single block of text covering many topics (MCP flow, prompt library, permissions, retry logic). While comprehensive, it lacks structural organization (e.g., bullet points, sections) that would improve scanability, making it less concise than ideal for a quick agent read.

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?

For a tool with 23 parameters and no output schema, the description covers the main scenarios thoroughly: discovery, execution, installation, prompt search/retrieval/publishing, and failure modes (connect/checkout links). It leaves some actions (subscribe/cancel/report_bug) briefly mentioned but sufficient for initial understanding.

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?

With 0% schema description coverage, the description compensates by explaining key parameters like action, mcp_id, tool_id, arguments, and prompt_* fields. It doesn't cover all 23 parameters (e.g., limit, immediate, tier_slug) but adequately explains the core workflow parameters needed for correct invocation.

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 clearly identifies the tool as the official mcp.ai marketplace and catalog, explicitly distinguishing between MCP discovery/execution and the prompt library. It explains the core flow (search→describe→invoke) and differentiates it from sibling tools like PNCP or reporting tools.

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 explicit guidance on when to use search vs describe vs invoke vs install, including when to prefer invoke over install, when list_tools is appropriate, and when to use prompt actions. Also notes permission requirements for writes, which is critical for correct usage.

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

pncp_arquivosA
Read-onlyIdempotent
Inspect

Documentos de uma licitação/edital (edital, termo de referência, anexos) com o LINK de download de cada arquivo (em geral PDF). A partir de cnpj+ano+sequencial (a referência devolvida pela pncp_buscar). Use pra trazer o PDF do edital pro usuário ou pra outra IA ler o conteúdo.

ParametersJSON Schema
NameRequiredDescriptionDefault
anoYes
cnpjYes
sequencialYes
Behavior4/5

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

Annotations already cover safety (readOnlyHint, idempotentHint, destructiveHint). The description adds behavioral context by specifying it returns download links (not the content itself) and that files are usually PDFs. This is useful beyond the annotations, though it doesn't detail error cases or pagination—acceptable given the simple retrieval nature.

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 two sentences, front-loaded with the tool's function and key output (links). It avoids redundancy and mentions only essential details, making it highly concise and well-structured.

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?

Given the tool's simplicity (a retrieval of download links) and the combination of annotations plus description, it is fairly complete. It clarifies the output type (links) and the intended use case. However, it could hint at the response structure (e.g., a list of documents), but that's minor. No output schema exists, so some return details are missing, but not critical.

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?

The schema has no descriptions (0% coverage), so the description must explain parameters. It does so by stating they are 'cnpj+ano+sequencial (a referência devolvida pela pncp_buscar)', which connects them to a known reference. It doesn't detail formats, but the explanation is sufficient for an agent to understand they are a compound key from another tool.

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 clearly states the tool retrieves documents of a bidding process with download links, and explicitly mentions the input format (cnpj+ano+sequencial) and its relationship to pncp_buscar. It distinguishes itself from siblings with its specific focus on document retrieval, not search or details.

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?

The description provides direct usage guidance: 'Use pra trazer o PDF do edital pro usuário ou pra outra IA ler o conteúdo.' It also establishes the prerequisite that the reference comes from pncp_buscar, which implies when this tool is appropriate. While it doesn't state exclusions, the context is clear 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.

pncp_atasA
Read-onlyIdempotent
Inspect

Lista atas de registro de preços vigentes num período (referência de preços praticados pelo governo), opcionalmente por órgão (CNPJ).

ParametersJSON Schema
NameRequiredDescriptionDefault
cnpjNo
paginaNo
data_finalYes
data_inicialYes
tamanho_paginaNo
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds that records are 'vigentes' (active) and optionally filtered by CNPJ. However, it does not mention pagination behavior, output format, or data-scope limitations, leaving some behavioral gaps.

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 a single, front-loaded Portuguese sentence with no filler. Every phrase adds meaning: the resource type, temporal scope, optional filter, and purpose.

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?

For a read-only list operation with strong annotations, the description provides the essential context: active price-registration records in a period, optionally filtered by agency. It could additionally clarify pagination and differentiate from siblings, but it is sufficient for basic correct invocation.

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%, and the description compensates by explaining that the period maps to the required date range and that 'órgão' corresponds to the cnpj parameter. It does not elaborate on pagina/tamanho_pagina or requiredness, though those are partly inferable from parameter names.

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 uses the specific verb 'Lista' and clearly identifies the resource: 'atas de registro de preços vigentes num período', with an optional filter by 'órgão (CNPJ)'. This distinguishes it from sibling tools like pncp_contratos and pncp_oportunidades.

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?

It gives clear context: the tool lists currently valid price registration agreements within a period and can be filtered by agency CNPJ. It does not explicitly name alternatives or exclusions, but the intended use is easily inferred.

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

pncp_buscarA
Read-onlyIdempotent
Inspect

Busca licitações por PALAVRA-CHAVE no objeto (cobertura NACIONAL ampla, índice full-text), em editais, atas ou contratos. Retorna órgão, estado, município, modalidade, situação, datas e a referência (cnpj/ano/sequencial) pra detalhar. Aceita VÁRIOS termos em termos[]: cada um vira uma busca separada (disparadas com um intervalo entre si pra não pegar rate limit), e os resultados voltam fundidos e deduplicados numa lista só, com termos_buscados. IMPORTANTE: a busca full-text NÃO traz valor (vem sempre null) e não filtra por valor. Pra filtrar/ordenar por VALOR use pncp_listar (com apenas_abertas + termos + valor_min/valor_max) ou pncp_historico (faixa de valor sobre a base acumulada).

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoNo
termoNo
paginaNo
statusNo
termosNo
ordenacaoNo
tam_paginaNo
Behavior5/5

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

Beyond the annotations (readOnly, idempotent, non-destructive), the description elaborates on behavioral details: the full-text search does not return or filter by value, it handles multiple terms via separate searches with intervals to avoid rate limits, and outputs merged deduplicated results. This transparency goes well beyond the basic annotations.

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 well-structured: it starts with the primary function, then details the multiple-term behavior, and finally includes an important caveat about value. Despite its length, it is concise and front-loaded, with each sentence adding necessary information. The structure aids readability and comprehension.

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?

Given the lack of an output schema, the description compensates by specifying the returned fields (órgão, estado, município, modalidade, situação, datas, referência) and noting that `termos_buscados` is included. It also explains the tool's limitations (no value) and points to alternatives, providing a holistic understanding of its role. This makes the description sufficiently complete for the given context.

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?

The input schema has no descriptions (0% coverage), so the description must compensate. It explains the core parameter `termos[]` (and implies `termo` as singular) and the behavior of multiple terms. However, it does not elaborate on `pagina`, `tam_pagina`, `ordenacao`, or `status`, which are common pagination/ordering/filter parameters. While it adds significant meaning for the main search term, it omits some parameter details, so a score of 4 is appropriate.

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 clearly states the tool's purpose: searching licitações by keyword in the object across national scope (editais, atas, contratos). It also distinguishes itself from related tools by noting that it does not return or filter by value, directing users to pncp_listar and pncp_historico for those needs.

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?

The description provides explicit guidance on when to use this tool versus alternatives: it mentions that for value-based filtering/ordering, one should use pncp_listar or pncp_historico. It also explains the behavior with multiple terms (separate searches, merging, deduplication) and the rate-limiting caveat, offering clear usage context.

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

pncp_contratosA
Read-onlyIdempotent
Inspect

Lista contratos públicos firmados num período, opcionalmente filtrando por órgão (CNPJ).

ParametersJSON Schema
NameRequiredDescriptionDefault
paginaNo
cnpj_orgaoNo
data_finalYes
data_inicialYes
tamanho_paginaNo
Behavior3/5

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

As anotações já informam que a operação é somente leitura, idempotente e não destrutiva, então o risco comportamental é baixo. A descrição acrescenta o comportamento de filtragem por período/CNPJ, mas não fala sobre paginação, formato da resposta ou limites relevantes.

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?

A descrição é uma frase curta, com o verbo no início e sem palavras redundantes. Transmite o objetivo principal, o escopo temporal e o filtro opcional de forma eficiente, sem poluição.

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?

Para uma ferramenta de listagem simples, a descrição cobre o essencial: o recurso, o período e o filtro por CNPJ. A ausência de menção à paginação é parcialmente suprida pelos parâmetros pagina/tamanho_pagina no schema, mas não há descrição do retorno nem de limites, lembrando que não há output schema.

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?

A descrição ajuda a dar sentido a data_inicial/data_final como 'período' e a cnpj_orgao como filtro por 'órgão', com 0% de cobertura no schema. Porém, não explica os parâmetros pagina e tamanho_pagina, deixando lacuna parcial; os nomes autoexplicativos do schema compensam um pouco.

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?

A descrição usa verbo específico 'Lista' mais o recurso 'contratos públicos' e o escopo temporal ('num período'), além do filtro opcional por órgão (CNPJ). Isso distingue claramente o tool de irmãos como pncp_atas, pncp_orgaos e pncp_buscar.

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?

A descrição indica claramente o caso de uso: listar contratos públicos firmados em um período, com filtro opcional por CNPJ. No entanto, não menciona explicitamente quando não usar a ferramenta ou qual alternativa preferir, o que impede o 5.

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

pncp_detalheA
Read-onlyIdempotent
Inspect

Detalhe completo de uma licitação/contratação a partir de cnpj+ano+sequencial (a referência devolvida pela pncp_buscar). Com itens=true, inclui os itens da contratação com preços unitários, essencial pra pesquisa de preços. Com resultado=true, anexa o bloco resultado com o(s) fornecedor(es) vencedor(es) homologado(s).

ParametersJSON Schema
NameRequiredDescriptionDefault
anoYes
cnpjYes
itensNo
resultadoNo
sequencialYes
Behavior4/5

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

The description discloses that it returns details, and optionally includes items and resultado blocks. It does not mention side effects or errors, but read-only behavior is covered by annotations. The added context about the reference from pncp_buscar is helpful.

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 two sentences, direct, and contains no unnecessary information. It is well-structured and easy to parse.

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?

For a tool with 5 parameters and no output schema, the description covers the main purpose and the optional behavior. It does not describe the return format or error conditions, but these are not critical given the simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description goes beyond the schema by explaining that cnpj+ano+sequencial is the reference from pncp_buscar, and clarifies the meaning of the boolean flags itens and resultado. This fully documents the parameter semantics.

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 clearly states the tool retrieves complete details of a licitação/contratação using CNPJ, ano, and sequencial, and references the source (pncp_buscar). This is specific and distinguishes it from siblings.

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?

It explains the effect of the optional parameters itens and resultado, which is useful. It does not explicitly state when to prefer this over other tools, but the purpose is clear enough that usage is implied.

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

pncp_historicoA
Read-onlyIdempotent
Inspect

Arquivo histórico de licitações: consulta editais que a plataforma acumulou ao longo do tempo (inclusive os que já encerraram ou saíram do ar), por PALAVRA-CHAVE no objeto, estado (UF), modalidade, situação e período de publicação. Diferente da pncp_buscar (consulta ao vivo), aqui a base é o arquivo próprio, útil pra histórico e séries.

ParametersJSON Schema
NameRequiredDescriptionDefault
ufNo
ateNo
desdeNo
termoNo
paginaNo
situacaoNo
valor_maxNo
valor_minNo
modalidadeNo
tam_paginaNo
Behavior4/5

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

The description adds behavioral context beyond the annotations (readOnlyHint, idempotentHint, destructiveHint) by explaining that it includes notices that have already closed or been taken offline, and that it operates on the platform's own archive. This is useful context that is not present in the annotations. No contradiction is observed.

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 a single, well-structured sentence that front-loads the purpose and quickly explains the difference from the live tool. No unnecessary words are used, and it is appropriately sized for a query tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the description effectively conveys the core use case and differentiates from siblings, it lacks details on output format, pagination, and some filters (e.g., value ranges). Since there is no output schema, the description could have better described the return shape, but it is adequate for a read-only tool with annotations covering safety.

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?

The description mentions several filter dimensions (termo, uf, modalidade, situacao, desde/ate) but omits others like pagina, tam_pagina, valor_min, and valor_max. Given that schema description coverage is 0%, the description partially compensates by explaining some parameters conceptually, but it is not comprehensive for all 10 parameters.

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 clearly states the tool's purpose: it is a historical archive of public procurement notices (licitações), and it explicitly contrasts itself with pncp_buscar (live query). This gives a specific verb ('consulta') and resource ('arquivo histórico de licitações'), and distinguishes it from a sibling tool.

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?

The description provides explicit usage guidance by stating 'Diferente da pncp_buscar (consulta ao vivo), aqui a base é o arquivo próprio, útil pra histórico e séries.' This tells the user when to use this tool (for historical data) versus the alternative (live queries), and even notes it is useful for historical and series analysis.

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

pncp_listarA
Read-onlyIdempotent
Inspect

Busca PRINCIPAL de licitações abertas por palavra-chave, faixa de VALOR, estado, modalidade e período. Cobertura agregada e instantânea de vários portais. Já vem com VALOR estimado por item e RANQUEADA por valor (maior 1º) automaticamente. Os termos são EXPANDIDOS em sinônimos automaticamente (ex.: 'software' busca também saas, licença de uso, sistema...). TUDO opcional: sem datas, usa os próximos 30 dias por abertura. Use termos[] pra palavra-chave, valor_min/valor_max pra faixa, uf/modalidade pra estreitar; apenas_abertas=true (default). Cada item traz id + valor; pra itens/preços e leitura do edital use pncp_processo/pncp_texto. Passe incluir_valor:false pra uma lista rápida sem valor, ou expandir:false pra não expandir os termos. Modalidades: 1 Leilão-Elet, 4 Concorrência-Elet, 6 Pregão-Elet, 8 Dispensa, 9 Inexigibilidade, 12 Credenciamento.

ParametersJSON Schema
NameRequiredDescriptionDefault
ufNo
cnpjNo
paginaNo
termosNo
expandirNo
municipioNo
ordenacaoNo
valor_maxNo
valor_minNo
data_finalNo
modalidadeNo
data_inicialNo
incluir_valorNo
apenas_abertasNo
tamanho_paginaNo
Behavior5/5

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

The description adds rich behavioral context beyond annotations: automatic synonym expansion, ranking by value, default 30-day window, default values (apenas_abertas=true), and item structure (id+valor). No contradiction with readOnlyHint=true or idempotentHint=true—the operation is purely a query.

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?

The description is dense and front-loaded, starting with the core purpose. While it uses ALL CAPS for emphasis, which could be seen as shouting, every sentence provides actionable information. It's compact for the amount of guidance offered.

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?

For a 15-parameter tool with no output schema, the description covers critical defaults, alternatives, and list of modalities. It explains the return structure minimally (id+valor) and directs to sibling tools for detailed data. Gaps like pagination or handling of 'cnpj' are not addressed, but the description is sufficiently complete for typical use.

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?

With 0% schema coverage, the description compensates by explaining key parameters (termos[], valor_min/max, uf, modalidade, incluir_valor, expandir, apenas_abertas) and the enum values for modalidade. However, not all 15 params are covered (e.g., cnpj, pagina, tamanho_pagina), leaving some room for ambiguity.

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 clearly states 'Busca PRINCIPAL de licitações abertas' with specific filters (keyword, value range, state, modality, period). It also distinguishes itself from siblings by labeling itself as the main search and referencing specialized tools (pncp_processo/pncp_texto) for other use cases.

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?

Explicitly explains when to use this tool vs alternatives: 'pra itens/preços e leitura do edital use pncp_processo/pncp_texto.' It also provides parameter-specific usage (e.g., 'Passe incluir_valor:false pra uma lista rápida sem valor') and default behaviors, making it clear when to invoke it.

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

pncp_oportunidadesA
Read-onlyIdempotent
Inspect

Busca de OPORTUNIDADES de licitação (editais/pregões) com filtros ricos por palavra-chave, FAIXA DE VALOR da compra, UFs, modalidades, portais, registro de preço, participação exclusiva ME/EPP e superoportunidades. Cobertura agregada de vários portais. Devolve uma página com o id de cada oportunidade (use em pncp_processo pro detalhe completo), datas de abertura/encerramento e, quando edital_legivel:true, os campos cnpj/ano/sequencial pra LER o edital com pncp_texto/pncp_arquivos. Mesma fonte da pncp_listar, com mais filtros de qualificação.

ParametersJSON Schema
NameRequiredDescriptionDefault
ufsNo
termoNo
paginaNo
termosNo
excluirNo
portaisNo
expandirNo
tipo_itemNo
valor_maxNo
valor_minNo
data_finalNo
modalidadesNo
data_inicialNo
tipo_periodoNo
itens_desertosNo
pesquisa_amplaNo
somente_sigilososNo
superoportunidadesNo
excluir_registro_precoNo
participacao_exclusivaNo
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the description need only add contextual behavior. It adds useful detail such as aggregate coverage over several portals, return of a page with IDs and dates, and optional readable edital fields when edital_legivel is true. There is no contradiction with the annotations.

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 and front-loaded: it first defines what is searched, then describes return values and follow-up tools, and finally relates the tool to pncp_listar. Every sentence contributes meaningful information without repetition or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 20-filter search tool with no output schema, the description gives valuable output context: one page of results, IDs, opening/closing dates, and optional edital fields for downstream reading. Still, it does not fully describe the outcome shape, pagination behavior, or the exact semantics of several filters, so completeness is adequate but not strong.

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 for 20 parameters. It explains major filters like keyword, value range, UFs, modalidades, portais, participation exclusiva, and superoportunidades. However, it leaves gaps around parameters such as itens_desertos, somente_sigilosos, pesquisa_ampla, expandir, tipo_periodo, and date semantics.

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 ('Busca de OPORTUNIDADES de licitação') and clearly defines the scope: editais/pregões with rich filters and aggregate portal coverage. It also distinguishes itself from pncp_listar by noting it is the same source but with more qualification filters.

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 provides practical routing guidance: same source as pncp_listar but with more filters, use pncp_processo for full opportunity detail, and use pncp_texto/pncp_arquivos to read the edital. It lacks explicit when-not-to-use advice or exclusions for other search siblings like pncp_buscar, but the guidance is clear enough for most agents.

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

pncp_orgaosA
Read-onlyIdempotent
Inspect

Busca de ÓRGÃOS/entidades compradoras por nome, UF e/ou portal. Devolve portal, UF, uasg, nome e info de pagamento. Útil pra achar o órgão e usar o filtro em outras buscas. Aceita VÁRIOS nomes em termos[]: cada um vira uma busca separada (disparadas com intervalo entre si pra não pegar rate limit), resultados fundidos e deduplicados. ATENÇÃO: termo muito amplo (ex.: 'prefeitura', 'ministerio') estoura a fonte, prefira UF/portal ou um nome específico. Com antecipagov=true, consulta a base do programa AntecipaGov.

ParametersJSON Schema
NameRequiredDescriptionDefault
ufNo
termoNo
paginaNo
termosNo
portaisNo
antecipagovNo
Behavior5/5

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

Annotations already mark readOnlyHint=true and destructiveHint=false; the description adds meaningful behavior: multiple termos are searched separately with staggered delays to avoid rate limits, results are merged and deduplicated, broad terms can overwhelm the source, and antecipagov=true switches to a different database. No contradiction with annotations.

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 front-loaded with the purpose and return fields, then adds parameter behavior and a warning in a compact block. Every sentence contributes: search scope, outputs, intended use, multi-search semantics, and a caution about broad terms.

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?

For a 6-parameter read-only search with no output schema, the description covers the core selection and invocation needs: result fields, dangerous input patterns, batch behavior, and the special antecipagov mode. The main gap is pagination/page semantics, which would be needed for a fully complete invocation guide.

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?

With schema description coverage at 0%, the description compensates well for most parameters: it explains termos[] (multiple independent searches, merged/deduped), the search criteria (nome, UF, portal), and antecipagov behavior. However, 'pagina' is not addressed and the 'portais' values are only implied, so it is not fully complete.

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: 'Busca de ÓRGÃOS/entidades compradoras por nome, UF e/ou portal' and states the returned fields (portal, UF, uasg, nome, payment info). This clearly differentiates it from sibling search tools by focusing on the buyer-entity registry.

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?

It explains the practical use: 'Útil pra achar o órgão e usar o filtro em outras buscas' and gives explicit guidance to avoid broad terms, preferring UF/portal or specific names. It does not name direct alternatives, so it misses the top-level 'when-not to use this versus sibling' exclusion, but the context is clear.

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

pncp_pcaA
Read-onlyIdempotent
Inspect

Plano anual de contratações (PCA) por ano e classificação superior do catálogo: o que os órgãos planejam contratar no ano.

ParametersJSON Schema
NameRequiredDescriptionDefault
paginaNo
ano_pcaYes
tamanho_paginaNo
codigo_classificacao_superiorYes
Behavior3/5

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

Annotations already declare the tool as read-only, idempotent, and non-destructive, so the safety profile is covered. The description adds the useful semantic distinction that this tool exposes planned procurements (PCA) rather than actual contracts, but it does not mention pagination behavior, response format, or other operational details.

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 a single, compact sentence that front-loads the resource type and key filters. It contains no filler, redundant wording, or repetition of schema details.

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?

For a simple read-only tool with two required filters and two optional pagination parameters, the description is largely adequate: it explains the core subject matter and the filter semantics. It is not fully complete because there is no output schema and no description of the return payload, but the low complexity keeps the gap from being severe.

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?

With 0% schema description coverage, the description carries the burden for parameter meaning. It successfully maps the two required parameters: ano_pca corresponds to the year and codigo_classificacao_superior to the superior catalog classification. The pagination parameters are left implicit but their names make them reasonably self-explanatory.

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 clearly identifies the resource as the annual contracting plan (PCA) filtered by year and superior catalog classification, and adds a clarifying clause about what agencies plan to contract. It is specific enough to distinguish the tool from siblings like pncp_contratos or pncp_oportunidades, though it lacks an explicit retrieval verb such as 'list' or 'get'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to choose this tool over the many sibling pncp_* tools. There is no mention of exclusions, prerequisites, or alternative tools, so the intended usage context must be inferred entirely from the resource name and description.

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

pncp_processoA
Read-onlyIdempotent
Inspect

Detalhe de oportunidade(s) por id (de pncp_listar/pncp_oportunidades). DOIS modos: (1) id único → detalhe COMPLETO (objeto, situação, órgão, modalidade, ITENS com preços, valor estimado, datas) + cnpj/ano/sequencial pra LER o edital (pncp_texto/pncp_arquivos). (2) ids em LOTE → detalha vários numa só chamada (com throttle interno) e devolve RANKING por VALOR (maior 1º) — é a forma certa de RANQUEAR POR VALOR, já que a listagem não traz valor. Passe os id da página do pncp_listar em ids pra montar o ranking sem N chamadas.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
idsNo
Behavior4/5

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

Beyond the readOnly annotation, the description reveals that batch mode has internal throttling and returns results ranked by value, which are useful behavioral details. It also implies the single mode returns richer detail. No contradictory side effects are mentioned.

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?

The description is well-structured with clear mode breakdowns and uses uppercase for emphasis. It is slightly repetitive regarding ranking but remains efficient and informative without excessive verbosity.

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?

The description provides sufficient context for both usage patterns and references related tools (pncp_texto, pncp_arquivos) for further actions. It doesn't cover error handling or return formats, but given the read-only nature and clear purpose, it is adequately complete.

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?

Although the schema lists both id and ids without descriptions, the description clarifies their distinct usage: id for a single opportunity, ids for a batch. It also explains the expected input (from pncp_listar) and the output difference, adding meaning beyond the raw schema.

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 clearly states that the tool provides details of opportunities by id, with two modes (single and batch). It distinguishes itself from sibling tools by mentioning it complements pncp_listar/pncp_oportunidades and provides ranking by value, making its purpose unambiguous.

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?

Explicitly explains when to use each mode: single id for complete details, batch ids for ranking by value. It contrasts with pncp_listar (which lacks value) and directs users to pass ids from pncp_listar for ranking, offering clear alternative guidance.

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

pncp_resultadoA
Read-onlyIdempotent
Inspect

Quem GANHOU a licitação: o(s) fornecedor(es) vencedor(es) homologado(s) a partir de cnpj+ano+sequencial (a referência da pncp_buscar). Retorna, por vencedor, o CNPJ, a razão social, o valor REAL homologado (já com o desconto da disputa, melhor que o estimado), a natureza jurídica (separa estatal de privada, ex.: 'Empresa Pública') e o porte (ME/EPP vs Demais). Agrega por fornecedor (vários itens do mesmo vencedor viram uma linha) e traz o total homologado. Itens sem resultado são ignorados. Use numero_item pra um item específico; omita pra todos. Observação: a lista de PERDEDORES e os lances não vêm por aqui (só no Termo).

ParametersJSON Schema
NameRequiredDescriptionDefault
anoYes
cnpjYes
sequencialYes
numero_itemNo
Behavior5/5

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

As annotations já declaram readOnly e idempotente, e a descrição acrescenta comportamento valioso: agregação por fornecedor, total homologado, itens sem resultado ignorados e ausência de lista de perdedores/lances. Isso vai bem além do que annotations já provêm.

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?

O texto é denso porém sem redundância: começa com o verbo claro 'GANHOU', agrupa relacionado, e cada frase adiciona uma instrução ou um comportamento. Mantém todas as informações relevantes sem bloates.

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?

Mesmo sem output schema, a descrição informa campos retornados, agregação, total, filtragem por item e limitações. Para um tool de read simples com 4 parâmteros, isso cobre o contexto operacional essencial.

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?

O schema tem cobertura 0% e a descrição compensa explicando que cnpj+ano+sequencial formam a referência de pncp_buscar e que `numero_item` filtra por item ou pode ser omitido. Não detalha formatos de cnpj/ano, mas dá o entendimento funcional necessário.

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?

A descrição afirma claramente que o objetivo é retornar quem ganhou a licitação e lista exatamente o que é retornado: CNPJ, razão social, valor homologado, natureza jurídica e porte. Também diferencia a ferramenta de outros recursos ao dizer que perdedores e lances não vêm por aqui.

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?

A instrução é explícita sobre usar a referência de pncp_buscar e sobre o parâmetro `numero_item` para item específico ou omitir para todos. Também diz claramente o que este tool não faz, embora a alternativa para perdedores seja mencionada apenas como 'Termo' e não como um sibling-tool nomeado.

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

pncp_textoA
Read-onlyIdempotent
Inspect

Texto INTEIRO do edital em markdown (com marcadores '## Página N'), pra você RESUMIR ou ler o documento todo. Mantém o link de download do PDF no retorno. A partir de cnpj+ano+sequencial (referência da pncp_buscar). Editais muito grandes vêm truncados (use de_pagina/ate_pagina). Documento escaneado retorna aviso (OCR pendente).

ParametersJSON Schema
NameRequiredDescriptionDefault
anoYes
cnpjYes
de_paginaNo
documentoNo
ate_paginaNo
sequencialYes
Behavior5/5

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

Beyond annotations (read-only, idempotent), the description discloses key behaviors: returns markdown with page markers, preserves PDF download link, truncation for large texts, and OCR pending warnings for scanned documents. This adds significant transparency about the tool's runtime behavior.

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 concise, with the main purpose stated up front, followed by important usage notes. It is well-structured and free of fluff, conveying all necessary information in a few sentences.

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?

Given the minimal schema (no parameter descriptions, no output schema) and the annotations (read-only, idempotent), the description covers all essential aspects: what it returns, how to identify the resource, pagination handling, and special cases like OCR. It is complete for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explains the meaning of the required parameters (cnpj, ano, sequencial) as a reference from pncp_buscar, and clarifies the optional page-range parameters (de_pagina/ate_pagina) for pagination. Since the schema has no descriptions, this provides essential semantic context that the raw schema lacks.

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 clearly states the tool's purpose: returns the full text of an edital in markdown format, distinguishing it from sibling tools like pncp_buscar or pncp_detalhe. It specifies the action (read/summarize) and the resource (full document).

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?

It provides explicit usage context: the identifiers (cnpj+ano+sequencial) come from pncp_buscar, and it explains when to use pagination (de_pagina/ate_pagina) for large documents, plus the OCR warning for scanned files. This clearly guides when to invoke this tool vs alternatives.

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

report_bugA
Idempotent
Inspect

Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNo
messageYes
conversationNo[]
Behavior4/5

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

The description adds the behavioral requirement to include a conversation array with recent messages, which is beyond the raw annotations. It does not contradict the idempotent, non-destructive hints; however, it does not explain what happens after reporting (e.g., issue creation or response behavior).

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 only two short sentences and every clause adds meaningful value: the action scope and the reproduction hint. It is front-loaded and wastes no words.

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?

For a small, simple feedback/report tool, the description captures the primary use case and the important conversation reproduction hint. It could additionally clarify the exact serialization format of conversation and the expected message content, but overall it is sufficient for an agent to make a reasonable invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/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. It partially explains the conversation parameter as a reproduction aid, but it calls it an 'array' while the schema declares it as a string with default '[]', and it does not clarify the message or context parameters at all.

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 clearly states the action as reporting a bug, missing feature, or feedback, giving a specific verb and broad resource. It is immediately distinguishable from sibling tools like pncp_* and authenticate, which handle other functional areas.

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?

The description conveys when to use the tool: when a user wants to report a bug, ask for a feature, or send feedback. However, it gives no explicit guidance about when not to use it, no alternative tools, and no context about report-vs-support workflows.

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

show_versionA
Read-onlyIdempotent
Inspect

Show the current MCP platform and adapter versions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

The description adds no behavioral traits beyond what annotations already provide (readOnlyHint=true, idempotentHint=true, destructiveHint=false). It doesn't mention output format, potential side effects, or any additional context. Given annotations already cover safety, the bar is lower, but the description could still note what versions are returned or any caveats.

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 a single, concise sentence that is front-loaded with the verb and subject. It contains no redundant words or unnecessary details, achieving maximum efficiency.

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?

For a tool with no parameters, no output schema, and clear annotations, the description is mostly complete. However, it does not indicate what the output consists of (e.g., platform version and adapter version strings) or if any format is expected. This minor gap prevents a perfect score.

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?

There are zero parameters, so the baseline is 4. The description does not (and need not) elaborate on parameter semantics since none exist. No information is missing.

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 clearly states the action ('Show') and the specific subject ('current MCP platform and adapter versions'), which uniquely identifies the tool. It deeply distinguishes from sibling tools like authenticate, pncp_* data queries, and report_bug, leaving no ambiguity about its function.

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?

No explicit guidance is given for when to use this tool or against using alternatives. While the purpose implies usage for version checking or troubleshooting, there is no mention of when not to use it or any alternative version-checking tool. For a simple utility tool, this is acceptable but not thorough.

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

toolkit_infoA
Read-onlyIdempotent
Inspect

Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare readOnly, idempotent, and non-destructive. The description adds valuable context about what the state includes (installed MCPs, connection status, accounts, tool counts), which goes beyond the bare annotations. No contradictions.

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 a single, front-loaded sentence that efficiently lists all key outputs without waste. Every element earns its place.

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?

Given no output schema and no parameters, the description covers the essential return content (installed MCPs, statuses, accounts, catalog counts). It doesn't specify the exact structure (e.g., JSON format), but for a simple state tool this is sufficient. Slight gap around how 'connection status' is represented, but acceptable.

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?

Tool has zero parameters, so the baseline is 4. The description correctly does not attempt to explain parameters, and the no-parameter design is appropriate for a state inspection tool.

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?

Description clearly states the tool returns toolkit state with specific components (installed MCPs, connection status, accounts, catalog tool counts). This is distinct from sibling tools which are all actions (authenticate, connect, pncp_* queries), so it unambiguously identifies its purpose.

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?

The description implies usage as a status/inspection tool but does not explicitly state when to use it over alternatives or any prerequisites. Given siblings are all action-oriented, the distinction is clear, but no explicit guidance is provided.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    MCP server that provides access to Brazilian public and commercial data, including CNPJ company info, government procurement (PNCP) searches, and FIPE vehicle pricing, with optional alert registration for new tenders.
  • F
    license
    A
    quality
    C
    maintenance
    Integrates public APIs from the Brazilian Compras.gov.br procurement ecosystem to support price research, supplier sanctions, contract analysis, and procurement planning.
    94
  • A
    license
    A
    quality
    A
    maintenance
    razilian public procurement (PNCP) and Federal Revenue CNPJ data for any MCP client. 18 tools covering bids, contracts, atas de registro de preço, annual procurement plans, CNPJ enrichment, plus temporal aggregation and period comparison. MIT licensed, maintained by Licinexus under Law 14.133/2021.
    18
    94
    75
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides access to Brazilian government procurement (PNCP) data without API keys, enabling natural language queries through Pipeworx's AI gateway.
    6
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.