Skip to main content
Glama

omie_upload_attachment

Anexa um arquivo (comprovante, boleto, NF em PDF/PNG…) a um documento da Omie — IncluirAnexo. É o par de omie_lancar/omie_settle_payable: lançou ou deu baixa, anexa o comprovante sem abrir a tela web.

  • tabela: onde o documento vive (ex.: "conta-pagar", "conta-receber").

  • id: o id do documento NAQUELA tabela (conta a pagar/receber = codigo_lancamento_omie, veja omie_get_payable).

  • arquivo: informe UMA forma — file_url (a plataforma baixa da URL, precisa ser acessível publicamente), upload_id (arquivo já enviado, veja abaixo) ou file_base64 (só arquivo pequeno cujos bytes você REALMENTE tem; NUNCA pra anexo da conversa). file_name é obrigatório em file_url/file_base64 e a Omie NÃO aceita nome com mais de um ponto ("nota.fiscal.pdf").

  • Arquivo ANEXADO na conversa ou no computador do usuário: NÃO tente ler o conteúdo nem montar file_base64 (você recebe o texto extraído, não os bytes do arquivo, e o upload sairia corrompido). Chame esta tool SEM arquivo, passando file_path se souber o caminho do anexo: ela devolve um comando pronto de upload. Execute esse comando no seu sandbox de execução de código (ou peça pro usuário rodar no terminal) e chame de novo com o upload_id E o file_name que ela devolveu. O arquivo é compactado e enviado pela plataforma; você não precisa zipar nada. Depois de anexar, a cópia temporária do arquivo é apagada do nosso lado, ela existe só pra intermediar o upload.

Bulk support: accepts ids, upload_ids for batched execution.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
idsNo
tabelaYes
accountNo
file_urlNo
file_nameNo
file_pathNo
upload_idNo
upload_idsNo
file_base64No
upload_codeNo
codigo_integracaoNo

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Added

TDQS

A4.9/5.0
Behavior5/5

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

Annotations only provide simple flags (readOnlyHint=false, destructiveHint=false), leaving the description to carry the behavioral burden. It does so thoroughly: it discloses that the temporary file copy is deleted after attachment, that the file is compressed and sent by the platform, that file names with more than one dot are rejected, and warns against using file_base64 for conversation attachments. This is far beyond annotations and gives the agent full behavioral expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

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

The description is long but information-dense, organized into paragraphs and dash-lists. It front-loads the core purpose and then details the critical usage caveats. While it is not overly verbose, the density requires careful reading; a more structured breakdown (e.g., bulleted parameter usage) could improve scanning, but it remains efficient for the complexity it addresses.

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

Completeness5/5

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

Given the tool complexity (12 parameters, bulk support, no output schema, and nuanced upload workflow), the description is remarkably complete. It covers the two-step upload for conversation/computer attachments, bulk support, constraints, cleanup behavior, and the relationship to sibling tools. Nothing essential for correct invocation is missing.

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

Parameters5/5

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

With 0% schema description coverage, the description must explain all parameters. It does this comprehensively: 'tabela' is explained with examples, 'id' is tied to the specific document table and references 'codigo_lancamento_omie' for payables, and 'arquivo' is explained with the three submission methods including conditions and restrictions. It also covers 'file_name', 'file_path', 'upload_id', and 'upload_ids'. The description adds immense meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: attaching a file (receipt, boleto, invoice) to an Omie document, and explicitly names the underlying API operation 'IncluirAnexo'. It also distinguishes itself from siblings by positioning it as the pair to 'omie_lancar/omie_settle_payable', so an agent can immediately know when this tool is relevant.

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

Usage Guidelines5/5

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

The description goes beyond a simple 'when to use' by providing detailed guidance: it explains the appropriate context (after launching or settling a payable/receivable), how to handle attachments from conversation or computer (do not read content, call without file, execute upload command, then re-call with upload_id and file_name), and the three ways to supply the file (file_url, upload_id, file_base64) with explicit constraints. This is exemplary usage guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.5/5.0
Disambiguation4/5

The core Omie operations are distinct by resource and action, and the descriptions actively call out edge cases like omie_lancar vs omie_create_payable/receivable and transfer vs manual entries. A few pairs (list_payables/list_receivables/list_financial_movements/list_checking_account_entries) still overlap enough that an agent could pick the wrong one on first attempt.

Naming Consistency4/5

The dominant pattern is clear and consistent: omie_verb_noun with create, get, list, update, delete, settle, cancel, and reconcile. The main deviations are the Portuguese helper omie_lancar and the unprefixed platform-level tools like authenticate, connect, marketplace, and toolkit_info, which break the otherwise regular naming scheme.

Tool Count1/5

With 50 tools, this server is far beyond the 3-15 well-scoped range and sits at the extreme end of the rubric. Most of the tools are individually purposeful, but exposing checkings, payables, receivables, reconciliation, attachments, invoicing, batch upserts, and an entire marketplace platform in one server heavily taxes an agent's tool-selection space.

Completeness4/5

The core financial lifecycle is well covered: create, read, update, delete, settle, cancel, reconcile, unreconcile, transfer, attachment upload, and batch upsert. Minor gaps exist—invoices are list-only, customers have no delete operation, and there is no dedicated get-by-id for checking accounts—but these are workable for the main reconciliation workflows.