omie-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@omie-mcpListe as contas a pagar em aberto deste mês"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🏦 omie-mcp
Servidor MCP (Model Context Protocol) para integração com o ERP OMIE. Permite controlar suas finanças diretamente pelo Claude (ou qualquer cliente MCP), usando linguagem natural.
✨ O que você pode fazer
Converse com o Claude e peça coisas como:
"Liste todas as contas a pagar em aberto do mês"
"Registre o pagamento da fatura do fornecedor X"
"Mostre o extrato bancário da conta corrente de março"
"Qual o fluxo de caixa previsto vs realizado em fevereiro?"
"Cadastre um novo fornecedor com CNPJ 12.345.678/0001-99"
"Crie uma categoria de despesa para 'Assinaturas de Software' ligada ao DRE"
"Qual o código do tipo de documento de boleto?"
Related MCP server: MCP Conta Azul
🗂️ Módulos disponíveis
Módulo | Ferramentas |
Fornecedores | Listar, consultar, cadastrar e alterar fornecedores |
Contas a Pagar | Listar, consultar, incluir, lançar pagamento, cancelar e excluir |
Contas a Receber | Listar, consultar, incluir, lançar recebimento, cancelar e excluir |
Lançamentos Bancários | Listar, consultar, incluir e excluir transações em conta corrente |
Contas Correntes | Listar contas, consultar detalhes, extrato bancário por período e tipos de conta |
Fluxo de Caixa | Previsto vs realizado, resumo financeiro, títulos em aberto e pesquisa unificada |
Categorias | Listar, consultar, incluir e alterar categorias e grupos totalizadores |
Contas do DRE | Listar a estrutura do DRE e as contas vinculáveis a categorias |
Tipos de Documento | Pesquisar por descrição e consultar por código |
Bancos | Listar e consultar instituições financeiras e seus recursos de integração |
Total: 41 ferramentas MCP
📋 Pré-requisitos
Python 3.12+
uvinstaladoCredenciais de API do OMIE (
app_keyeapp_secret)
Para obter as credenciais, acesse no OMIE: Configurações → API → Aplicações
🚀 Instalação e uso
Opção 1 — uvx direto do GitHub (sem instalar nada)
uvx --from git+https://github.com/lucassampsouza/omie-mcp omie-mcpAs credenciais podem ser passadas por variáveis de ambiente ou por um arquivo .env:
# Via variáveis de ambiente
OMIE_APP_KEY=sua_key OMIE_APP_SECRET=seu_secret \
uvx --from git+https://github.com/lucassampsouza/omie-mcp omie-mcp# Via arquivo de configuração global (recomendado para uso contínuo)
mkdir -p ~/.config/omie-mcp
echo "OMIE_APP_KEY=sua_key" >> ~/.config/omie-mcp/.env
echo "OMIE_APP_SECRET=seu_secret" >> ~/.config/omie-mcp/.env
uvx --from git+https://github.com/lucassampsouza/omie-mcp omie-mcpOpção 2 — Clone local com uv
git clone https://github.com/lucassampsouza/omie-mcp
cd omie-mcp
# Configure as credenciais
cp .env.example .env
# Edite o .env com sua app_key e app_secret
uv run omie-mcp🖥️ Configuração no Claude Desktop
Linux / macOS
Edite o arquivo de configuração do Claude Desktop:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"omie": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/lucassampsouza/omie-mcp",
"omie-mcp"
],
"env": {
"OMIE_APP_KEY": "sua_app_key",
"OMIE_APP_SECRET": "seu_app_secret"
}
}
}
}Windows com WSL
Como o Python roda dentro do WSL, a forma mais confiável é usar um script wrapper que carrega as credenciais.
1. Configure as credenciais dentro do WSL:
mkdir -p ~/.config/omie-mcp
cat > ~/.config/omie-mcp/.env << EOF
OMIE_APP_KEY=sua_app_key
OMIE_APP_SECRET=seu_app_secret
EOF2. Crie o script wrapper em ~/omie-mcp-run.sh:
cat > ~/omie-mcp-run.sh << 'EOF'
#!/bin/bash
set -e
export $(grep -v '^#' ~/.config/omie-mcp/.env | xargs)
exec uvx --from git+https://github.com/lucassampsouza/omie-mcp omie-mcp
EOF
chmod +x ~/omie-mcp-run.sh3. Edite %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"omie": {
"command": "wsl",
"args": ["/home/SEU_USUARIO/omie-mcp-run.sh"]
}
}
}Substitua
SEU_USUARIOpelo seu usuário no WSL (rodewhoamino terminal WSL para confirmar).
🔧 Referência das ferramentas
Fornecedores
Ferramenta | Descrição |
| Lista fornecedores com filtros por nome ou CNPJ |
| Consulta detalhes de um fornecedor pelo código ou CNPJ |
| Cadastra um novo fornecedor |
| Atualiza dados de um fornecedor existente |
Contas a Pagar
Ferramenta | Descrição |
| Lista contas filtrando por status, período e fornecedor |
| Consulta detalhes de uma conta específica |
| Cria uma nova conta a pagar |
| Registra o pagamento (baixa) de uma conta |
| Estorna o pagamento de uma conta |
| Exclui uma conta a pagar em aberto |
Contas a Receber
Ferramenta | Descrição |
| Lista contas filtrando por status, período e cliente |
| Consulta detalhes de uma conta específica |
| Cria uma nova conta a receber |
| Registra o recebimento (baixa) de uma conta |
| Estorna o recebimento de uma conta |
| Exclui uma conta a receber em aberto |
Lançamentos Bancários
Ferramenta | Descrição |
| Lista transações de conta corrente por período |
| Consulta detalhes de um lançamento |
| Cria lançamento manual (débito ou crédito) |
| Exclui um lançamento bancário |
Contas Correntes
Ferramenta | Descrição |
| Lista todas as contas bancárias cadastradas no OMIE |
| Consulta detalhes de uma conta corrente específica |
| Extrato completo de uma conta em um período |
| Tipos aceitos no cadastro de conta corrente (CC, CP, CR, CX…) |
Fluxo de Caixa
Ferramenta | Descrição |
| Previsto vs realizado por categoria em um mês |
| Resumo consolidado numa data de referência |
| Títulos não liquidados (a pagar ou a receber) |
| Pesquisa unificada (contas a pagar + a receber) |
Categorias
Ferramenta | Descrição |
| Lista o plano de categorias, com filtros por tipo (R/D) e descrição |
| Consulta uma categoria pelo código, com a conta do DRE vinculada |
| Grupos totalizadores — os valores válidos para |
| Tipos de categoria — os valores válidos para |
| Cria uma categoria dentro de um grupo totalizador |
| Altera ou inativa uma categoria existente |
| Cria um grupo totalizador de receita ou despesa |
| Altera a descrição/natureza de um grupo |
Contas do DRE
Ferramenta | Descrição |
| Estrutura do DRE; com |
Tipos de Documento
Ferramenta | Descrição |
| Pesquisa por descrição (ignora acentos e maiúsculas) |
| Consulta um tipo pelo código exato (BOL, NF, ADI…) |
Bancos
Ferramenta | Descrição |
| Lista instituições financeiras, com filtro por nome e tipo |
| Detalhes de integração do banco (PIX, extrato, CNAB, boletos) |
🔗 Como os cadastros de apoio se encaixam
As categorias são a espinha dorsal da classificação financeira, e o OMIE valida os vínculos na inclusão. A ordem que funciona é:
listar_grupos_categoria → escolhe categoria_superior (ex: 2.01)
listar_tipos_categoria → escolhe tipo_categoria com cTipo compatível
(grupo 1.xx → R, grupo 2.xx → P)
listar_contas_dre → escolhe codigo_dre entre as contas vinculáveis
(apenas_vinculaveis=True)
incluir_categoria → cria a categoria já classificada no DRECategorias, tipos de documento, bancos e tipos de conta corrente são justamente os códigos consumidos ao lançar contas a pagar, contas a receber e lançamentos bancários — consulte-os antes de criar um lançamento em vez de adivinhar códigos.
Somente leitura: a API do OMIE não expõe inclusão, alteração nem exclusão para contas do DRE, tipos de documento, bancos e tipos de conta corrente — essas tabelas são mantidas pelo ERP. Categoria também não tem exclusão: use
alterar_categoriacominativar=True.
Consumo redundante: o OMIE bloqueia por ~40 segundos a repetição de uma chamada idêntica (mesmo método e mesmos parâmetros), respondendo
Consumo redundante detectado. Varie os filtros ou aguarde a janela.
📁 Estrutura do projeto
omie-mcp/
├── src/omie_mcp/
│ ├── client.py # Cliente HTTP para a API do OMIE
│ ├── server.py # Servidor MCP (FastMCP)
│ └── tools/
│ ├── fornecedores.py
│ ├── contas_pagar.py
│ ├── contas_receber.py
│ ├── lancamentos_cc.py
│ ├── contas_correntes.py
│ ├── fluxo_caixa.py
│ ├── categorias.py
│ ├── dre.py
│ ├── tipos_documento.py
│ └── bancos.py
├── .env.example # Modelo de variáveis de ambiente
├── pyproject.toml
└── README.md📄 Licença
MIT — veja o arquivo LICENSE para detalhes.
Available Tools
41 toolsalterar_categoriaA
Altera uma categoria existente. Apenas os campos informados são enviados.
Mesmas regras de vínculo de incluir_categoria, aplicadas sobre o `codigo`:
código iniciando em 1 exige tipo_categoria com cTipo R, em 2 exige cTipo P;
`codigo_dre` só aceita contas de nivelDRE 3, não totalizadoras e exibíveis.
Não existe método de exclusão de categoria na API do OMIE — para retirar uma
categoria de uso, chame esta tool com inativar=True.
| Name | Required | Description | Default |
|---|---|---|---|
| codigo | Yes | ||
| inativar | No | ||
| natureza | No | ||
| descricao | No | ||
| codigo_dre | No | ||
| tipo_categoria | No |
TDQS
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 partial update behavior ('Apenas os campos informados são enviados'), validation rules for codigo and codigo_dre, and the workaround for deletion via inativar. This is rich behavioral context beyond basic 'update' semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the primary action, followed by critical behavioral notes. Each sentence serves a purpose: stating the operation, explaining partial updates, giving validation rules, and noting the inativar workaround. There is no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter update tool with no output schema or annotations, the description covers the essential aspects: operation, field behavior, validation constraints, and deletion alternative. It doesn't specify return values or side effects, but those are often not crucial for an update operation. The cross-reference to incluir_categoria adds useful context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 0% of parameters in its descriptions, so the tool description must compensate. It does add meaning for codigo (prefix-based type rules), codigo_dre (DRE level constraints), and inativar (purpose as deletion workaround). natureza and descricao are not detailed, but their names and schema titles make them reasonably self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Altera uma categoria existente' (Alters an existing category), which clearly states the verb and resource. It further distinguishes itself from siblings like incluir_categoria by implying an update operation, and the title 'alterar_categoria' is self-reinforcing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly references incluir_categoria for binding rules, and importantly states that since there is no delete method, one should call this tool with inativar=True to remove a category from use. This provides clear guidance on when to use this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alterar_fornecedorC
Altera dados de um fornecedor existente no OMIE.
| Name | Required | Description | Default |
|---|---|---|---|
| cep | No | ||
| No | |||
| bairro | No | ||
| cidade | No | ||
| estado | No | ||
| endereco | No | ||
| razao_social | No | ||
| telefone1_ddd | No | ||
| endereco_numero | No | ||
| telefone1_numero | No | ||
| codigo_cliente_omie | No | ||
| codigo_cliente_integracao | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It merely says 'Altera dados' (changes data) without explaining whether it performs partial or full updates, what happens if the supplier doesn't exist, or any side effects or permissions required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no filler. It is well-structured and front-loaded with the verb.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 12 parameters, no annotations, and no output schema, yet the description provides only a one-sentence overview. It lacks essential context like how to identify the supplier, whether fields are optional individually, and what the response contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description mentions none of the 12 parameters. The agent gets no semantic help beyond the raw field names (e.g., 'cep', 'email') and cannot know which identifiers are needed to target the supplier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Altera dados' = changes data) and the target resource ('fornecedor existente' = existing supplier), which distinguishes it from sibling tools for creating (incluir_fornecedor) or listing (listar_fornecedores) suppliers. However, it lacks any explicit differentiation beyond the resource name, so it earns a 4 rather than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool instead of alternatives. There is no mention of prerequisites (e.g., needing an existing supplier code) or distinction from similar update tools for other entities.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alterar_grupo_categoriaA
Altera um grupo totalizador de categorias. O OMIE não permite trocar o tipo (receita/despesa) de um grupo já criado.
| Name | Required | Description | Default |
|---|---|---|---|
| codigo | Yes | ||
| natureza | No | ||
| descricao | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It does disclose a non-obvious limitation (type change not allowed), which adds value beyond the schema. However, it omits other important traits such as permissions, error behavior, or reversibility, so it's only moderately transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences. It front-loads the primary action and adds a crucial caveat. Every sentence serves a purpose with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and undocumented parameters, the description is too sparse. It lacks parameter explanations, error conditions, and any return value details, making it incomplete for an agent to invoke correctly without further inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for parameter meaning. It indirectly explains 'natureza' by stating the type change restriction, but it says nothing about 'codigo' or 'descricao'. This is a significant gap, providing minimal semantic help beyond parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action with a specific verb and resource: 'Altera um grupo totalizador de categorias' (Alters a totalizer group of categories). This distinguishes it from sibling tools like 'alterar_categoria' by specifying the entity type ('grupo totalizador').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear context for use (altering a totalizer group) and explicitly states a key exclusion: the tool cannot change the type (receita/despesa) of an existing group. This gives useful guidance on when not to use the tool, though it doesn't mention alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancelar_pagamento_conta_pagarA
Cancela/estorna o pagamento de uma conta a pagar, revertendo a baixa.
Identifica a baixa (retornada por lancar_pagamento), não o título.
| Name | Required | Description | Default |
|---|---|---|---|
| codigo_baixa | No | ||
| codigo_baixa_integracao | No |
TDQS
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 operation reverses the baixa (write-off), which is a key behavioral trait, and clarifies the identifier source. However, it does not mention potential side effects, permission requirements, or conditions under which cancellation is allowed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the main purpose and followed by a crucial usage note. 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple reversal tool with no output schema and only two optional parameters, the description covers the core purpose, the effect (reversing the baixa), and the input source. It could be slightly more complete by indicating the type of response or any preconditions beyond obtaining the baixa code.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It adds that the parameters refer to the baixa, not the title, and that the baixa is obtained from lancar_pagamento. However, it does not explain the difference between codigo_baixa and codigo_baixa_integracao, leaving the agent to infer which to use.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool cancels/stornoes the payment of an accounts payable and reverses the write-off. It distinguishes itself from related tools like lancar_pagamento and cancelar_recebimento by specifying the resource (conta a pagar) and the unique identification method (baixa, not title).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It tells the agent the tool identifies the baixa (write-off) returned by lancar_pagamento, not the title, which is essential for correct use. This implies a workflow (first post payment, then cancel using the baixa code), but it does not explicitly name alternatives or state when not to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancelar_recebimentoA
Cancela/estorna o recebimento de uma conta a receber, revertendo a baixa.
Identifica a baixa (retornada por lancar_recebimento), não o título.
| Name | Required | Description | Default |
|---|---|---|---|
| codigo_baixa | No | ||
| codigo_baixa_integracao | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses that the operation reverses a write-off ('revertendo a baixa') and that it identifies the baixa rather than the title, which is key behavioral information. However, it omits details about idempotency, errors, or side effects beyond the reversal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two focused sentences with no filler. The description is front-loaded with the action and immediately provides the key distinction, making it easy to scan and understand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The core purpose is well covered, but the description leaves ambiguity around the two optional parameters—whether one is required, which takes precedence, and what happens if both are provided. There is also no output schema or mention of return behavior, though the tool is relatively simple.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds essential meaning beyond the schema by explaining that the parameters refer to the baixa code returned by 'lancar_recebimento', not the title. This compensates for the 0% schema coverage, though it doesn't clarify the relationship between 'codigo_baixa' and 'codigo_baixa_integracao'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Cancela/estorna o recebimento de uma conta a receber' and its effect 'revertendo a baixa'. It also distinguishes from sibling tools by specifying it targets recebimento and uses the baixa identifier, not the título.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides usage context by stating the baixa is returned by 'lancar_recebimento', implying this tool should be used after that one. The 'não o título' clause explicitly warns against using a title identifier, giving a clear when-not example.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_bancoA
Consulta uma instituição financeira pelo código, com os detalhes de
integração: `obank_*` (integração via API para PIX, pagamentos, extratos e
boletos), `cnab_*` (remessas CNAB), `cwr_*` (crawler), `cod_ispb` e
`cod_compen`. Útil para saber se um banco suporta extrato ou cobrança
automática antes de configurar a conta corrente.
Cuidado ao interpretar o erro: para um código inexistente o OMIE responde
"Código do banco não informado na tag [codigo]", e não que o banco não existe.
| Name | Required | Description | Default |
|---|---|---|---|
| codigo | Yes |
TDQS
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 a non-obvious error behavior: for a non-existent code, OMIE returns 'Código do banco não informado na tag [codigo]' instead of saying the bank doesn't exist. This is a significant behavioral warning. It also indicates the output contains integration fields, though it doesn't cover response format or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no fluff: purpose and output fields, use case, and error warning. All sentences add value and the description is front-loaded with the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main purpose, a use case, and a critical error handling note, which is good for a simple lookup tool. However, without an output schema, it doesn't describe the response structure, and it leaves the input parameter format ambiguous. It is adequate but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter, 'codigo', with no description (0% schema coverage). The description only says it queries 'pelo código', which adds little beyond the parameter name. It doesn't specify the code format, provide examples, or clarify if it's the bank number, ISPB, etc. The integration details listed are output fields, not input guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queries a financial institution by code ('Consulta uma instituição financeira pelo código') and lists the integration details returned (obank_*, cnab_*, cwr_*, cod_ispb, cod_compen). This distinguishes it from sibling tools like listar_bancos, which lists all banks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a concrete use case: checking if a bank supports automated statements or collection before configuring a checking account ('Útil para saber se um banco suporta extrato ou cobrança automática...'). It doesn't explicitly name alternative tools or exclusions, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_categoriaA
Consulta os detalhes de uma categoria pelo código, incluindo os dados da
conta do DRE vinculada (`dadosDRE`).
| Name | Required | Description | Default |
|---|---|---|---|
| codigo | Yes |
TDQS
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 indicates a read-only query operation and adds context about the included 'dadosDRE' field, but it does not describe the return type, error behavior, or required permissions, leaving some ambiguity 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler or repetition. Every part adds value: the action, the resource, the identifying parameter, and the specific linked data included.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, no output schema), so the description covers the core purpose and a key part of the response ('dadosDRE'). However, with no output schema, the description is incomplete regarding the full set of returned details and does not address not-found or error scenarios, which a fully transparent description would include.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only defines 'codigo' as a required string; the description adds meaning by stating the category is identified 'pelo código' (by code), clarifying how the parameter is used. While it does not detail format or constraints, for a single parameter this is a meaningful enhancement over the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Consulta') and resource ('categoria pelo código'), clearly stating the tool's function: query details of a single category by its code. It also mentions the inclusion of linked DRE account data, which distinguishes it from sibling tools like listar_categorias (listing all categories) or incluir_categoria/alterar_categoria (mutations).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for retrieving one category's details by code, providing clear context for its primary use. However, it does not explicitly mention alternatives or cases where another tool (e.g., listar_categorias) would be more appropriate, nor does it state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_conta_correnteC
Consulta detalhes de uma conta corrente específica.
| Name | Required | Description | Default |
|---|---|---|---|
| codigo_integracao | No | ||
| codigo_conta_corrente | No |
TDQS
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 only implies a read operation ('Consulta') but does not explain error behavior, response format, or any access requirements. The non-destructive nature is implicit, not explicit, and no additional behavioral context is given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly worded sentence that immediately conveys the action and object. There is no redundancy or extra information, making it highly concise and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has two unspecified parameters and no output schema, the description is under-specified. It lacks details on how to identify the account, what data will be returned, or any contextual caveats. The short length is concise but fails to provide the necessary operational context for an AI agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the two input parameters ('codigo_integracao' and 'codigo_conta_corrente'). It offers no insight into which parameter to use, whether they are alternatives or complementary, or their format, leaving the agent unable to construct a correct call from the description alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Consulta' = consult) and resource ('conta corrente específica' = specific current account), making it easy to understand what it does. The word 'específica' distinguishes it from list-all tools like 'listar_contas_correntes', and the sibling list includes many 'consultar_*' tools, but this one uniquely targets a single current account.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as 'listar_contas_correntes' or other consult tools. It does not mention prerequisites, typical use cases, or situations where another tool would be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_conta_pagarB
Consulta detalhes de uma conta a pagar específica.
| Name | Required | Description | Default |
|---|---|---|---|
| codigo_lancamento_omie | No | ||
| codigo_lancamento_integracao | No |
TDQS
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 indicates a read operation via 'Consulta' but does not disclose parameter requirements, error behavior, response structure, or any side effects. This is a minimal disclosure for a query tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise, front-loaded sentence. It communicates the core purpose with no extraneous information, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and sparse annotations, the description is incomplete for a usable tool. It does not clarify how the two optional parameters interact, what 'detalhes' includes, or how the agent should structure the call when both/neither parameter is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention or explain the parameters (codigo_lancamento_omie, codigo_lancamento_integracao). It fails to compensate for the low coverage, leaving the agent to guess which identifier to provide and whether either is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 detalhes de uma conta a pagar específica' (queries details of a specific accounts payable). The word 'específica' distinguishes this from sibling list tools like listar_contas_pagar, indicating a single-record lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives, no prerequisites, and no mention of when not to use it. It simply states the purpose without contextual or comparative information, leaving the agent to infer usage from names and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_conta_receberC
Consulta detalhes de uma conta a receber específica.
| Name | Required | Description | Default |
|---|---|---|---|
| codigo_lancamento_omie | No | ||
| codigo_lancamento_integracao | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears the full burden of behavioral disclosure. The word 'consulta' implies a read-only operation, but nothing is said about needing at least one identifier, potential errors, or the nature of the returned details. This leaves the agent guessing about invocation requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words, making it terse and front-loaded. However, it is under-specified rather than appropriately concise: omitting essential usage and parameter details prevents it from being fully effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 0% parameter coverage, the description should provide extra context about identified parameters, invocation semantics, and expected results. It provides none of this, making it incomplete for reliable tool selection and correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not compensate. It does not explain 'codigo_lancamento_omie' or 'codigo_lancamento_integracao', their roles, or that at least one might be required. The agent is left without the necessary meaning to populate parameters correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'consulta' (query) and names the resource 'conta a receber' (accounts receivable), explicitly noting 'específica' to indicate it targets a single record. This clearly distinguishes it from sibling tools like 'listar_contas_receber' which lists many.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention that it is intended for fetching a specific account receivable, nor does it note that an identifier is needed or how to choose between the two code parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_extrato_bancarioA
Consulta o extrato bancário de uma conta corrente em um período.
Retorna todos os lançamentos e o saldo do período.
Informe codigo_conta_corrente ou codigo_integracao_conta — o OMIE exige um deles.
Use listar_contas_correntes para descobrir o código (nCodCC).
| Name | Required | Description | Default |
|---|---|---|---|
| data_fim | Yes | ||
| data_inicio | Yes | ||
| exibir_apenas_saldo | No | N | |
| codigo_conta_corrente | No | ||
| codigo_integracao_conta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description discloses key behavior: it returns all transactions and the period balance. It also reveals the OMIE constraint requiring one of the two IDs. However, it doesn't confirm read-only behavior, error handling, or result limitations, which would be valuable given no other metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences, front-loaded with the primary purpose. Each sentence is purposeful: stating what it does, what it returns, and the key input requirement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core function, return type, and a key parameter constraint, but leaves gaps on date format, the meaning of exibir_apenas_saldo, and the structure of the returned statement. With no output schema or annotations, these omissions make it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds meaning only to the two ID parameters, explaining they are mandatory alternatives and how to obtain them. It does not explain data_inicio/data_fim format or exibir_apenas_saldo, leaving most parameters underspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Consulta o extrato bancário de uma conta corrente em um período' and specifies the return ('Retorna todos os lançamentos e o saldo do período'). This is a specific verb+resource+scope that distinguishes it from related tools like listar_lancamentos_bancarios.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context by requiring one of two account IDs ('Informe codigo_conta_corrente ou codigo_integracao_conta') and recommending listar_contas_correntes to discover the code. It lacks an explicit 'when not to use' or direct comparison to alternatives, but the guidance is helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_fluxo_caixaA
Consulta o fluxo de caixa do mês, comparando valores previstos vs realizados por categoria financeira.
| Name | Required | Description | Default |
|---|---|---|---|
| ano | Yes | ||
| mes | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the responsibility. The verb 'consulta' indicates a read operation, and the description adds the core comparison behavior. However, it does not disclose return format, pagination, error conditions, or any additional side effects beyond the obvious 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that directly states what the tool does. Every word contributes to meaning, with no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, with two obvious integer parameters and no output schema. The description conveys the core function and output essence (comparison by category), which is minimally adequate. However, it omits details about the response structure, possible empty results, and any usage limitations, leaving the agent with some uncertainty.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, and the description does not explain the 'ano' and 'mes' parameters beyond referencing 'do mês'. While the parameter names are self-explanatory, the description does not enrich their semantics (e.g., format, ranges, or rationale), leaving the agent to rely solely on the schema's basic type/required fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Consulta' (queries) and a clear resource: the month's cash flow, further refined by the unique comparison of forecast vs actual values by financial category. This distinguishes it from sibling financial query tools that focus on balances, transactions, or summaries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for monthly cash flow analysis with forecast vs actual comparison, but it does not explicitly mention when to choose this over alternatives like 'obter_resumo_financeiro' or 'consultar_extrato_bancario', nor does it state exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_fornecedorA
Consulta detalhes de um fornecedor específico. Informe ao menos um dos identificadores.
| Name | Required | Description | Default |
|---|---|---|---|
| cnpj_cpf | No | ||
| codigo_cliente_omie | No | ||
| codigo_cliente_integracao | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses a prerequisite (at least one identifier) and implies a read-only operation via 'consulta', but does not detail error handling, response format, or behavior when multiple identifiers are provided. It adds some value but lacks rich 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the primary purpose and immediately follows with the key usage requirement. No filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema or annotations, so the description must cover more ground. It addresses the tool's purpose and input requirement, but omits details about return values, potential errors when no identifier is provided, and how it differs from similar query tools. It is adequate but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It refers to the parameters collectively as 'identificadores' and states that at least one is needed, which adds a constraint not in the schema. However, it does not explain each parameter's individual meaning or precedence, though the parameter names are self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 detalhes de um fornecedor específico' (queries details of a specific provider). The verb 'consulta' and resource 'fornecedor específico' are specific and distinguish it from siblings like 'listar_fornecedores' (list providers) and 'incluir_fornecedor' (include provider).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it's for a specific provider and requires at least one identifier ('Informe ao menos um dos identificadores'). This gives usage guidance on prerequisites but does not explicitly mention when not to use it or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_lancamento_bancarioC
Consulta detalhes de um lançamento bancário específico.
| Name | Required | Description | Default |
|---|---|---|---|
| codigo_lancamento | No | ||
| codigo_lancamento_integracao | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only says 'consulta,' implying a read operation. It does not disclose required parameters, error behavior, or return format, which are critical for a tool with no structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that is efficient and free of redundancy. It does not waste words, though it could be more informative without adding bulk.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With two parameters, no parameter descriptions, no output schema, and no annotations, the one-sentence description is inadequate for reliable tool selection and invocation. It lacks context about return values and parameter semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description does not mention codigo_lancamento or codigo_lancamento_integracao at all. The agent gets no explanation of what these identifiers mean, whether they are mutually exclusive, or which one is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it consults details of a specific bank transaction ('Consulta detalhes de um lançamento bancário específico'), using a specific verb and resource. It distinguishes from sibling 'listar_lancamentos_bancarios' by emphasizing 'específico' (specific).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like listar_lancamentos_bancarios or pesquisar_lancamentos_financeiros. It does not mention which parameter to prefer or whether the two codes are alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_tipo_documentoA
Consulta um tipo de documento pelo código exato.
Use listar_tipos_documento com o filtro `descricao` quando não souber o código.
| Name | Required | Description | Default |
|---|---|---|---|
| codigo | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the exact-match behavior, which is useful. However, it does not mention return format, error cases, or explicitly confirm read-only nature, though 'consulta' implies read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no filler. The primary purpose is stated first, followed by an alternative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup tool with one parameter and no output schema, the description provides essential usage guidance and an alternative path. It omits details about return value, but the simplicity and sibling context mitigate this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no description for `codigo`, and coverage is 0%. The description compensates by stating 'código exato', clarifying the parameter must be an exact code. It also indirectly explains how to discover the code via the sibling tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queries a document type by exact code, using a specific verb and resource. It distinguishes itself from sibling listar_tipos_documento by emphasizing exact code lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use `listar_tipos_documento` with the `descricao` filter when the code is unknown, providing clear alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
excluir_conta_pagarA
Exclui uma conta a pagar do OMIE (apenas títulos em aberto).
| Name | Required | Description | Default |
|---|---|---|---|
| codigo_lancamento_omie | No | ||
| codigo_lancamento_integracao | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It states the scope (open items only) but omits that deletion is permanent, any side effects, and permission requirements. For a destructive operation, this 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with an essential qualifier in parentheses. It is concise, front-loaded, and free of redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations and undefined parameter semantics, the description leaves critical gaps about how to specify the target entry and what happens after deletion. The open-items constraint is helpful but insufficient for complete usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the tool description does not explain the purpose of 'codigo_lancamento_omie' or 'codigo_lancamento_integracao', nor whether at least one is required. The parameter names offer vague hints but no operational guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action ('Exclui') and resource ('conta a pagar do OMIE'), and adds a scope constraint ('apenas títulos em aberto'). This distinguishes it from sibling tools like 'excluir_conta_receber' and 'cancelar_pagamento_conta_pagar'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical 'apenas títulos em aberto' provides clear usage guidance: only open (unpaid) payables should be deleted. This implies that other tools handle paid items or cancellations, though alternatives are not explicitly named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
excluir_conta_receberB
Exclui uma conta a receber do OMIE (apenas títulos em aberto).
| Name | Required | Description | Default |
|---|---|---|---|
| codigo_lancamento_omie | No | ||
| codigo_lancamento_integracao | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose the behavioral implications. It states that this is a delete operation, but it fails to mention whether deletion is permanent, any required permissions, or potential side effects. The constraint about open items is helpful but insufficient for a destructive action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that delivers the core message without any fluff. It earns its place by stating both the action and the eligibility condition, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a destructive delete tool with two optional parameters and no output schema. The description omits crucial context: return values, error behavior, which parameter to use, and what happens after deletion. It is far from complete for the complexity involved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description provides no explanation of the two parameters ('codigo_lancamento_omie' and 'codigo_lancamento_integracao'). Since neither parameter is required, the description should at least hint that one of them is needed to identify the record, but it says nothing about them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Exclui' = deletes) and the resource ('conta a receber' = accounts receivable) with the specific OMIE platform context. It adds a key constraint ('apenas títulos em aberto' = only open items), which distinguishes it from sibling delete tools like excluir_conta_pagar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides an implicit usage condition: only open accounts receivable can be deleted. However, it does not explicitly explain when to choose this over other delete tools (e.g., excluir_conta_pagar) or mention prerequisites like which identifier must be provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
excluir_lancamento_bancarioB
Exclui um lançamento bancário em conta corrente.
| Name | Required | Description | Default |
|---|---|---|---|
| codigo_lancamento | No | ||
| codigo_lancamento_integracao | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description simply says 'deletes' without disclosing whether the operation is reversible, whether it requires any authorization, or what side effects it may have on related financial records. Since no annotations are present, the description carries the full burden, and it fails to provide this critical behavioral information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence containing only the essential action. It is not bloated, but it might be overly terse, sacrificing the clarity that longer explanations could offer.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A deletion operation with no output schema and no annotation support requires the description to clarify the preconditions, the identifier requirement, and the irreversibility of the deletion. The current description does none of this, making it inadequate for an AI agent to safely invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema defines two optional identifier parameters (codigo_lancamento and codigo_lancamento_integracao), but the description never mentions how to identify the transaction to delete or that at least one parameter must be supplied. With 0% schema description coverage, the description is expected to compensate, but it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Exclui' (deletes) and specifies the resource 'lançamento bancário em conta corrente' (bank transaction in checking account), clearly differentiating it from sibling tools like incluir_lancamento_bancario, listar_lancamentos_bancarios, and consultar_lancamento_bancario. The intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only states the action, not when to use it or alternatives. It does not mention that the tool is the appropriate choice for deleting a specific bank transaction as opposed to cancelling a Pix or payment. The context of the sibling tools implies its use, but no explicit guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
incluir_categoriaA
Cria uma nova categoria financeira no OMIE.
O OMIE valida os vínculos e rejeita a inclusão se eles não fecharem:
- `categoria_superior` precisa ser um grupo totalizador (use
listar_grupos_categoria). Grupo iniciando em 1 cria receita, em 2 despesa.
- `tipo_categoria` precisa ter cTipo compatível: R para grupo iniciando em 1,
P para grupo iniciando em 2 (use listar_tipos_categoria).
- `codigo_dre` só aceita contas com nivelDRE = 3, naoExibirDRE = N e
totalizaDRE = N (use listar_contas_dre com apenas_vinculaveis=True).
Retorna `codigo_status` ("0" = sucesso), `descricao_status` e o `codigo`
gerado para a categoria.
| Name | Required | Description | Default |
|---|---|---|---|
| natureza | No | ||
| descricao | Yes | ||
| codigo_dre | No | ||
| tipo_categoria | No | ||
| categoria_superior | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It explains that OMIE validates links and rejects inclusion if they don't close, details specific constraints for parameters, and lists return fields (codigo_status, descricao_status, codigo). It lacks mention of permissions or side effects but sufficiently reveals the tool's validation and return behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear opening statement, bullet points for validation rules, and a closing return-value note. It is slightly long but each sentence carries useful information, making it appropriately concise for the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given minimal schema, no annotations, and no output schema, the description fully covers what the tool does, when to validate, how parameters interact, and what to expect in the response. It is complete enough for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero description coverage, so the description compensates by adding detailed semantics for three parameters (categoria_superior, tipo_categoria, codigo_dre) including validation rules and related tools. The remaining parameters (descricao, natureza) are not explained beyond their names, but descricao is self-evident and natureza is optional, preventing a perfect score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Cria uma nova categoria financeira no OMIE' (Creates a new financial category in OMIE), which is a specific verb and resource. It distinguishes this tool from siblings like alterar_categoria and incluir_grupo_categoria by focusing on creating a financial category.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit validation prerequisites and directs the agent to use sibling tools (listar_grupos_categoria, listar_tipos_categoria, listar_contas_dre) for checking links. However, it does not explicitly state when to prefer incluir_grupo_categoria over this tool or when not to use it, so it falls short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
incluir_conta_pagarC
Cria uma nova conta a pagar no OMIE.
| Name | Required | Description | Default |
|---|---|---|---|
| observacao | No | ||
| data_emissao | No | ||
| data_previsao | Yes | ||
| numero_pedido | No | ||
| data_vencimento | Yes | ||
| valor_documento | Yes | ||
| codigo_categoria | Yes | ||
| numero_documento | No | ||
| id_conta_corrente | No | ||
| codigo_cliente_fornecedor | Yes | ||
| codigo_lancamento_integracao | No |
TDQS
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 simply states that it creates a new account payable, which is an implied mutation, but it does not mention idempotency, required permissions, side effects, or what the response contains. This is minimal for a create operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence, which is structurally efficient. However, it is under-specified for a tool with 11 parameters, lacking any mention of required fields or additional context. It is appropriately sized for a simple CRUD purpose but does not fully earn its place due to omitted information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 11 parameters, no output schema, and no annotations, the description is completely inadequate. It does not explain what the tool returns, what the required parameters represent, or any potential error conditions. For a complex create operation, this level of detail is insufficient for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no additional meaning for any of the 11 parameters. While some parameter names are self-explanatory (e.g., 'valor_documento', 'data_vencimento'), others like 'codigo_lancamento_integracao' and 'id_conta_corrente' remain ambiguous. The description does nothing to compensate for the lack of parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Cria uma nova conta a pagar no OMIE' (Creates a new accounts payable in OMIE). The verb 'cria' and resource 'conta a pagar' are specific and distinguish this tool from siblings like 'alterar_conta_pagar' and 'excluir_conta_pagar'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of exclusions, prerequisites, or relationships with sibling tools like 'alterar_conta_pagar' or 'listar_contas_pagar'. The description only states the action without contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
incluir_conta_receberC
Cria uma nova conta a receber no OMIE.
| Name | Required | Description | Default |
|---|---|---|---|
| observacao | No | ||
| data_emissao | No | ||
| data_previsao | Yes | ||
| numero_pedido | No | ||
| numero_parcela | No | ||
| codigo_vendedor | No | ||
| data_vencimento | Yes | ||
| valor_documento | Yes | ||
| codigo_categoria | Yes | ||
| numero_documento | No | ||
| id_conta_corrente | No | ||
| codigo_cliente_fornecedor | Yes | ||
| codigo_lancamento_integracao | No |
TDQS
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 says 'creates a new account receivable' and discloses no side effects, validation requirements, dependencies, return behavior, or potential errors. This is a significant gap for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that is front-loaded with the action. There is no superfluous text, but it is too sparse to be considered highly helpful. It earns its place but misses opportunities to convey essential details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 13 parameters, no output schema, and no annotations, the description is severely incomplete. It does not explain what a 'conta a receber' entails, what results to expect, or what steps are needed for successful use. The tool is under-specified for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any of the 13 parameters, including required fields like 'codigo_cliente_fornecedor' or 'data_vencimento'. The description adds no value beyond the schema, leaving parameter meaning entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Cria') and resource ('nova conta a receber') in the OMIE system. It distinguishes from sibling tools like 'alterar_conta_receber' and 'listar_contas_receber' by indicating the creation of a new record, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage context is provided. The description does not mention when to use this tool versus alternatives, prerequisites, or exclusions. The single sentence only states the action without any decision guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
incluir_fornecedorB
Cadastra um novo fornecedor no OMIE.
| Name | Required | Description | Default |
|---|---|---|---|
| cep | No | ||
| tags | No | ||
| Yes | |||
| bairro | No | ||
| cidade | No | ||
| estado | No | ||
| cnpj_cpf | Yes | ||
| endereco | No | ||
| razao_social | Yes | ||
| nome_fantasia | No | ||
| telefone1_ddd | No | ||
| endereco_numero | No | ||
| telefone1_numero | No | ||
| codigo_cliente_integracao | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the action (register) but does not disclose any potential side effects, required permissions, or behavior on duplicate CNPJ/CPF. The description adds no transparency beyond the literal meaning.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler words. Every word contributes to the core purpose, making it highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (14 parameters, no output schema, no annotations), the description is severely underspecified. It does not explain what happens on success (e.g., returned ID), validation rules, or any constraints, leaving the agent without critical context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description mentions none of the 14 parameters. While some parameter names like 'razao_social' and 'cnpj_cpf' are self-explanatory, the description does not clarify required fields, formats, or the meaning of ambiguous ones like 'codigo_cliente_integracao'. 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Cadastra um novo fornecedor no OMIE' clearly states the verb (cadastra/registers), the resource (fornecedor/supplier), and the scope (OMIE). It distinguishes this tool from siblings like consultar_fornecedor and alterar_fornecedor by specifying 'novo' (new).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating a new supplier via the word 'novo', but it provides no explicit guidance on when to use this versus alterar_fornecedor or any prerequisites. There are no exclusions or alternative suggestions, so the agent must 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.
incluir_grupo_categoriaA
Cria um grupo totalizador de categorias — o nível que depois é usado como
`categoria_superior` das categorias.
O OMIE gera o código do grupo automaticamente ("1.xx" para receita,
"2.xx" para despesa) e o devolve em `codigo`.
| Name | Required | Description | Default |
|---|---|---|---|
| natureza | No | ||
| descricao | Yes | ||
| tipo_grupo | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does add useful context by disclosing that OMIE auto-generates the group code ('1.xx' for receita, '2.xx' for despesa) and returns it in 'codigo'. However, it omits other behavioral aspects like permission requirements, idempotency, or error handling, so it is only partially transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact (two sentences), front-loaded with the primary action, and every word adds value. It introduces the core function, clarifies the group's role in the hierarchy, and notes the auto-generated code behavior without any wasteful filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple create operation with 3 parameters and no output schema or annotations, so the description must compensate. It explains the purpose and the auto-generated code, but it fails to define what 'tipo_grupo' or 'natureza' mean, what valid values they accept, or how they relate to the revenue/expense distinction. This leaves significant gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any of the parameters (descricao, tipo_grupo, natureza). It only mentions the auto-generated 'codigo' output, which is not a parameter. The description offers virtually no help in understanding what values to provide for each parameter, leaving the agent to guess from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a 'grupo totalizador de categorias' (a totalizing category group), which is distinct from creating a simple category (incluir_categoria). It uses a specific verb ('Cria') and resource, and explains the group's role as a future 'categoria_superior', effectively distinguishing it 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool by explaining that the group is the level used as 'categoria_superior' for categories. This gives clear context that it is for parent groups, not individual categories. However, it does not explicitly name an alternative tool (like incluir_categoria) or state 'when not to use', so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
incluir_lancamento_bancarioC
Cria um lançamento manual em conta corrente (débito ou crédito).
| Name | Required | Description | Default |
|---|---|---|---|
| valor | Yes | ||
| observacao | No | ||
| codigo_cliente | No | ||
| tipo_documento | No | 99999 | |
| data_lancamento | Yes | ||
| codigo_categoria | Yes | ||
| numero_documento | No | ||
| codigo_integracao | No | ||
| codigo_conta_destino | No | ||
| codigo_conta_corrente | Yes |
TDQS
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 that the tool creates a manual entry but does not explain side effects, permission requirements, reversibility, how debit/credit is determined (e.g., sign of valor), or the role of codigo_conta_destino for transfers. This is a significant transparency gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded and contains no fluff. It competently states the core purpose. However, given the tool's complexity (10 parameters, no annotations), it could be slightly larger without becoming bloated, but it still earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 10 parameters, no annotations, and no output schema, the description is severely incomplete. It does not explain parameter semantics, behavioral effects, or when to use it. The lack of any guidance makes it insufficient for an AI agent to invoke correctly for all but the simplest implicit use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not compensate. It does not explain any of the 10 parameters, including required fields like codigo_conta_corrente, data_lancamento, valor, or codigo_categoria. The mention of 'débito ou crédito' is the only hint, but it is not mapped to any parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a manual bank transaction (lançamento) in a checking account, specifying debit or credit. This distinguishes it from siblings like listar_lancamentos_bancarios, consultar_lancamento_bancario, and excluir_lancamento_bancario, and also from creation tools for contas a pagar/receber.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention that for accounts payable/receivable you should use incluir_conta_pagar/receber, or when to use this instead of lancar_pagamento/recebimento. There is no context about prerequisites or typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lancar_pagamentoC
Registra o pagamento (baixa) de uma conta a pagar.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| juros | No | ||
| multa | No | ||
| valor | Yes | ||
| desconto | No | ||
| observacao | No | ||
| conciliar_documento | No | N | |
| codigo_conta_corrente | Yes | ||
| codigo_lancamento_omie | No | ||
| codigo_lancamento_integracao | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It indicates a payment write-off but does not explain side effects, such as whether the payment is reversible, how it affects the account balance, or if any validation occurs. This is insufficient for a financial mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no fluff, but it is under-specified for a tool with 10 parameters. It is not a tautology, but lacks the depth expected for such a complex operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 10 parameters, no annotations, and no output schema. The description only restates its basic purpose, omitting all contextual details needed for correct invocation, such as required parameter semantics and expected effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no parameter information. Parameters like 'juros', 'multa', 'desconto', and 'conciliar_documento' are left completely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Registra o pagamento (baixa) de uma conta a pagar' (registers the payment/write-off of an accounts payable). This distinguishes it from sibling tools like 'incluir_conta_pagar' (create accounts payable) and 'lancar_recebimento' (record receivable).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description does not mention prerequisites, exclusions, or scenarios where another tool (e.g., 'cancelar_pagamento_conta_pagar') would be preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lancar_recebimentoB
Registra o recebimento (baixa) de uma conta a receber.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| juros | No | ||
| multa | No | ||
| valor | Yes | ||
| desconto | No | ||
| observacao | No | ||
| conciliar_documento | No | N | |
| codigo_conta_corrente | Yes | ||
| codigo_lancamento_omie | No | ||
| codigo_lancamento_integracao | No |
TDQS
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 merely states the action without disclosing side effects, irreversibility, permissions, or impact on related records. For a mutation tool, this is insufficient disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler or repetition. It efficiently communicates the core purpose in the fewest possible words, earning full marks for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 10 parameters, no output schema, no annotations, and zero schema descriptions, the description is grossly inadequate. It provides only the basic action and lacks any context about prerequisites, required fields, or expected behavior, making it highly incomplete for effective tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention any of the 10 parameters. It fails to compensate for the lack of schema documentation, leaving parameter meaning entirely to field names without any additional guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Registra' (registers) and the resource 'recebimento de uma conta a receber' (receipt of an accounts receivable). It distinguishes from sibling tools like 'lancar_pagamento' and 'cancelar_recebimento' by specifying the exact financial action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for recording a receivable payment but provides no explicit when-to-use or when-not-to-use guidance. It does not mention alternatives like 'cancelar_recebimento' or contrast with other tools, so the usage context remains implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_bancosA
Lista os bancos e instituições financeiras do OMIE — a tabela de onde vem o
código de banco usado no cadastro de contas correntes.
A base tem mais de 1.200 instituições, então filtre por `nome` em vez de
paginar tudo. O filtro por `nome` já é feito pelo OMIE (busca parcial).
Cada registro traz `codigo` (código de compensação, 3 caracteres), `nome` e
`tipo`. A tabela é mantida pelo OMIE: a API é somente leitura.
| Name | Required | Description | Default |
|---|---|---|---|
| nome | No | ||
| tipo | No | ||
| pagina | No | ||
| registros_por_pagina | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it explicitly states the API is read-only ('somente leitura'), describes the returned fields ('codigo', 'nome', 'tipo'), and discloses that the table is maintained by OMIE. It also reveals that the 'nome' filter is a server-side partial search, adding behavioral insight beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the main purpose. Every sentence adds value: the resource being listed, usage guidance about filtering, the return field structure, and the read-only nature. There is no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and annotations, the description is fairly complete: it explains the tool's purpose, suggests filtering, lists the return fields, and clarifies read-only behavior. The main gap is the lack of explanation for the 'tipo' filter values and pagination parameters, but for a simple list tool this is a minor omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must compensate. It explains the 'nome' filter (partial search) and implies pagination ('em vez de paginar tudo'), but it does not explain the 'tipo' parameter or the exact semantics of 'pagina' and 'registros_por_pagina' beyond what their names and defaults suggest. This is a partial but not complete compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Lista os bancos e instituições financeiras do OMIE' (lists banks and financial institutions), with a specific resource and context. It also distinguishes itself from sibling tools by explaining that this table is the source of bank codes for checking account registration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage guidance: because the base has over 1,200 institutions, users should filter by 'nome' rather than paginating through everything, and notes that OMIE performs a partial match. It does not explicitly name alternative tools (e.g., 'consultar_banco' for single lookups), so it misses the 'when-not-to-use' aspect.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_categoriasB
Lista o plano de categorias financeiras do OMIE (receitas e despesas).
Cada categoria traz o vínculo com a conta do DRE em `codigo_dre`/`dadosDRE`,
o grupo em `categoria_superior` e as flags `totalizadora`, `transferencia`,
`conta_receita`, `conta_despesa` e `conta_inativa`.
Convenção de códigos do OMIE: códigos que começam com 1 são receitas e
com 2 são despesas.
| Name | Required | Description | Default |
|---|---|---|---|
| tipo | No | ||
| pagina | No | ||
| descricao | No | ||
| apenas_ativas | No | ||
| registros_por_pagina | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosure. It discloses response fields (codigo_dre/dadosDRE, categoria_superior, flags) and the OMIE code convention, which is useful. However, it does not disclose pagination behavior, default ordering, or how filtering parameters like 'tipo' or 'apenas_ativas' affect results, leaving gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: it opens with the primary purpose, then details the returned fields, and provides a helpful code convention. There is no redundancy or fluff; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 5 parameters, no output schema, and no annotations. The description explains part of the response structure but omits parameter semantics and pagination/filtering behavior. This is incomplete for an agent to correctly invoke the tool, especially since all parameters are optional and their behavior is undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 5 parameters with 0% description coverage, and the description does not mention any of them. The agent cannot infer what 'tipo', 'descricao', 'apenas_ativas', 'pagina', or 'registros_por_pagina' mean from the description. The code convention might loosely relate to 'tipo', but it is not explicit, making this a critical gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists the financial category plan of OMIE (revenues and expenses), using the specific verb 'Lista' and identifying the resource. It distinguishes from sibling listing tools by focusing on 'categorias' (categories) rather than groups or types, and the additional field details reinforce its specific scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given on when to use this tool versus siblings like listar_grupos_categoria or consultar_categoria. However, the description implies its use for listing categories, and the code convention may aid interpretation. It lacks explicit when/when-not guidance, but the context is clear enough for a basic list operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_contas_correntesB
Lista todas as contas correntes/bancárias cadastradas no OMIE.
| Name | Required | Description | Default |
|---|---|---|---|
| pagina | No | ||
| registros_por_pagina | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states what the tool does but does not mention pagination behavior, returned fields, sorting, or that it is a read-only operation. The parameters suggest pagination, but the description does not clarify any behavioral aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no redundant wording. It front-loads the core purpose and is appropriately sized for a simple listing tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool lacks an output schema and has no annotations. The description does not explain the return format, pagination behavior, or any filters. Given the pagination parameters, the description should at least mention that the result is paginated or describe the response structure. The current description is too sparse for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 0% of parameter descriptions, and the description does not compensate by explaining the parameters 'pagina' and 'registros_por_pagina'. The parameter names are somewhat self-explanatory, but the description provides no additional meaning or usage hints for these fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Lista') and the resource ('contas correntes/bancárias cadastradas no OMIE'), which distinguishes it from related tools like listar_bancos (banks) and listar_tipos_conta_corrente (account types). The scope is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: if you need to list all registered checking accounts, use this tool. However, it does not explicitly mention when not to use it or point to alternatives such as consultar_conta_corrente for a single account. The guidance is minimal and implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_contas_dreA
Lista a estrutura de contas do DRE (Demonstrativo de Resultados do Exercício).
Este endpoint não é paginado: devolve a estrutura inteira em `dreLista`, com
`codigoDRE`, `descricaoDRE`, `nivelDRE` (1 a 3), `sinalDRE` (+ ou -),
`totalizaDRE` e `naoExibirDRE`.
Níveis 1 e 2 são totalizadores da apresentação do relatório; só o nível 3
recebe categorias. Use apenas_vinculaveis=True para obter direto os códigos
válidos em incluir_categoria/alterar_categoria.
A API do OMIE é somente leitura para o DRE: a estrutura é mantida no ERP,
não há métodos de inclusão, alteração ou exclusão de contas do DRE.
| Name | Required | Description | Default |
|---|---|---|---|
| apenas_ativas | No | ||
| apenas_vinculaveis | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses key behaviors: it is not paginated, returns the entire structure in 'dreLista', lists all returned fields with meanings, and explains level semantics. It also notes the read-only limitation, providing comprehensive behavioral context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, each adding necessary information: purpose, response shape, level semantics and filter usage, and read-only note. It is front-loaded with the main purpose and avoids fluff, making it both concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations or output schema, the description covers the essential aspects: it explains what is returned, the meaning of levels, the availability of a filter for other operations, and the read-only constraint. This is sufficient for an agent to select and invoke the tool correctly without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description only explains 'apenas_vinculaveis' (for getting valid codes for other tools), while leaving 'apenas_ativas' unexplained. The schema provides only titles and defaults, so the description adds some value but does not fully compensate for the missing parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Lista a estrutura de contas do DRE', clearly identifying the tool's function. It further distinguishes itself by specifying the non-paginated nature and the detailed fields returned, setting it apart from sibling listing tools like listar_categorias.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: 'Use apenas_vinculaveis=True para obter direto os códigos válidos em incluir_categoria/alterar_categoria', directly telling when to use the filter. It also states the API is read-only for DRE, implying it should not be used for modifications, which is a clear when-not.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_contas_pagarC
Lista contas a pagar com filtros de status, período e fornecedor.
| Name | Required | Description | Default |
|---|---|---|---|
| pagina | No | ||
| ordenar_por | No | DATA_VENCIMENTO | |
| filtrar_cliente | No | ||
| filtrar_por_status | No | ||
| ordem_descrescente | No | N | |
| filtrar_por_data_de | No | ||
| filtrar_por_data_ate | No | ||
| registros_por_pagina | No | ||
| filtrar_conta_corrente | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only says 'lists accounts payable with filters.' It does not mention pagination behavior, default ordering, how filters interact, any access requirements, or the return format, and it references a filter parameter that isn't in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is front-loaded and easy to parse. It earns its place by stating the core action and available filter categories, though it sacrifices detail for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 9 optional parameters, no annotations, and no output schema, this description is too thin. It omits essential context about pagination, sorting, filter value formats, and what the returned data looks like, making it insufficient for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 9 parameters with 0% description coverage, and the tool description provides no parameter details. Worse, it mentions a 'fornecedor' filter that does not correspond to any schema property (the closest is 'filtrar_cliente'), so it actively misleads rather than clarifying parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists accounts payable (contas a pagar) with filters, distinguishing it from sibling tools like listar_contas_receber. However, it mentions a 'fornecedor' (supplier) filter that does not exist in the input schema, which introduces a minor inaccuracy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for listing accounts payable when filtering by status, date, or supplier is needed, but it gives no explicit guidance on when to choose this over alternatives like consultar_conta_pagar or listar_contas_receber. There are no exclusions or alternative tool mentions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_contas_receberB
Lista contas a receber com filtros de status, período e cliente.
| Name | Required | Description | Default |
|---|---|---|---|
| pagina | No | ||
| ordenar_por | No | DATA_VENCIMENTO | |
| filtrar_cliente | No | ||
| filtrar_por_status | No | ||
| ordem_descrescente | No | N | |
| filtrar_por_data_de | No | ||
| filtrar_por_data_ate | No | ||
| registros_por_pagina | No | ||
| filtrar_conta_corrente | No | ||
| filtrar_por_emissao_de | No | ||
| filtrar_por_emissao_ate | No | ||
| filtrar_apenas_titulos_em_aberto | No | N |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the disclosure burden. It does not state that the operation is read-only, nor does it mention pagination, defaults, or any side effects. The single sentence adds no behavioral context beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the core action and object. No wasted words, though it is sparse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 12 parameters, no annotations, and no output schema, this description is severely incomplete. It omits how to handle pagination, date formats, sorting, and filter combinations, making it hard for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description should explain the 12 parameters. It only covers status, period, and client in general terms, leaving pagination, sorting, ordering, bank account, emission dates, and the open-titles flag undocumented. This partial coverage is insufficient for an agent to set parameters correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses 'Lista contas a receber' — a clear verb+resource statement that identifies exactly what the tool does. It adds filter dimensions (status, period, client), distinguishing it from siblings like listar_contas_pagar or listar_titulos_em_aberto.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to choose this tool over related queries such as listar_titulos_em_aberto, pesquisar_lancamentos_financeiros, or consultar_conta_receber. There is no mention of preconditions, exclusions, or recommended contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_fornecedoresA
Lista fornecedores cadastrados no OMIE com paginação e filtros.
| Name | Required | Description | Default |
|---|---|---|---|
| pagina | No | ||
| filtrar_por_cnpj | No | ||
| filtrar_por_nome | No | ||
| apenas_fornecedor | No | S | |
| registros_por_pagina | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the core behavior (listing suppliers) and mentions pagination and filters, which are key behavioral traits. However, with no annotations provided, it does not address potential side effects, return format, or limitations—though the verb 'Lista' implies a safe read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant information. Every word contributes meaning: the verb, resource, context (OMIE), and key capabilities.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has five parameters and no output schema, so the description is responsible for explaining behavior and return expectations. It only states that suppliers are listed with pagination and filters, omitting details such as response structure, pagination defaults, or filter behavior, making it insufficient for an agent to fully predict outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description only paraphrases the parameter categories ('paginação e filtros') without explaining the meaning of the parameters. It does not clarify the purpose of 'apenas_fornecedor' (default 'S') or the filtering semantics, leaving ambiguity that the schema names alone do not resolve.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists suppliers registered in OMIE, using the specific verb 'Lista' and identifying the resource 'fornecedores'. It also mentions pagination and filters, distinguishing it from 'consultar_fornecedor' which likely retrieves a single supplier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing suppliers with pagination and filters but does not explicitly state when to use this tool vs alternatives like 'consultar_fornecedor' or other list tools. There are no exclusions or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_grupos_categoriaA
Lista os grupos totalizadores de categoria — exatamente os valores aceitos
em `categoria_superior` ao criar uma categoria com incluir_categoria.
O OMIE não oferece um filtro para isso, então esta tool varre o plano de
categorias e devolve as entradas com `totalizadora = S` e código de 4
caracteres (formato "9.99").
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool scans the category plan because OMIE lacks a native filter, and it describes the exact inclusion criteria (totalizadora = S, 4-character code in '9.99' format). This goes beyond a simple 'lists categories' statement, though it doesn't mention potential performance or edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, immediately front-loaded with the purpose, and every sentence contributes useful information. No redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless tool with no output schema, the description is complete: it states the purpose, the exact context for use, the source data, and the filtering criteria. An agent can invoke this tool and interpret the result without additional clarification.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description correctly focuses on output semantics rather than parameters, which is appropriate. No param info is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Lista os grupos totalizadores de categoria' (lists the totalizing category groups) and immediately distinguishes it from siblings by noting it returns exactly the accepted values for `categoria_superior` when creating a category. This specific verb + resource + purpose makes it easy for an agent to know what this tool does and how it differs from listar_categorias or listar_tipos_categoria.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use this tool: when you need the valid values for `categoria_superior` when creating a category. It also explains that OMIE doesn't offer a filter, which justifies its existence. However, it doesn't explicitly mention alternatives or when not to use it, so a small gap remains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_lancamentos_bancariosC
Lista lançamentos/transações bancárias em conta corrente.
| Name | Required | Description | Default |
|---|---|---|---|
| pagina | No | ||
| data_inclusao_de | No | ||
| data_inclusao_ate | No | ||
| data_lancamento_de | No | ||
| ordem_descrescente | No | S | |
| data_lancamento_ate | No | ||
| registros_por_pagina | No | ||
| codigo_conta_corrente | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral transparency. It only states the action without disclosing any behavioral traits such as pagination behavior, ordering, date limits, or whether the list is filtered. It also does not mention if this is a read-only operation or if any side effects exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, which is efficient and easy to parse. However, it is under-specified and does not provide enough content to be fully useful. It is not overly verbose, but the brevity sacrifices necessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters, no output schema, and no annotations, the description is far too minimal. It fails to explain the filtering, pagination, ordering, or output format. Given the tool's complexity and the rich sibling context, the description is incomplete and does not allow an agent to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description offers no information about the 8 parameters (e.g., filtering by date, account, pagination). It does not compensate for the schema gap in any way. The parameter names in the schema give some hints, but the description adds no semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Lista' and resource 'lançamentos/transações bancárias em conta corrente', clearly indicating the tool lists bank transactions in a checking account. It distinguishes from siblings like consultar_lancamento_bancario (single transaction) and listar_pix (PIX-specific).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not mention when to use this tool versus alternatives such as pesquisar_lancamentos_financeiros, listar_movimentos_financeiros, or consultar_extrato_bancario. There is no context about scenarios where this specific listing is preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_tipos_categoriaA
Lista os tipos de categoria — os valores aceitos em `tipo_categoria` ao
incluir ou alterar uma categoria.
Cada item traz `cCodigo` (o valor a usar), `cDescricao`, `cGrupo` e `cTipo`,
onde cTipo é P (gasto) ou R (receita). O `cTipo` precisa ser compatível com
a categoria: código/grupo iniciando em 1 exige cTipo R, iniciando em 2 exige
cTipo P.
| Name | Required | Description | Default |
|---|---|---|---|
| pagina | No | ||
| registros_por_pagina | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the response item structure (cCodigo, cDescricao, cGrupo, cTipo) and important compatibility rules between cTipo and the category code prefix, which is beyond a simple list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the main purpose, and uses a clear structure. Every sentence adds value without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description covers the return structure and domain constraints. It lacks explicit pagination behavior but the schema parameters imply it, making it reasonably complete for a list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the parameter names (pagina, registros_por_pagina) and defaults are self-explanatory. The description does not add any extra context for parameters, but they require little clarification.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists category types, specifically the accepted values for `tipo_categoria` when including or altering a category. It's a specific verb+resource and distinguishes from siblings like listar_categorias and listar_grupos_categoria.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it: before including or altering a category, to know accepted values for `tipo_categoria`. It does not explicitly exclude alternatives or name them, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_tipos_conta_correnteA
Lista os tipos de conta corrente do OMIE — os valores aceitos no campo de
tipo ao cadastrar uma conta corrente (ex: CC Conta Corrente, CP Conta
Poupança, CR Cartão de Crédito, CX Caixinha).
Cada item traz `cCodigo` (o valor a usar), `cDescricao` e `cGrupo`, onde o
grupo é a família da conta: CB (bancária), CX (caixa), CV (carteira
virtual), CR (cartão) ou AC (administradora de cartões) — o mesmo domínio do
campo `tipo` em listar_bancos.
A tabela tem 13 registros e cabe numa página; a API do OMIE é somente
leitura para ela.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description explicitly states the API is read-only for this table, discloses that it has 13 records and fits on one page (no pagination), and explains the output fields. This adds meaningful behavioral context beyond the structured schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three well-structured sentences front-load the main purpose, include helpful examples, and add details without redundancy. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list tool with no output schema, the description covers purpose, output fields, group semantics, read-only nature, and scale. It is complete for the agent to invoke and interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters, so there is nothing to describe. The description compensates by explaining the meaning of output fields (cCodigo, cDescricao, cGrupo) and the group code domain, which helps the agent interpret results.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists current account types from OMIE, specifically the accepted values for the type field. It distinguishes from siblings like listar_contas_correntes by focusing on types rather than accounts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains when to use these values (when registering a current account) and references the same domain as listar_bancos, giving clear context. It does not explicitly name alternative tools but the purpose is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_tipos_documentoA
Lista os tipos de documento do OMIE — os códigos usados no tipo de documento
(tag cCodigo/cTipo) ao lançar contas a pagar, contas a receber e lançamentos
bancários. Ex: BOL (Boleto), NF (Nota Fiscal), ADI (Adiantamento).
O endpoint do OMIE devolve a tabela inteira de uma vez (~290 registros) e não
tem filtro por descrição, então o filtro e o limite são aplicados aqui, sobre
uma cópia em memória da tabela. O campo `total_encontrado` informa quantos
casaram antes do corte por `limite`.
A tabela é mantida pelo OMIE: a API é somente leitura, não há inclusão,
alteração nem exclusão de tipos de documento.
| Name | Required | Description | Default |
|---|---|---|---|
| limite | No | ||
| descricao | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It discloses that the endpoint returns ~290 records, has no server-side filter, applies filter/limit in memory, reports total_encontrado before cutoff, and is strictly read-only with no mutation operations. This is thorough and helps the agent predict behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: the first sentence states purpose and examples, the second paragraph explains operational behavior and limits, and the third clarifies read-only status. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with two simple parameters and no output schema, the description covers all essential aspects: what is listed, how filtering/limiting works, the meaning of total_encontrado, and the externally maintained read-only nature. It is complete enough for safe and effective invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description explains the mechanics behind the parameters: 'filtro e o limite são aplicados aqui' and 'corte por limite'. It specifies that `limite` truncates results and `total_encontrado` reflects matches before that cutoff. It does not detail exact matching rules for `descricao`, but it provides meaningful context beyond the bare schema titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Lista os tipos de documento do OMIE' — a specific verb and resource — and immediately explains the practical use case (codes used when posting accounts payable/receivable and bank entries). Concrete examples (BOL, NF, ADI) further disambiguate the tool from sibling listing tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly establishes that this tool lists all document types and that server-side filtering is unavailable, so filter/limit are applied locally. It does not explicitly name alternative tools like consultar_tipo_documento, but the context is sufficient for an agent to distinguish a bulk-list use case from a lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listar_titulos_em_abertoA
Lista os títulos financeiros em aberto (não liquidados) de um tipo.
O OMIE atende um tipo por chamada: use PAGAR ou RECEBER.
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| tipo | Yes | ||
| pagina | No | ||
| nome_cliente | No | ||
| codigo_cliente | No | ||
| registros_por_pagina | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose the one-type-per-call constraint and clarifies 'em aberto' as 'não liquidados'. But it omits other behavioral traits such as pagination, error behavior, or response format, which are relevant for a listing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the purpose, followed by a key constraint. No filler words; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The core purpose and main parameter are clear, but the description gives no guidance on the other five parameters, pagination, or when to choose this over sibling tools. Given the moderate complexity (6 params, no output schema, no annotations), this leaves significant gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only clarifies the 'tipo' parameter (PAGAR or RECEBER), leaving the other five parameters (data, pagina, nome_cliente, codigo_cliente, registros_por_pagina) without any added meaning. This is insufficient for a 6-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Lista') on a clear resource ('títulos financeiros em aberto (não liquidados)') and scopes it by type. The phrase 'de um tipo' plus 'use PAGAR ou RECEBER' differentiates it from sibling tools that likely handle only one specific type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage instruction: OMIE handles one type per call and tells the user to use PAGAR or RECEBER. However, it does not explicitly contrast with alternatives like listar_contas_pagar or listar_contas_receber, so it stops short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
obter_resumo_financeiroA
Obtém o resumo financeiro consolidado numa data de referência, incluindo
totais de contas a pagar, a receber e saldo bancário.
Observação: o OMIE calcula este resumo para um único dia, não para um período.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| apenas_resumo | No | ||
| exibir_categoria | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden, and it does add the important caveat that OMIE calculates for a single day, not a period. However, it omits whether the operation is read-only, any permission requirements, or what the response structure looks like, leaving the agent partially informed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences with the purpose front-loaded. It adds the essential single-day nuance without wasting words or restating the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 3 parameters and no output schema or annotations, yet the description omits parameter behavior and return value structure. While the single-day caveat is valuable, the lack of detail about the summary's composition and the flag parameters makes it incomplete for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no descriptions for data, apenas_resumo, or exibir_categoria, and the description only indirectly references 'data de referência'. The boolean parameters are completely unexplained, so agents cannot determine their impact without external knowledge.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Obtém' (gets) and the resource 'resumo financeiro consolidado' with specific components (contas a pagar, a receber, saldo bancário). It distinguishes itself from sibling tools like listar_contas_pagar or consultar_fluxo_caixa by focusing on a consolidated snapshot for one date.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when a consolidated financial summary is needed, but it does not explicitly contrast with alternatives or state when not to use it. The single-day note hints at a limitation, but there is no comparison to period-based tools or other exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pesquisar_lancamentos_financeirosB
Pesquisa lançamentos financeiros de forma unificada (contas a pagar + a receber). Ideal para visão consolidada das finanças.
| Name | Required | Description | Default |
|---|---|---|---|
| pagina | No | ||
| status | No | ||
| natureza | No | ||
| emissao_de | No | ||
| emissao_ate | No | ||
| vencimento_de | No | ||
| codigo_cliente | No | ||
| vencimento_ate | No | ||
| registros_por_pagina | No | ||
| codigo_conta_corrente | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Sem anotações, a descrição carrega todo o peso da transparência comportamental. Ela menciona apenas o escopo unificado, mas não detalha como a busca funciona (paginação, filtros, formato de retorno, se há ordenação, limites, etc.). Para uma ferramenta de busca com 10 parâmetros, isso é uma lacuna significativa.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A descrição consiste em duas frases curtas e objetivas. A primeira estabelece o propósito, a segunda adiciona contexto de uso. Não há redundância ou informações desnecessárias, e a informação principal está no início.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A ferramenta possui 10 parâmetros, não tem output schema, nem anotações. A descrição de duas frases é insuficiente para cobrir todos os aspectos necessários: comportamento de busca, filtros, paginação, formato de resposta e interação com os parâmetros. A completude contextual é baixa para a complexidade do tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
O schema tem cobertura de 0%, ou seja, nenhum parâmetro tem descrição no schema. A descrição da ferramenta também não explica nenhum parâmetro, nem mesmo os mais relevantes como status, natureza ou períodos. Nomes autoexplicativos não compensam a falta de semântica adicional, especialmente com 10 parâmetros.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A descrição usa verbo específico 'Pesquisa' e recurso 'lançamentos financeiros', delimitando escopo com 'unificada (contas a pagar + a receber)', o que a distingue claramente dos irmãos listar_contas_pagar e listar_contas_receber. O propósito é claro e não há ambiguidade.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
O texto indica o contexto de uso ('Ideal para visão consolidada das finanças'), o que sugere quando escolher esta ferramenta em vez das listagens separadas. Porém, não menciona explicitamente alternativas nem situações de não uso, apenas dá um contexto implícito de consolidação.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
41 tool updates
v0.1.0- First observed
alterar_categoria - First observed
alterar_fornecedor - First observed
alterar_grupo_categoria - First observed
cancelar_pagamento_conta_pagar - First observed
cancelar_recebimento - First observed
consultar_banco - First observed
consultar_categoria - First observed
consultar_conta_corrente - First observed
consultar_conta_pagar - First observed
consultar_conta_receber - First observed
consultar_extrato_bancario - First observed
consultar_fluxo_caixa - First observed
consultar_fornecedor - First observed
consultar_lancamento_bancario - First observed
consultar_tipo_documento - First observed
excluir_conta_pagar - First observed
excluir_conta_receber - First observed
excluir_lancamento_bancario - First observed
incluir_categoria - First observed
incluir_conta_pagar - First observed
incluir_conta_receber - First observed
incluir_fornecedor - First observed
incluir_grupo_categoria - First observed
incluir_lancamento_bancario - First observed
lancar_pagamento - First observed
lancar_recebimento - First observed
listar_bancos - First observed
listar_categorias - First observed
listar_contas_correntes - First observed
listar_contas_dre - First observed
listar_contas_pagar - First observed
listar_contas_receber - First observed
listar_fornecedores - First observed
listar_grupos_categoria - First observed
listar_lancamentos_bancarios - First observed
listar_tipos_categoria - First observed
listar_tipos_conta_corrente - First observed
listar_tipos_documento - First observed
listar_titulos_em_aberto - First observed
obter_resumo_financeiro - First observed
pesquisar_lancamentos_financeiros
TDQS
Scored across 41 tools
Most tools target distinct resources and actions, but there is some overlap between listar_titulos_em_aberto and listar_contas_pagar/receber, and between pesquisar_lancamentos_financeiros and the individual list tools. Detailed descriptions help clarify intended use, so confusion is limited.
All tool names follow a consistent Portuguese verb-infinitive + noun pattern (listar_, consultar_, incluir_, alterar_, excluir_, lancar_, cancelar_) using snake_case. This provides a predictable and clear naming scheme across the entire set.
With 41 tools, this server significantly exceeds the typical well-scoped range of 3-15 tools. While the financial domain is broad, the count feels heavy and may overwhelm agents, especially with many closely related list/consult operations.
The tool surface covers most core financial workflows: suppliers, accounts payable/receivable, bank entries, categories, and DRE. However, there are notable gaps: no update/delete for contas pagar/receber, no ability to create or update bank accounts, and no delete for suppliers. This leaves some lifecycle stages incomplete.
Maintenance
Related MCP Connectors
Financial & accounting management on Omie (Brazil's leading cloud ERP), payables/receivables, financ
- Frihet ERPOAuthio.frihet
AI-native ERP MCP: ES/EU fiscal compliance (VeriFactu/TicketBAI/Facturae), invoicing, tax, banking
Invoicing you drive by talking to your AI: log time, raise invoices and track what's owed via MCP.
Unlock the power of real-time financial data with our Finance MCP. Easily retrieve the latest
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA personal financial management tool that enables AI assistants to record transactions, check balances, and provide monthly financial summaries via the Model Context Protocol. It allows users to manage their expenses and income through natural language interactions using standardized MCP tools and resources.-
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to interact with Conta Azul Financial APIs to manage accounts, balances, and transactions through natural language. It features specialized tools for tracking cash flow, processing payables and receivables, and generating comprehensive financial reports.-
- AlicenseBqualityCmaintenanceExposes OMIE ERP's financial API as MCP tools, enabling AI agents to query bills, process payments, generate boletos/PIX, and read cash flow via natural language.541MIT
- AlicenseNot gradedqualityDmaintenanceRead-only MCP server for Omie ERP, enabling AI assistants to query financial data, accounts payable/receivable, bank reconciliation, invoices, and movements via natural language.12MIT