Skip to main content
Glama

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.5.1

  • Disambiguation3/5

    Several tools overlap significantly: consultar_status_mei and consultar_simples_nacional are nearly identical, and consultar_empresa_completa, analyze_cnpj_compliance, risk_score_supplier, and consultar_empresas_lote all provide overlapping compliance/risk assessments. Most other tools are distinct.

    Naming Consistency2/5

    Tool names mix Portuguese and English (consultar_cnpj vs analyze_cnpj_compliance), and some are verb_noun (consultar_cnpj) while others are noun_phrase (taxa_selic, ipca_periodo). There is no consistent convention.

    Tool Count2/5

    44 tools is far above the well-scoped range. While the domain is broad, many tools could be consolidated (e.g., the three CNPJ status tools). This is excessive.

    Completeness3/5

    The set covers many fiscal areas (NFe, CNPJ, SPED, eSocial, tax calculations, indices) but lacks core lifecycle operations like emitting or canceling NFe, and some SPED/eSocial operations are only validation/list not full processing. Some gaps exist but are not fatal.

  • Average 4.1/5 across 44 of 44 tools scored. Lowest: 3.1/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 47 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    There are no annotations, and the description does not disclose behavioral details such as read-only nature, required authorization, failure modes, or rate limits. It states outputs but omits important 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.

    Conciseness5/5

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

    The description is concise, well-structured, and free of unnecessary detail. It clearly communicates the tool's purpose and expected outputs in three short sentences.

    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?

    The description lists the main returned fields, which is helpful since there is no output schema. However, it does not mention error scenarios, invalid CNPJ handling, or whether partial data is possible, leaving some contextual gaps.

    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 already fully describes the single parameter, including format and examples. The description adds no additional semantic information beyond what is already in the schema, so the baseline score applies.

    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 action (consultar) and resource (CNPJ) and lists the main returned fields. However, it does not differentiate this tool from the sibling consultar_empresa_completa, which may overlap significantly.

    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 gives no guidance on when to use this tool instead of related alternatives such as consultar_empresa_completa or analyze_cnpj_compliance. It only mentions input formatting, which is more parameter-level guidance.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It does not mention whether the tool is read-only, what data it returns (beyond a URL), or any side effects. The description suggests it returns guidance rather than the certificate itself, but this is implicit and not fully transparent.

    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 extremely concise, using only two short sentences. It avoids redundancy and focuses on the essential purpose and deliverable, with no filler or unnecessary 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?

    Given that an output schema exists, the description does not need to detail return values. It provides enough context about the tool's function (guidance and URL) to frame its behavior, and the single parameter is well defined in the 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?

    The schema already provides a full description of the CNPJ parameter, including formatting details. The description adds no extra semantic information beyond what is in the schema, so it stays at the baseline for high schema coverage.

    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: guiding on how to consult the FGTS Regularity Certificate (CRF) for a CNPJ. It distinguishes itself from sibling tools like consultar_certidao_federal by specifying the FGTS-specific certificate and providing automation alternatives.

    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 does not explicitly state when to use this tool versus other related tools. It mentions providing automation alternatives but does not clarify under what circumstances an agent should select this tool over, for example, direct consultation tools or other certificate queries.

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

  • Behavior3/5

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

    There are no annotations, so the description must disclose side effects. It states the tool analyzes and extracts information, implying a read-only operation, but it does not explicitly mention that it does not modify any data or persist state. No contradictions exist, but the transparency is incomplete.

    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 main action and then lists the extracted information. It is concise, free of fluff, and easy to parse quickly.

    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?

    The description mentions the types of information extracted (period, company, record types, errors) but does not specify the output format or structure. While this may be acceptable given the absence of an explicit output schema, it leaves some ambiguity about the exact return payload an agent should expect.

    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 description coverage is 100%, with both parameters (conteudo and nome_arquivo) described in the input schema. The tool description repeats the schema wording without adding further meaning (e.g., constraints, formats, or examples), so it adds no value beyond the 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 analyzes SPED files and extracts specific information (period, company, record types, errors). The verb 'Analisa' is specific, and the scope is well-defined, distinguishing it from related tools like listar_registros_sped or summarize_sped.

    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 does not provide guidance on when to use this tool instead of alternatives such as summarize_sped or listar_registros_sped. It only describes what it does, leaving the user to infer the appropriate context.

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

  • Behavior2/5

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

    With no annotations, the description must carry the full behavioral disclosure burden. It says it 'guides' and 'provides URLs' but doesn't state whether it's a read-only operation, whether it queries live systems, or any side effects. It also doesn't mention permissions or rate limits, which is a significant gap.

    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?

    Two sentences, efficient, and front-loads purpose. No wasted words; the structure is clear and to the point.

    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?

    The tool has an output schema (not shown) but the description is fairly brief. It doesn't clarify what the tool returns (e.g., actual certificate, URLs, or instructions) beyond mentioning URLs and automation alternatives. For a tool with one parameter and a guidance role, it could be more explicit about the output and whether it performs a live check.

    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 already fully documents the parameter (CPF/CNPJ with length and formatting). The description adds little beyond the schema, only mentioning 'para CNPJ ou CPF' which is already in the schema. Schema coverage is 100%, so baseline 3 applies.

    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 guides on consulting the Certidão Negativa de Débitos (CND) from Receita Federal and PGFN for CNPJ or CPF, and mentions providing URLs and automation alternatives. This is specific and distinguishes it from siblings like consultar_cnpj (company data) and consultar_certidao_fgts (FGTS certificate).

    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 mentions it's for CNPJ or CPF and provides guidance, but it doesn't explicitly state when to use this tool over other consultation tools. It lacks exclusions or comparisons to siblings, leaving the agent to infer based on the certificate name.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It only states a high-level behavior (lists occurrences) but does not mention side effects, output format, performance considerations, or error handling. This lack of detail limits transparency.

    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, using two sentences to convey the purpose and an example. It is well-structured without redundancy or extraneous information.

    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?

    The tool is simple, but the description does not mention the output format or any additional context such as performance implications for large files. Although an output schema may exist, it is not shown here, so the description alone is not fully complete.

    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 input schema already provides clear descriptions for both parameters (conteudo and tipo_registro). The tool description adds only an example, which is useful but does not significantly enhance understanding beyond the schema. With 100% schema coverage, the baseline of 3 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 lists all occurrences of a specific record type in a SPED file, with an example (C100, E110). This is specific and distinguishes it from sibling tools like analisar_sped or summarize_sped.

    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 does not explicitly state when to use this tool versus alternatives such as analisar_sped or summarize_sped. While the function is clear from the verb 'Lista', no direct comparison or condition is provided.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It states the tool is a read-only consultation ('Consulta') and mentions the return of code and description, which is sufficient for a simple lookup. However, it does not disclose potential behaviors such as error handling for invalid codes or any prerequisites, though these are minor for this type of tool.

    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 two sentences: the first states the action and output, the second gives the use case. It is front-loaded with the core functionality and contains no redundant information.

    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 lookup tool with an output schema (though not shown), the description adequately covers what the tool does and returns. It could mention how it differs from 'buscar_cnae' to help agents choose correctly, but the core information needed to invoke it correctly is present.

    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 input schema provides 100% description coverage for the 'codigo' parameter, explaining the 7-digit format and optional punctuation. The tool description reinforces this by mentioning 'código de subclasse (7 dígitos)' but adds no new semantic detail beyond the schema. The baseline of 3 is appropriate since the schema already documents the parameter thoroughly.

    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 consults a CNAE economic activity by 7-digit subclass code and returns the official code and description from the IBGE table. It is specific about the resource and purpose, but it does not explicitly differentiate from the sibling tool 'buscar_cnae', which likely serves a similar purpose but possibly with different search criteria.

    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 when you have a CNAE code and need to identify the business segment, but it does not provide explicit guidance on when to use this tool versus alternatives like 'buscar_cnae' or other consult tools. No exclusions or alternative routing are mentioned.

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

  • Behavior3/5

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

    No annotations are provided, so the description bears full responsibility for behavioral disclosure. It mentions that it uses BrasilAPI and describes the return format, but does not disclose potential errors, rate limits, or specific conditions like whether it handles invalid CNPJs.

    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, consisting of two sentences. It efficiently states the purpose and the return information without unnecessary details, and is 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?

    The description provides sufficient context for a simple lookup tool, stating what it returns (status and dates). However, it does not mention what happens for invalid or not-found CNPJs, and the distinction from similar sibling tools is only implicit. Given the output schema exists, it is mostly complete but could be enhanced.

    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 already fully describes the 'cnpj' parameter with format and examples. The tool description does not add any extra meaning or constraints beyond that, so it meets the baseline for a fully covered 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 queries MEI and Simples Nacional status for a CNPJ via BrasilAPI. It specifies the verb 'Consulta' and resource 'status de MEI e Simples Nacional de um CNPJ', making it distinct from other CNPJ-related tools.

    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 does not provide any guidance on when to use this tool compared to alternatives like 'consultar_simples_nacional' or 'consultar_cnpj'. No explicit usage scenarios or differentiators are mentioned.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the burden of disclosing side effects. It mentions fetching historical series from the Central Bank of Brazil, which implies external calls and potential latency, but does not explicitly state whether the operation is read-only, whether it has side effects, or any error conditions. This is adequate but not fully transparent.

    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 long, directly states the core function, and adds a brief use-case context. There is no extraneous information or repetition; it is 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?

    The output schema is marked as present, so the description need not enumerate return values. The tool's purpose, input requirements, and data source are covered, making it complete for a simple calculation tool. A slight deduction because it does not mention potential edge cases (e.g., date range constraints, index availability), but these are not critical for basic usage.

    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 coverage is 100% with clear descriptions for all parameters (valor, indice, data_inicio, data_fim). The tool description adds context about the 'indice' default and possible values, but this is already present in the schema. The baseline of 3 applies since the schema fully documents the parameters; no additional semantic insights are provided.

    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 calculates monetary correction of a value between two dates using IPCA or Selic, and mentions its utility for updating debts, contracts, and tax obligations. The verb 'Calcula' is specific and the resource (value, dates, index) is well-defined, making the 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 Guidelines3/5

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

    The description implicitly suggests use cases (updating debts, contracts, tax obligations) but does not explicitly differentiate from sibling tools that also handle indices (e.g., taxa_selic, ipca_periodo). It lacks clear guidance on when to choose this tool over alternatives, such as when a full correction factor is needed versus a raw index query.

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

  • Behavior3/5

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

    The description discloses the expected output (id, sigla, nome oficial, região geográfica) and implies a read-only query through 'Consulta'. However, it does not mention potential side effects, error conditions, or any other behavioral traits beyond the basic query function. Given no annotations, the description carries the transparency burden but only partially covers it.

    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, clear sentence with no unnecessary words. It efficiently states the purpose, the method, and the expected result. The structure is logical and straightforward, making it easy to parse and understand.

    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 completely covers the tool's basic operation and output fields, which is sufficient for a simple query tool. It does not include error cases or edge situations, but given its simple nature and the explicit output description, the context is adequately complete. No additional explanation of the output schema is needed.

    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 repeats the parameter concept ('pela sigla da UF') but does not add new information beyond the schema's existing description for 'uf'. The schema already provides the parameter type and example values, so the description adds no extra semantic detail to guide usage.

    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 queries Brazilian state data by the state acronym via the IBGE API. It explicitly lists the returned fields (id, sigla, nome oficial, região geográfica), making the tool's function unambiguous. The verb 'Consulta' is specific, and the object and scope are well-defined.

    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 implicitly differentiates this tool from siblings like 'consultar_municipios_ibge' by specifying 'estado brasileiro', but it does not explicitly state when to choose this tool over alternatives. No direct usage instructions or conditions are provided, leaving the agent to infer based on context.

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

  • Behavior4/5

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

    The description clearly discloses that the certificate is never sent to the server and signing is done locally, along with the requirement for an installed A1 certificate. It does not mention potential irreversibility or legal side effects, but the security-relevant behavior is well covered.

    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 compact and focused, containing only relevant requirements and event information. The repetition about the certificate is slightly redundant but does not hurt readability.

    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?

    The description explains the event types and prerequisites but does not describe expected outputs, error behavior, or repeat submission considerations. Since an output schema exists, the missing return-value details are less critical, but some operational context is absent.

    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?

    All parameters are already described in the schema with clear definitions and defaults, so the description adds no additional parameter-level meaning. It provides general event context, but no per-parameter details beyond the 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: manifesting the recipient for an NF-e via NFeRecepcaoEvento. It names the specific operation and distinguishes it from the many sibling consultation/manipulation tools.

    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?

    It provides domain context (e.g., event codes, Ciencia being a prerequisite for full XML) but does not explicitly tell the agent when to choose this tool over alternatives or when not to use it. The guidance is implicit rather than explicit.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses that the tool returns both buy and sell rates and that it is only available on business days. However, it does not specify error behavior for non-business days, response format, or other operational details, leaving gaps for an agent.

    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, consisting of two sentences with no redundant content. The main action is front-loaded, and the second sentence adds context about PTAX and a key constraint. Every sentence 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?

    For a simple query tool with an output schema and well-documented parameters, the description covers the core purpose, the data provided (buy/sell), and the business-day restriction. It could mention error handling or response specifics, but given the tool's simplicity and existing schema, it is reasonably complete.

    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 100%, meaning both parameters (data and moeda) are already documented in the schema. The tool description only restates that it uses a date and currency, adding no extra semantic detail beyond the schema, so a baseline score of 3 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 function: querying the official PTAX quotation (buy and sell) from the Central Bank of Brazil for a specific date and currency. It also explains what PTAX is, distinguishing it from other financial or tax tools among the siblings, making the 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 Guidelines3/5

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

    The description implies when to use this tool (whenever PTAX rates are needed) but does not explicitly mention alternatives or exclusions. It does note that the tool is only available on business days, which is a usage condition, but lacks guidance on when not to use it or when to prefer a different tool.

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

  • Behavior3/5

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

    The description states that the tool performs a query and returns status and dates, which implies read-only behavior. However, it does not explicitly mention side effects, error conditions, or handling of invalid CNPJs, and there are no annotations to supplement this.

    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 brief, direct, and free of unnecessary information. Two sentences effectively convey the purpose and expected output without redundancy.

    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 query tool with one parameter, the description is adequately complete: it identifies the input and specifies the returned data. It lacks only explicit usage context, but that is already covered under usage_guidelines.

    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 only parameter, cnpj, is described with sufficient detail: it must have 14 digits and may be formatted or unformatted. This fully covers the schema-provided description and adds useful validation context.

    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?

    Clearly states the tool's main purpose: to check whether a company is enrolled in Simples Nacional or MEI, and lists the specific output fields (current status, option date, exclusion date). This distinguishes it from sibling tools like consultar_cnpj or consultar_empresa_completa.

    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 does not indicate when to use this tool instead of related tools such as consultar_status_mei or compare_tax_regimes. No conditions, prerequisites, or recommended scenarios are provided.

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

  • Behavior3/5

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

    Sem anotações, a descrição carrega o peso de transparência. O termo 'analise' e 'relatorio' implicam operação somente leitura, mas não é explicitamente declarado que não há efeitos colaterais. Isso deixa margem para dúvida.

    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 única e objetiva, sem repetições ou informações desnecessárias. Todos os elementos essenciais estão incluídos.

    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?

    O output schema existe, embora não detalhado no contexto. A descrição menciona os principais componentes do relatório (score, risco, achados), suficiente para o agente entender o tipo de retorno. Nenhuma informação crítica ausente.

    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?

    O schema já cobre 100% do parâmetro 'cnpj' com descrição adequada. A descrição da ferramenta não adiciona informações semânticas novas sobre o parâmetro, ficando no baseline.

    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 é específica e clara: analisa compliance fiscal de CNPJ combinando dados cadastrais, regime tributário, status MEI e CNAE, gerando score, risco e achados. Distingue-se de consultas individuais como consultar_cnpj ou consultar_simples_nacional por ser uma análise consolidada.

    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?

    Fornece orientação explícita de uso: 'Use para decisão de contratar/recusar/investigar uma empresa em uma chamada.' Não menciona quando não usar, mas o contexto de decisão é claro.

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

  • Behavior4/5

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

    Since no annotations are provided, the description carries the full burden. It discloses that the tool returns specific fields (razão social, situação cadastral, porte, regime tributário, CNAEs, endereço, natureza jurídica) and the behavioral characteristic of combining data in one call. It does not explicitly state it is read-only, but 'Consulta' strongly implies that, and the listed outputs give useful context about the 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, consisting of two sentences with no redundant information. It front-loads the main purpose and follows with a specific list of returned fields, making it efficient and clear.

    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 parameter, no nested objects) and the existence of an output schema, the description is adequately complete. It lists the key returned fields, covers the input parameter, and explains the differentiating combination. It does not delve into error cases or potential limitations, but those are not essential for such a straightforward query 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 covers the only parameter 'cnpj' with a clear description of format, achieving 100% coverage. The tool description does not add additional meaning beyond restating 'CNPJ' in context, so the baseline score of 3 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 uses the specific verb 'Consulta' and clearly specifies the resource (dados enriquecidos de uma empresa brasileira) while explicitly differentiating from sibling tools by stating it combines Receita Federal (CNPJ) and Simples Nacional data in a single call, which distinguishes it from consultar_cnpj and consultar_simples_nacional.

    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 by noting the combination of two data sources 'em uma única chamada', suggesting it should be used when both CNPJ and Simples Nacional information are needed, but it does not explicitly state when to choose this tool over alternatives like consultar_cnpj or consultar_simples_nacional, nor does it mention exclusions.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It indicates a read-only query by the verb 'Consulta' and lists the returned data, but it does not explicitly state that it is read-only, nor does it mention potential error conditions, rate limits, or side effects. For a simple query tool, this is adequate but not comprehensive.

    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 concise sentences that front-load the purpose and then provide additional context and output details. Every sentence adds value, with no redundant information.

    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?

    With a single parameter, an output schema present, and a description that lists the returned data, the tool is adequately specified for an agent to call it correctly. It does not explain error handling or pagination, but for a simple query operation this is sufficient. The presence of an output schema reduces the need to describe return values in the description.

    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 fully describes the parameter with 100% coverage, including the 44-digit format and acceptance of spaces. The description adds context about where to find the key (DANFE) but does not add new semantic details about the parameter itself beyond the schema. The baseline of 3 applies since the schema does the heavy lifting.

    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 queries NFe data by the 44-digit access key and lists the returned fields (emitente, destinatário, itens, valores, protocolo). It implicitly differentiates from siblings like parse_nfe_xml (which takes XML) and validar_chave_nfe (which only validates) by specifying the input format and expected output.

    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 clear context that the key is found on the DANFE, which helps the agent understand the input source. However, it does not explicitly mention when to use this tool versus alternatives or provide exclusions. This fits the 'clear context, no exclusions' level.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden. It discloses that the tool 'orients on how to access the correct portal,' which is a behavioral trait beyond simple data retrieval. However, it doesn't mention potential issues like authentication, rate limits, or data availability that might affect execution.

    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, consisting of two clear sentences. It front-loads the primary action (consults NFSe data) and adds necessary context without redundancy or filler.

    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 that an output schema exists, the description doesn't need to explain return format. It provides sufficient context for an agent to understand the tool's purpose, the municipal variation caveat, and the guidance aspect, making it complete for decision-making.

    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 covers 100% of the parameters with descriptions, so the baseline is 3. The description adds no extra parameter semantics beyond what the schema already provides; it only states the general purpose without elaborating on input specifics.

    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 consults NFSe (Nota Fiscal de Serviço Eletrônica) data, which immediately distinguishes it from sibling tools like consultar_nfe (for NFe). It also mentions the tool provides guidance on accessing the correct municipal portal, adding specificity.

    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 includes an explicit warning that NFSe has no national standard and each municipality has its own system, indicating when this tool is appropriate and highlighting the need for municipal awareness. It also states the tool guides on accessing the correct portal, which helps an agent decide to use it over general NFe tools, though it doesn't explicitly list alternatives.

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

  • Behavior4/5

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

    Since there are no annotations, the description carries the responsibility. It clearly states the output ('Retorna variação percentual mensal') and implies a read-only operation. It lacks details on error conditions or data availability limits, but for a simple query tool this is sufficient.

    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, using only two sentences. It front-loads the primary purpose and includes the key output detail, with no extraneous information.

    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 tool is simple and has an output schema, so the description does not need to explain return values. It provides enough context (useful for inflation and monetary correction) and specifies the data source and series, making it complete for an agent to decide when to invoke it.

    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 already provides full descriptions for both parameters (data_inicio and data_fim) with format and default values, achieving 100% coverage. The description adds no additional semantic information beyond what the schema already states.

    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 consults the IPCA accumulated monthly index from the Central Bank of Brazil (BCB/SGS series 433), with a specific verb ('Consulta') and resource ('IPCA'). It distinguishes itself from sibling financial tools like taxa_selic or ptax_data by naming the exact inflation index.

    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 provides a general use case ('Útil para cálculos de inflação e correção monetária') but does not explicitly compare with alternatives such as calcular_correcao_monetaria or taxa_selic. The guidance is implied rather than explicit.

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

  • Behavior3/5

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

    No annotations are provided, so the description must carry the full transparency burden. The description does not explicitly state side effects or permissions, but the operation (reading a file and summarizing) is implicitly read-only. It could be more explicit about not modifying the file or requiring special access.

    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 in Portuguese, covering the main functionality and input requirement without unnecessary detail. 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?

    The description lists the elements that will be extracted (type, period, company, total records, blocks) and states it produces a summary in pt-BR, giving the agent a reasonable expectation of the output contents. It does not specify the output format or structure, but this is acceptable given the lack of an output schema.

    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 description explains that file_path is a local .txt file path, which adds meaning beyond the bare schema type string. It specifies the file extension and location, giving the agent clear guidance on the expected input format.

    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 produces an executive summary of a SPED file, identifying the type (Fiscal, Contribuições, ECF, or ECD) and extracting period, company, total records, and blocks. This distinguishes it from siblings like analisar_sped (deep analysis) and listar_registros_sped (listing records).

    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 when to use the tool (for a summary) but does not explicitly differentiate it from similar tools like analisar_sped or listar_registros_sped. It mentions the input format but gives no direct guidance on alternative scenarios, leaving some ambiguity for the agent.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It transparently states that the tool validates the XMLDSig signature, checks DigestValue and certificate signature, extracts certificate data, and optionally validates the trust chain. It does not mention failure behavior or return format, but the core side-effect-free validation behavior is clearly described.

    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 and well-structured: two sentences with no redundant fluff. It front-loads the primary purpose, then lists key validation steps and the optional chain-validation instruction, all in a compact and readable format.

    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 output schema exists and the input parameters are fully described, the description is contextually complete for invoking the tool. It covers what the tool validates, what certificate data it extracts, and the optional CA bundle behavior. It could be slightly more complete by explicitly distinguishing itself from validate_nfe_full, but this is not a significant gap.

    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 input schema already covers 100% of the parameters with meaningful descriptions: xml_content is described as NF-e XML content validated against XXE, and ca_bundle is described as PEM content rather than a file path. The main description adds no significant meaning beyond what the schema already provides.

    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's purpose with a specific verb and resource: 'Valida a assinatura digital XMLDSig de uma NF-e.' It then details the specific checks performed (DigestValue integrity, certificate cryptographic signature) and the data extracted, distinguishing it from broader tools like validate_nfe_full.

    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 provides practical guidance for the optional ca_bundle parameter ('Opcional: informe um CA bundle PEM para validar a cadeia de confianca ICP-Brasil'), but it does not explicitly say when to use this tool versus alternatives such as validate_nfe_full or parse_nfe_xml. The intended usage is implied by the focus on signature validation rather than stated directly.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the behavioral transparency burden. It discloses that the tool only validates structure and presence of specific fields, implying no data mutation. It does not describe return format, but output schema is present.

    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, direct sentence that conveys the essential purpose and validation checks without unnecessary words 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?

    For a straightforward single-parameter validation tool, the description provides sufficient context about what is validated. Since an output schema is indicated, missing return details are not a significant gap.

    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 already provides 100% coverage for the single parameter with a clear description ('Conteudo (texto) do XML do evento eSocial'). The tool description adds no additional parameter-specific detail beyond what the schema states.

    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's purpose: performing basic structural validation of an eSocial event XML. It names specific checks (root element, event code, layout version), making the scope unambiguous.

    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 word 'básica' implies limited validation scope, but the description does not explicitly state when to use this tool versus other validation or eSocial-related tools. No alternative tools are mentioned.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden of behavioral transparency. It discloses that the tool parses XML, validates the key check digit, and checks CNPJ status, but it does not mention potential external calls, side effects, failure modes, or whether the CNPJ check may depend on external APIs.

    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, front-loaded with the main purpose, and uses three short sentences to convey what the tool does, what it takes, and what it returns. There is no redundant or filler content.

    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 covers the input, the main validation steps, and the output report fields (chave, validade, issues, resumo), which is enough for a caller to understand the basic contract. It does not specify error handling, XML schema constraints, or the meaning of issue codes, but these are not critical for initial selection and invocation.

    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 only parameter, xml_path, is described as a local XML file path in the tool description, which is essential semantic information not present in the schema. It could be more precise about absolute/relative path expectations or file extension requirements, but the meaning is clear.

    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 performs a consolidated NFe validation from XML, including structural parsing, check-digit verification, and CNPJ issuer status. It specifies the input (local XML path) and the output report components, making the purpose distinct from narrower related tools such as validar_chave_nfe or parse_nfe_xml.

    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 phrase 'Validacao consolidada' implies this is the comprehensive validation entry point, but the description does not explicitly state when to prefer it over related tools, nor does it mention alternatives or exclusions. Usage guidance is present only by implication.

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

  • Behavior3/5

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

    With no annotations provided, the description carries full responsibility for behavioral transparency. It states that it consults and returns specific fields, implying a read-only operation, but does not mention error handling, rate limits, or behavior when the UF is invalid or no municipalities are found.

    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 and to the point, covering the tool's action, the optional filter, and the return fields in two sentences without unnecessary detail.

    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 specifies the output fields (id, nome, microrregião, estado), which is sufficient for a simple query tool. It lacks details on pagination, errors, or edge cases, but given the straightforward nature and presence of an output schema (as indicated by context), it is adequately complete.

    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 single parameter 'uf' is well described in the schema with an example and the behavior when omitted (returns all municipalities). The tool description reinforces this, providing complete semantic clarity for the parameter.

    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: consulting Brazilian municipalities via the IBGE Localidades API. It also distinguishes itself from related tools by focusing on municipalities and optionally filtering by UF, making its function unambiguous.

    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 explains the optional UF filter and the general behavior, but does not explicitly mention when to use this tool versus alternatives like 'consultar_estado_ibge'. While the purpose is clear, there is no direct guidance on selecting this tool over others in the sibling set.

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

  • Behavior4/5

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

    Discloses that the tool simulates, compares old vs new tax burdens, applies transition blending, and returns annual projections with premises and disclaimers. Without annotations, this is a reasonably transparent description, though it could be more explicit about data sources or underlying assumptions.

    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?

    Compact and well organized: the opening sentence states the main purpose, followed by input guidance and an output note. The only minor redundancy is restating sector/regime values that are already present in the schema, but it does not hurt readability.

    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 that an output schema is present, the description covers the essential context: what is simulated, what inputs matter, and what the return contains (annual projection, premises, disclaimers). It could be slightly stronger by explicitly mentioning limitations or edge cases, but it is adequate for the tool's complexity.

    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 already documents all six parameters. The description adds meaningful context by reinforcing accepted sector/regime values, indicating which aliquotas are optional for better precision, and clarifying that PIS/COFINS defaults depend on the selected regime.

    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 ('Simula'), a clear object ('impacto da Reforma Tributaria (LC 214/2025)'), a definite time horizon (2026-2033), and the core comparison between old and new regimes. This distinguishes the tool from generic tax calculators and gives a precise sense of 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?

    Provides useful context on what the simulation does and notes that optional aliquotas can improve precision. However, it does not explicitly state when to use this tool instead of sibling tools such as compare_tax_regimes, nor does it give exclusion criteria or recommended usage scenarios.

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

  • Behavior5/5

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

    In the absence of annotations, the description carries full responsibility for behavioral disclosure. It states that the certificate is never sent to any server, authentication is local via mTLS, and the password is never logged or included in exceptions. It also notes the prerequisite for obtaining complete XML, providing important behavioral context.

    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 and well-structured, using a few sentences to cover the main functionality, requirements, security aspects, and modes. It avoids redundancy and stays focused on essential information.

    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 an agent to decide when to use the tool and how to configure it, including modes, credentials, and prerequisites. However, it does not describe the output format or return value, which would complete the picture for the agent.

    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 already provides detailed descriptions for all 10 parameters (100% coverage), so the baseline is 3. The description adds some context about the certificate and the event prerequisite, but it does not significantly expand on each parameter's meaning beyond what the schema already specifies.

    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 downloads fiscal documents via the NFeDistribuicaoDFe SEFAZ service, specifying the verb 'Baixa' and the resource 'documentos fiscais'. It differentiates by mentioning the local certificate requirement and the three supported modes, 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 Guidelines3/5

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

    The description explains the three operational modes (distNSU, consNSU, consChNFe) and notes the prerequisite of the 'Ciencia da Operacao' event, but it does not explicitly contrast this tool with sibling tools like consultar_nfe or validar_chave_nfe. Thus, when-to-use vs alternatives is implied rather than explicit.

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

  • Behavior4/5

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

    The description discloses what the tool returns (estimated effective rate, annual tax, best option) and highlights the special impact of payroll on the R factor in Simples. Since no annotations are provided, this is a good level of behavioral transparency, though it does not mention side effects or read-only 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 brief and to the point, using a few short sentences. No redundant information or fluff; every sentence adds value.

    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 calculation tool, the description provides sufficient input context and output expectations. It doesn't detail the output schema structure, but the mention of three specific result types is adequate for an agent to select and use the tool correctly. Error handling and edge cases are not mentioned, which is acceptable given the tool's simplicity.

    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 description adds meaningful context beyond the bare schema: it specifies allowed sectors (comércio, serviços, indústria) and explains that the optional payroll affects the R factor in Simples. However, it does not explicitly define 'faturamento_anual' beyond the obvious name, so a slight gap remains.

    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 compares Brazilian tax regimes (MEI, Simples Nacional, Lucro Presumido, Lucro Real) for a given revenue and sector, and returns estimates. The verb 'Compara' and explicit list of regimes make the purpose specific and distinguishable from sibling tools.

    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?

    It provides some context ('Util para planejamento tributário rápido') and mentions the optional payroll impact on the R factor, but does not explicitly state when to use this tool versus alternatives or when not to use it. Guidance is implied rather than explicit.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of explaining behavior. It discloses what the tool returns (address components and origin service) and accepted input formats, but does not mention error handling, invalid CEP behavior, or any potential service limitations. This is acceptable but not exhaustive.

    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, consisting of two short sentences that avoid unnecessary detail or repetition. It front-loads the purpose and then adds essential output and input format 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?

    Although the output schema is indicated as present, the description already summarizes the return fields, which is sufficient for a simple lookup tool. It does not mention failure cases or external dependencies, but for the scope of this advisory tool, the description is complete enough.

    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 parameter 'cep' is fully described in both the schema and the description, including format examples and the option to use a hyphen. Since schema coverage is 100%, the baseline is 3, and the description adds value by clarifying the accepted format, justifying a 4.

    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: to query the complete address from a Brazilian CEP. It specifies the resource (CEP) and the output fields (logradouro, bairro, cidade, estado, serviço de origem), distinguishing it from sibling tools focused on CNPJ, CPF, taxes, or NF-e.

    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 implies when to use the tool (when an address lookup from a CEP is needed) and provides input format guidance (with or without hyphen, examples given). It does not explicitly name alternatives or state when not to use it, but no close alternatives exist among the listed siblings.

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

  • Behavior4/5

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

    The description discloses that the tool behaves in offline mode by reading from a bundled SQLite database and warns that the data may be incomplete, with instructions to run a script to populate the full table. This gives the agent a clear expectation of potential data limitations and the read-only nature of the operation, though it does not explicitly confirm absence of side effects.

    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 contains repeated ideas (the purpose is stated twice) and mixes English labels ('Purpose') with Portuguese content, making it a bit unstructured and slightly verbose. However, it remains readable and covers necessary points without excessive bloat.

    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 covers the tool's purpose, when to use it, its offline behavior, a warning about potential incomplete data, and the input format. Since an output schema is present, the lack of output details is acceptable, making the description sufficiently complete for the tool's context.

    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 parameter 'cest' is fully described in the input schema, including the 7-digit format and example with punctuation. The tool description repeats this information but does not add additional nuance beyond what the schema already provides, so the description adds no extra value for parameter understanding.

    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 function: to consult the CEST code and identify products subject to ICMS tax substitution, referencing the specific legal basis (Convênio ICMS 92/2015). This is specific and leaves no ambiguity about what the tool does.

    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 explicitly provides a usage guideline: 'Quando usar: ao emitir NF-e com produtos sujeitos ao ICMS-ST' (When to use: when issuing NF-e with products subject to ICMS-ST). This directly tells the agent when to invoke this tool, which is highly actionable.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses per-CNPJ error handling ('com erros por CNPJ retornados se algum dado falhar') and the single-call batching behavior. It does not explicitly state read-only nature or authentication needs, but as a query tool this is acceptable. The error behavior adds significant transparency.

    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 primary action and outcome. It includes the use case and error behavior without any redundant phrasing. Every clause 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 that an output schema exists and the input schema fully documents parameters, the description covers the essential aspects: purpose, use case, and error handling. It does not explain the 'criterios_estritos' parameter, but that is documented in the schema. The description is sufficiently complete for an agent to decide when to use the tool and understand its behavior.

    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 100% for both parameters (cnpjs and criterios_estritos), each with clear descriptions. The tool description does not add any additional meaning beyond the schema – it mentions 'múltiplos CNPJs' which aligns with the schema but adds no new detail. Baseline 3 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 a specific action ('Consulta em lote' – batch query), the resource ('múltiplos CNPJs'), and the outcome ('resumo de compliance + score de risco de fornecedor para cada empresa'). The 'em lote' aspect distinguishes it from single-CNPJ siblings like consultar_cnpj, making the tool's purpose unmistakable.

    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 provides a concrete use case: 'Útil para triagem rápida de carteira de fornecedores' (useful for quick screening of supplier portfolios). However, it does not explicitly name alternatives or state when not to use the tool, though the batch nature is implicit. The guidance is clear but not exhaustive.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly states the requirement for mTLS with a digital certificate A1, including the environment variables (NFE_CERTIFICADO_PATH / NFE_CERTIFICADO_SENHA). It also clarifies that this is a real-time status check and that mTLS is a transport requirement for all SEFAZ webservices. It does not explicitly state it is read-only, but the nature of a status check implies it, and the disclosed prerequisites are valuable. No contradictions with annotations exist since none are provided.

    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 long, front-loaded with the main purpose, followed by the use case and requirements. Every sentence adds meaningful information: what it does, when to use it, and what prerequisites exist. No fluff or redundancy. It is well-structured and efficient.

    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 a single parameter, an output schema, and a simple status-check function, the description covers the essential points: what it does, when to use it, and the critical certificate requirement. It does not describe the output format, but that is covered by the output schema. It also does not mention potential failure modes (e.g., network errors or invalid state code), but the schema already validates the input. The description is sufficiently complete for an agent to call it correctly, though it could add a note about error handling.

    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 already describes the sole parameter 'uf' with full coverage (100%), including the format (2-letter state code) and validation against Brazilian states. The description adds no additional information about the parameter itself. Since the schema handles the semantics, the baseline of 3 is appropriate; the description does not need to repeat it.

    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: to query the real SEFAZ service status for a Brazilian state via NfeStatusServico4. It uses a specific verb and resource ('Consulta o status real do serviço SEFAZ') and explains what it verifies (whether the SEFAZ webservice for NFe issuance is operational). This distinguishes it from sibling tools like consultar_nfe or validar_chave_nfe, which focus on individual invoices or keys.

    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 a clear use case: 'Útil para diagnosticar falhas de transmissão de notas fiscais.' It tells the agent when to use this tool. However, it does not explicitly mention when not to use it or name alternative tools, which would be needed for a perfect 5. The context is clear enough to guide selection, but it lacks explicit exclusions.

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

  • Behavior4/5

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

    The description and schema detail behavioral aspects: filtering by group with partial, case-insensitive matching, and returning all events ordered by code when no filter is applied. It does not mention side effects or errors, but for a read-only list operation this is sufficient.

    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 front-loads the action and primary capability. It avoids unnecessary detail while still conveying the key functionality and filter options.

    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 simplicity of the tool, the description covers the essential aspects: what it does, what it returns, and the filter behavior. The presence of an output schema (though not shown) and the parameter details make it sufficiently complete for an agent to call it correctly.

    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 parameter 'grupo' is described in both the main description and schema description, clarifying its purpose, allowed values, filtering behavior (partial, case-insensitive), and default behavior (returns all when None). The minor inconsistency between 'Exclusao' and 'Totalizadores' is a slight detraction.

    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 verb 'Lista' (lists) and the resource 'eventos do eSocial' (eSocial events), and specifies the returned fields (nome, grupo, descrição). It also distinguishes this tool from siblings like validar_evento_esocial by focusing on listing rather than validation.

    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 explains what the tool does but does not explicitly state when to use it versus alternatives like validar_evento_esocial. Usage context is implied by the listing nature, but no direct comparison or guidance is provided.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the transparency burden. It discloses that the tool handles XML with or without the <nfeProc> wrapper and with or without fiscal namespace, and that it returns structured data. It does not mention invalid XML handling or errors, but the core behavior is clearly described.

    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 free of redundant wording. It front-loads the main purpose and then adds relevant edge-case information about accepted XML formats.

    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 simple single-parameter interface and the presence of an output schema, the description provides sufficient context for an agent to decide and invoke the tool. It could mention validation/error behavior, but the essential information is present.

    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 only parameter, xml_content, has a full schema description. The tool description adds useful behavior beyond the schema by specifying that the XML may include or omit the <nfeProc> wrapper and namespace, enriching 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 parses complete NF-e/NFC-e XML and returns structured data, listing specific extracted fields such as emitente, destinatario, itens, totais, and protocolo. It distinguishes itself from other NFe-related tools by focusing on raw XML parsing.

    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 explains when the tool is useful ('a partir do XML bruto') and mentions accepted XML variations, but it does not explicitly contrast it with sibling tools such as consultar_nfe, baixar_nfe_distribuicao, or validar_chave_nfe. Usage guidance is implied rather than explicitly stated.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden. It discloses that the tool works offline by reading an in-memory dictionary with all CFOP groups and requires no network connection. It also explains the group classification (1/2/3 for entries, 5/6/7 for exits) which is behavioral detail beyond the schema. It does not describe the return format, but an output schema is indicated as present.

    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 sections: purpose, when to use, offline behavior, parameter format, and group logic. It is slightly long but every sentence adds value, and the most important information (purpose and usage) is front-loaded. It could be slightly more concise but is appropriately organized.

    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 (single parameter, lookup operation), the description covers purpose, usage context, behavioral constraints, and parameter semantics. It does not explicitly state return values, but the presence of an output schema (indicated by 'Has output schema: true') means that information is available elsewhere. It is sufficiently complete for an agent to call it correctly.

    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% since the only parameter 'cfop' is described with a format and example. The description adds extra meaning by explaining the 4-digit format with examples and the group semantics (entries vs exits by region), which goes beyond the schema's basic description. This enhances understanding of valid inputs.

    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 states a specific verb ('Consulta') and a well-defined resource (CFOP code), and immediately explains its purpose: identifying the legal nature of a fiscal operation for NF-e, SPED, and accounting. This clearly distinguishes it from siblings like consultar_ncm, validar_cst, and consultar_cest, which handle other tax codes.

    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 explicitly provides a 'Quando usar' section: when issuing invoices, classifying entries/exits, or analyzing ancillary obligations. This gives clear context for when to call the tool, though it does not explicitly mention when not to use it or compare with alternatives. The offline behavior is also mentioned, which is a useful constraint.

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

  • Behavior4/5

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

    The description is transparent about the data source (BCB/SGS series 11) and the expected output (list of daily points with rate). It does not mention auth, rate limits, or side effects, but since this is a read-only query tool, the provided information is reasonably complete given there are no annotations to lean on.

    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, uses a single clear sentence for the main function, and adds a brief use-case sentence. No fluff or redundancy, and the structure is logical.

    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?

    The description provides all essential context: data source, period parameterization, output format, and target use cases. Combined with the complete parameter schema, it gives a sufficiently complete picture for correct usage.

    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 descriptions already cover both parameters (data_inicio and data_fim) with inclusive date semantics and default behavior, giving 100% coverage. The tool description adds no extra detail beyond what is in the schema, so the baseline of 3 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 that the tool queries the effective daily Selic rate from the Central Bank of Brazil for a specified period, and indicates the output is a list of daily rates. It also lists use cases (interest calculations, monetary correction, policy analysis), making the purpose unambiguous and differentiated from related financial data tools.

    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 usage context by mentioning usefulness for interest calculations, monetary correction, and monetary policy analysis. However, it does not explicitly contrast with sibling tools like ipca_periodo or ptax_data, so the guidance stops short of a clear when-not-to-use directive.

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

  • Behavior4/5

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

    Without annotations, description carries the burden. It discloses the offline/mathematical nature, absence of external API calls, and that it only validates the check digit, not existence. This is transparent enough.

    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?

    One sentence with purpose, one with transparency. No fluff. Well-structured.

    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 a simple single-parameter tool and an output schema present (per context), the description is complete. It clarifies the scope (check digit only) which is important contextual information.

    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 already fully describes the 'cpf' parameter with examples. The description adds no additional parameter semantics beyond that, so baseline 3.

    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 'Valida' and the resource 'dígito verificador de um CPF brasileiro'. Clear and distinguishes from siblings like consultar_cnpj.

    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?

    Gives context that it is offline and does not query external APIs, and notes Receita Federal's lack of public API for CPF data. However, it doesn't explicitly contrast with sibling tools or provide when-not-to-use scenarios.

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

  • Behavior4/5

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

    With no annotations, the description carries the transparency burden. It discloses that free public APIs do not support textual name search and that the tool returns guidance instead of performing a real lookup, which is an important behavioral limitation.

    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 well-organized, using clear sections for purpose, usage, behavior, and parameters. No unnecessary detail or repetition detracts from its usefulness.

    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 enough context for an agent to decide when to call the tool and what to expect from the result (guidance rather than actual company data). It could mention error cases or output format, but the core information is complete.

    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 covers both parameters with descriptions, and the description adds little beyond restating that 'nome' is required and 'uf' is optional. Since schema coverage is 100%, the baseline score of 3 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 for companies by corporate name or trade name. It also distinguishes it from consultar_cnpj by noting the appropriate use case when the CNPJ is not known.

    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 explicitly says when to use the tool ('when only the company name is known, not the CNPJ') and when not to use it ('prefer consultar_cnpj when the CNPJ is known'), which provides clear selection guidance.

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

  • Behavior4/5

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

    Sem anotações, a descrição carrega o peso. Ela divulga a faixa de score, as categorias de recomendação e o efeito da opção estrita (redução de 10 pontos). Porém, chama a saída de 'binária' quando lista 4 opções, uma imprecisão menor, e não menciona pré-requisitos ou efeitos colaterais.

    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?

    Duas frases concisas, com o propósito principal na primeira linha e o detalhe da opção na segunda. Sem desperdício, bem estruturado.

    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?

    Existe output schema, então não precisa explicar o retorno. A descrição cobre o comportamento central e a opção, mas não menciona se há necessidade de dados prévios (como ComplianceReport) ou como obtê-los, o que é um pequeno gap para um tool de scoring.

    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?

    A cobertura do schema é 100%, então o baseline é 3. A descrição adiciona valor ao especificar que criterios_estritos=true reduz o score em 10 para políticas anticorrupção, detalhe não presente no 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?

    A descrição é específica: verbo 'calcula', recurso 'score de risco para due diligence de fornecedor', e menciona a saída (recomendação). Diferencia-se de irmãos como analyze_cnpj_compliance ao citar 'Combina ComplianceReport' e ajustes conservadores para contratação.

    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?

    Fornece contexto claro de uso (due diligence de fornecedor, ajustes para contratação) e menciona a opção criterios_estritos, mas não compara explicitamente com alternativas como analyze_cnpj_compliance ou quando não usar.

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

  • Behavior5/5

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

    With no annotations provided, the description fully discloses behavioral traits. It states 'Comportamento offline: lê do banco SQLite bundled; não requer conexão.' and includes an AVISO about the sample data ('pode conter apenas uma amostra da TIPI completa'). This is transparent about how the tool operates and its limitations.

    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 explicit labels (Purpose, Quando usar, Comportamento offline, AVISO, Formato) making it easy to parse. Each sentence contributes value, though some redundancy with the schema slightly reduces efficiency. Overall it is concise and clearly organized.

    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 an agent to decide when to use the tool and what to expect (offline, sample data). It does not detail return values, but an output schema is assumed present, so that gap is acceptable. The inclusion of limitations and use cases makes it contextually complete for typical decision-making.

    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 already fully describes the 'ncm' parameter with format and examples (100% coverage). The description repeats this information ('Formato do parâmetro: 8 dígitos numéricos...') but does not add new semantic details beyond what the schema provides. It is helpful reinforcement but not additive.

    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 function: 'Consulta a Nomenclatura Comum do Mercosul (NCM) de um produto.' It specifies the resource (NCM) and the action (consult). It also mentions the intended use cases (NF-e, IPI, SPED) which distinguishes it from other consultation 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?

    The description explicitly lists when to use the tool: 'Quando usar: ao emitir nota fiscal, fazer importação/exportação ou calcular tributos.' This provides clear guidance on appropriate scenarios. It also warns about the offline nature and potential data incompleteness, helping the agent set expectations.

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

  • Behavior4/5

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

    The description discloses the output format (PDF returned as base64) and important input constraints. It does not mention error behavior or side effects, but there are no annotations to contradict, and the core behavior is transparent enough for an agent.

    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, direct, and free of unnecessary information. It front-loads the main action and then adds essential constraints and output details in a compact format.

    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 covers the input format, output format, and key operational constraints. It does not discuss error cases or performance, but for a straightforward PDF generation tool the context is sufficiently complete.

    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 only parameter, xml_content, is well described in the schema with details about the full XML string, required namespace, and acceptance of both wrapped and unwrapped <nfeProc> XML. The tool description reinforces these 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's purpose: generating a DANFE PDF from an NF-e XML. It explicitly notes that only NF-e model 55 is supported, which distinguishes it from related XML parsing or validation tools.

    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 practical usage guidance: the XML must include the fiscal portal namespace, may or may not be wrapped in <nfeProc>, and no digital certificate is required. It does not explicitly name alternative tools, but the key conditions for successful use are clearly provided.

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

  • Behavior4/5

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

    Não há annotations fornecidas, então a descrição assume o peso. Ela declara explicitamente que não consulta APIs, o que esclarece o comportamento. Não há efeitos colaterais indicados. Seria mais transparente se mencionasse que retorna um booleano ou resultado, mas o essencial está presente.

    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?

    Duas frases curtas e diretas, sem redundância ou jargão desnecessário. Toda informação é relevante e estruturalmente organizada: primeiro o que faz, depois o que não faz, depois o que extrai.

    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?

    A descrição cobre o propósito, limitações e informações extraídas. Não detalha o formato de saída (ex.: retorna booleano? objeto?), mas como não há schema de saída fornecido, a descrição é suficientemente completa para o contexto. Poderia ser levemente mais específico sobre o resultado, mas não é um gap crítico.

    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?

    O único parâmetro `chave_acesso` é descrito no schema com detalhes (44 dígitos, aceita espaços). A descrição da ferramenta adiciona significado ao explicar o que a chave permite extrair (UF, data, CNPJ, número), enriquecendo a compreensão do parâmetro.

    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 especifica claramente a ação (validar formato e dígito verificador), o alvo (chave de acesso de NFe) e o escopo (sem consulta a APIs, apenas cálculo matemático e extração de informações). Distingue-se de outras validações como validar_cpf e validar_assinatura_nfe.

    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 é explícita sobre quando usar (para validar chave) e sobre o que não faz (não consulta APIs). Não menciona alternativas diretamente, mas a informação de que não consulta APIs evita uso indevido. Poderia ser mais explícito sobre comparado a outras ferramentas.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden. It discloses offline behavior, in-memory validation tables, and that no connection is required, which is useful. It also implies non-destructive validation, but does not explicitly state the operation is read-only or what the return structure is (though output schema exists). This is adequate but not exhaustive.

    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 structured into purpose, when to use, behavior, and parameter details. Every sentence adds value, and the most critical information (purpose and usage) is front-loaded. No fluff or redundancy.

    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?

    The description is complete for a validation tool with two parameters and an output schema. It covers purpose, usage context, offline behavior, and parameter formats. The output schema handles return details, so nothing essential is missing.

    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 already covers both parameters with examples (100% coverage). The description adds value by specifying digit lengths for different CST types (3 digits for ICMS, 2 for PIS/COFINS/IPI, 3 for CSOSN), which goes beyond the schema examples and helps the agent construct valid inputs.

    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 validates CST/CSOSN codes, with a specific verb and resource. It distinguishes itself from siblings by focusing on validation rather than lookup or generation, and it specifies the purpose (confirm validity before issuing NF-e or SPED). The distinction is clear even without naming alternatives.

    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 explicitly says when to use ('ao preencher o campo CST/CSOSN na NF-e ou no SPED EFD'), providing clear context. However, it does not mention when not to use it or mention alternative tools (e.g., consultar_cst for detailed information), so it lacks explicit exclusions or alternatives.

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

  • Behavior4/5

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

    With no annotations, the description carries the transparency burden. It explains the search behavior and the output (list of subclasses). It does not mention error handling or edge cases, but for a simple search tool, this is adequate.

    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 and well-structured, with no unnecessary words. It conveys the purpose, method, and value in three short 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?

    The description fully covers the tool's function and expected output for its simple scope. It does not require additional context about return format or limitations, as it is a straightforward search operation.

    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 schema description for the 'texto' parameter is explicit and helpful, including examples ('software', 'restaurante'). No additional explanation is needed beyond what the schema provides.

    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 ('Busca' - searches), the resource ('atividades econômicas CNAE'), and the result (returns a list of subclasses). It distinguishes itself from sibling tools like 'consultar_cnae' which likely fetches details by code.

    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 a clear use case ('Útil para encontrar o código CNAE a partir do ramo de atividade desejado'). It does not explicitly mention when not to use it or contrast with 'consultar_cnae', but the guidance is sufficient for typical usage.

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

  • Behavior4/5

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

    With no annotations, the description carries the burden and does well by disclosing offline behavior (in-memory tables, no connection) and a specific limitation (missing 4% import rate). It does not mention error handling or edge cases, but the output schema covers return structure, so this is sufficient.

    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 with clear sections: purpose, usage, behavior, note, and parameter guidance. Every sentence provides necessary information without redundancy, and the core purpose is front-loaded.

    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 tool's simplicity and that an output schema exists, the description covers all necessary aspects: purpose, when to use, behavior, limitations, and parameter formatting. It is fully self-contained for an agent to invoke correctly.

    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 baseline is 3. The description adds value by specifying that UF abbreviations must be uppercase (ex: 'SP', 'MG', 'RJ'), which is not explicit in the schema. This helps prevent invalid input.

    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 consults ICMS rates for interstate operations between taxpayers, explicitly naming the resource and scope. It distinguishes from siblings like consultar_aliquotas_importacao by specifying interestadual operations and DIFAL calculation.

    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 when-to-use conditions: emitting interstate NF-e, calculating DIFAL, or checking tax burden between states. It also notes exclusions, such as not covering the 4% rate for imported goods, which guides against misuse.

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

  • Behavior5/5

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

    No annotations are provided, so the description carries the full burden. It discloses the calculation cascade, default rates, dependency of frete_maritimo on modal, the need for user-provided II aliquota, and the non-binding disclaimer. This makes the tool's behavior transparent.

    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 detailed but redundant: it repeats the purpose and restates the parameter list already present in the schema. It is organized with labeled sections, but the length and duplication could be trimmed without losing clarity.

    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 complexity (9 parameters, cascade calculation, defaults, and exclusions), the description provides complete context: the calculation order, default rates, modal interactions, user responsibilities, and scope limitations. Since an output schema exists, return values need not be described.

    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?

    Schema covers 100% of parameters, but the description adds significant meaning: explains the cascade order, identifies default values, clarifies modal-dependent parameters, describes the IPI override behavior, and gives NCM format examples. This goes well beyond the 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?

    Clear statement of the tool's function: 'Calcula os tributos de importação em cascata para um produto classificado por NCM.' The purpose is explicit and specific, and the description distinguishes it from related tools by outlining the scope and exclusions.

    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 'Quando usar' section and clarifies when the tool is appropriate (estimating import taxes for planning). Disclaimers about out-of-scope scenarios (antidumping, special regimes, etc.) further guide correct usage.

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

  • Behavior5/5

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

    Since no annotations are provided, the description carries full responsibility for disclosing behavior. It transparently states the offline behavior (reads from a bundled SQLite TIPI database, requires no connection) and explicitly notes a limitation (II rate not available offline), giving a clear picture of what the tool does and does not provide.

    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 labeled sections (Purpose, Quando usar, IMPORTANTE, Comportamento offline, Parâmetro) but contains minor redundancy, such as repeating 'antes de usar calcular_tributos_importacao' in both the purpose and usage sections. Overall it is informative without being excessively verbose.

    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?

    The description provides comprehensive context for a query tool: it specifies the input, the output scope (IPI, PIS/COFINS), the key limitation (II not available), and the offline behavior. Given that an output schema is indicated to exist, the description sufficiently covers what an agent needs to decide when and how to use the tool.

    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 schema covers the single parameter 'ncm' with a clear description, and the tool description reinforces the expected format ('código NCM com 8 dígitos, com ou sem pontuação') with examples. This leaves no ambiguity about the parameter's meaning or accepted values.

    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 queries reference rates for import tax calculation by NCM, specifically to obtain IPI and PIS/COFINS defaults. It also explicitly names the distinct purpose of feeding into calcular_tributos_importacao, making the tool's role 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?

    The description provides explicit 'Quando usar' guidance, stating to use this tool before calculating import taxes and to verify IPI and PIS/COFINS defaults. It also warns that II (Imposto de Importação) is not available offline and directs users to consult an external source, effectively distinguishing this tool from related ones.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

mcp-fiscal-brasil MCP server — quality and maintenance score on Glama

Copy to your README.md:

Score Badge

mcp-fiscal-brasil MCP server — quality and maintenance score on Glama

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AgileConecta/RTC-MCP_FISCAL'

If you have feedback or need assistance with the MCP directory API, please join our Discord server