# Omie

> Financial & accounting management on Omie (Brazil's leading cloud ERP), payables/receivables, financ

- name: io.github.mcp-dir/omie-mcp
- version: 0.1.0
- connection class: R0 (autonomous)
- trust: 87/100
- quality: 80/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.mcp-dir%2Fomie-mcp
- tools: https://api.protogrid.dev/v1/servers/io.github.mcp-dir%2Fomie-mcp/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "omie-mcp": {
      "type": "http",
      "url": "https://api.mcp.ai/p_omie"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 99
- freshness: 65
- provenance: 80
- drivers: +repository +namespace-matches-repo +reachable +uptime-97% ~updated-132d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 80/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 3 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 59 of 59 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- warn `tools.token_cost`: about 12,290 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 118 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 59, about 12,290 tokens to load them all
- tool set hash: 26c6a56c01410eece2a0e452780d6ed8
- tools last changed: 2026-10-13T23:09:42.428Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.mcp-dir/omie-mcp.svg)](https://protogrid.dev/servers/io.github.mcp-dir/omie-mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-13 `authenticate` added
  - MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <token>` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "<jwt>" } after the user pastes, or with no args to get the link.
- 2026-10-13 `marketplace` added
  - The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/<slug> link that opens without login.
- 2026-10-13 `toolkit_info` added
  - Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.
- 2026-10-13 `connect` added
  - Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.
- 2026-10-13 `report_bug` added
  - Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.
- 2026-10-13 `show_version` added
  - Show the current MCP platform and adapter versions.
- 2026-10-13 `omie_lancar` added
  - Atalho: lança uma conta a PAGAR ou a RECEBER em UMA chamada, resolvendo os códigos por NOME no servidor (fornecedor/cliente, categoria, conta corrente, projeto, departamentos). Substitui o fluxo de 4-5 chamadas (list_customers + list_categories + list_checking_accounts + create). Aceita nome OU código em cada campo; se um nome não bater ou for ambíguo, retorna erro com as opções ANTES de criar (não chuta). Datas aceitam AAAA-MM-DD ou DD/MM/AAAA. • DUPLICIDADE: antes de criar, procura título do mesmo fornecedor com o mesmo vencimento e valor; se achar, NÃO lança e devolve os candidatos (passe `ignorar_duplicidade:true` pra lançar mesmo assim). • RATEIO: `departamentos` (centro de custo) e/ou `categorias` (várias categorias) com percentual OU valor por linha (todas no mesmo modo; percentuais somam 100). `projeto` por nome ou código. • PARCELAMENTO: `parcelamento:{quantidade, periodicidade}` cria N títulos (001/N…N/N) com o vencimento avançando a cada período; `valor` é o de CADA parcela (ou passe `valor_por_parcela:false` pra dividir o total). Cada parcela é uma chamada à Omie (loop interno): a resposta lista as criadas e os erros por parcela. Use isto por padrão pra lançar; as tools omie_create_* continuam pra quem já tem o payload completo.
- 2026-10-13 `omie_cadastrar` added
  - Atalho: cadastra um FORNECEDOR (ou cliente) na Omie a partir do CNPJ, preenchendo razão social, nome fantasia, endereço completo, e-mail e telefone da consulta cadastral pública (Receita Federal) — sem digitar nada. Se o CNPJ já estiver cadastrado, devolve o cadastro existente em vez de duplicar. Campos informados aqui (email, telefone, endereco…) prevalecem sobre a consulta. A situação cadastral vem na resposta (avisa se não estiver ATIVA). Só CNPJ: pra CPF use omie_create_customer com os dados em mãos.
- 2026-10-13 `omie_update_category` added
  - Renomeia, ajusta ou INATIVA uma categoria do plano de contas (AlterarCategoria / AlterarGrupoCategoria — a Omie não tem 'excluir categoria', inativar é o caminho). Identifique por `categoria` (código exato, ex. "2.01.02", ou nome). `inativar:true` desativa; `inativar:false` reativa. Consulta antes pra saber se é grupo ou categoria e escolher o método certo.
- 2026-10-13 `omie_create_category` added
  - Cria uma categoria no plano de contas (IncluirCategoria) ou um GRUPO totalizador (IncluirGrupoCategoria). Pra categoria: informe `descricao` + `grupo` (nome OU código do grupo pai, que precisa ser totalizador, ex.: "2.01" ou "Despesas Administrativas"). Pra grupo novo: `descricao` + `tipo_grupo` (R = receita, D = despesa), sem `grupo`. `tipo_categoria` (veja omie_list_category_types) e `codigo_dre` são opcionais.

Full history: https://api.protogrid.dev/v1/servers/io.github.mcp-dir%2Fomie-mcp/changes

## Remotes

- https://api.mcp.ai/p_omie (streamable-http, auth none, reachable true, uptime30d 0.973913)

## Packages

_none_

## Tools (59)

- `authenticate`: MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <token>` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "<jwt>" } after the user pastes, or with no args to get the link.
- `connect`: Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.
- `marketplace`: The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/<slug> link that opens without login.
- `omie_cadastrar`: Atalho: cadastra um FORNECEDOR (ou cliente) na Omie a partir do CNPJ, preenchendo razão social, nome fantasia, endereço completo, e-mail e telefone da consulta cadastral pública (Receita Federal) — sem digitar nada. Se o CNPJ já estiver cadastrado, devolve o cadastro existente em vez de duplicar. Campos informados aqui (email, telefone, endereco…) prevalecem sobre a consulta. A situação cadastral vem na resposta (avisa se não estiver ATIVA). Só CNPJ: pra CPF use omie_create_customer com os dados em mãos.
- `omie_cancel_payment`: CANCELA a baixa (o pagamento) de uma conta a pagar — CancelarPagamento. O título VOLTA a ficar em aberto; NÃO apaga o título (pra isso é omie_delete_payable). A chave é a BAIXA, não o lançamento: informe codigo_baixa (id Omie da baixa) OU codigo_baixa_integracao (a chave que você usou ao dar baixa). É também o caminho pra corrigir uma baixa errada: cancele e lance de novo com omie_settle_payable.
- `omie_cancel_receipt`: CANCELA a baixa (o recebimento) de uma conta a receber — CancelarRecebimento. O título volta a ficar em aberto; não apaga o título. Chave: codigo_baixa OU codigo_baixa_integracao.
- `omie_create_category`: Cria uma categoria no plano de contas (IncluirCategoria) ou um GRUPO totalizador (IncluirGrupoCategoria). Pra categoria: informe `descricao` + `grupo` (nome OU código do grupo pai, que precisa ser totalizador, ex.: "2.01" ou "Despesas Administrativas"). Pra grupo novo: `descricao` + `tipo_grupo` (R = receita, D = despesa), sem `grupo`. `tipo_categoria` (veja omie_list_category_types) e `codigo_dre` são opcionais.
- `omie_create_checking_account`: Cria uma conta corrente (banco/caixa/cartão) na empresa (IncluirContaCorrente). `data` é um JSON string com os campos da doc oficial — comuns: cCodCCInt (sua chave de integração), tipo_conta_corrente ("CX" caixa, "CC" conta corrente, "CA" cartão, "AD" adiantamento), codigo_banco, descricao, nome_agencia, numero_conta_corrente. Doc: developer.omie.com.br (geral/contacorrente).
- `omie_create_checking_account_entry`: Cria um LANÇAMENTO avulso de conta corrente (IncluirLancCC): tarifa, rendimento, aplicação, resgate, ajuste. NÃO é conta a pagar/receber (pra isso use omie_lancar) e NÃO é transferência (use omie_transfer_between_accounts). `data` é um JSON string com os blocos da doc oficial: `cabecalho` {nCodCC, dDtLanc (DD/MM/AAAA), nValorLanc}, `detalhes` {cCodCateg, cTipo, cNumDoc, nCodCliente, cObs} e opcionalmente `cCodIntLanc`. Veja omie_list_checking_accounts pro nCodCC.
- `omie_create_customer`: Cadastra um cliente ou fornecedor (IncluirCliente). Na Omie cliente e fornecedor são o MESMO cadastro; o que muda é a classificação. `data` é um JSON string com os campos da doc oficial — obrigatórios: codigo_cliente_integracao (sua chave única), razao_social, cnpj_cpf (ou nome + doc pra PF); comuns: nome_fantasia, email, telefone1_numero, endereco, cidade, estado, cep. Pra marcar como fornecedor use tags: [{ "tag": "Fornecedor" }] (ou "Cliente"). Doc: developer.omie.com.br (geral/clientes).
- `omie_create_payable`: Lança (cria) uma conta a pagar (IncluirContaPagar). `data` é um JSON string com os campos do payload da doc oficial — obrigatórios: codigo_lancamento_integracao (sua chave única), codigo_cliente_fornecedor (id do fornecedor, veja omie_list_customers), data_vencimento (DD/MM/AAAA), valor_documento, codigo_categoria, data_previsao (DD/MM/AAAA), id_conta_corrente (veja omie_list_checking_accounts). Doc: developer.omie.com.br (financas/contapagar).
- `omie_create_receivable`: Lança (cria) uma conta a receber (IncluirContaReceber). `data` é um JSON string com os campos do payload da doc oficial — obrigatórios: codigo_lancamento_integracao (sua chave única), codigo_cliente_fornecedor (id do cliente, veja omie_list_customers), data_vencimento (DD/MM/AAAA), valor_documento, codigo_categoria, data_previsao (DD/MM/AAAA), id_conta_corrente (veja omie_list_checking_accounts). Doc: developer.omie.com.br (financas/contareceber).
- `omie_delete_attachment`: Remove um anexo de um documento (ExcluirAnexo). IRREVERSÍVEL. Identifique por id_anexo (veja omie_list_attachments), codigo_integracao ou file_name.

Bulk support: accepts ids for batched execution.
- `omie_delete_checking_account_entry`: APAGA/estorna um LANÇAMENTO de conta corrente (ExcluirLancCC) — movimentos da conta corrente como transferências, aplicações, resgates e tarifas, diferente de conta a pagar/receber (use omie_delete_payable/omie_delete_receivable pra títulos). Informe `nCodLanc` (id Omie do lançamento) OU `cCodIntLanc` (sua chave de integração). Ação IRREVERSÍVEL, confirme com o usuário antes de chamar. Doc: developer.omie.com.br (financas/contacorrentelancamentos).
- `omie_delete_payable`: APAGA (exclui em definitivo) uma conta a pagar (ExcluirContaPagar). Informe `codigo_lancamento_omie` (id Omie) OU `codigo_lancamento_integracao`. Ação IRREVERSÍVEL — confirme com o usuário antes de chamar. Consulte antes com omie_get_payable pra ter certeza do lançamento.
- `omie_delete_receivable`: APAGA (exclui em definitivo) uma conta a receber (ExcluirContaReceber). Informe `codigo_lancamento_omie` (id Omie) OU `codigo_lancamento_integracao`. Ação IRREVERSÍVEL — confirme com o usuário antes de chamar. Consulte antes com omie_get_receivable pra ter certeza do lançamento.
- `omie_get_attachment`: Devolve o LINK DE DOWNLOAD de um anexo (ObterAnexo) — `cLinkDownload`, válido até `dDtExpiracao`. Identifique o anexo por id_anexo (veja omie_list_attachments), codigo_integracao ou file_name.

Bulk support: accepts ids for batched execution.
- `omie_get_category`: Detalha uma categoria do plano de contas pelo código (ConsultarCategoria), ex.: "2.01.02".
- `omie_get_checking_account_balance`: EXTRATO BANCÁRIO e SALDO ATUAL de uma conta corrente (ListarExtrato). Com `incluir_movimentos:true` esta é a tool que LISTA OS LANÇAMENTOS do extrato no período — é por aqui que se casa o extrato do banco com os títulos da Omie. Sem ela, traz o saldo REAL de hoje, ao contrário de omie_list_checking_accounts, que só traz o `saldo_inicial` numa data fixa (ponto de partida contábil). Base da CONCILIAÇÃO Banco × Omie. Identifique a conta por `conta` (nome OU id), ou por `nCodCC` (id Omie) ou `cCodCCInt` (chave de integração). Por padrão traz só os saldos (nSaldoAtual, nSaldoAnterior, nSaldoDisponivel, nSaldoConciliado, nSaldoProvisorio); passe `incluir_movimentos:true` pra vir também a lista de lançamentos do período. `data_inicial`/`data_final` (AAAA-MM-DD ou DD/MM/AAAA) definem o período dos movimentos, default hoje.
- `omie_get_checking_account_entry`: Detalha um lançamento de conta corrente (ConsultaLancCC). Informe nCodLanc (id Omie) OU cCodIntLanc.
- `omie_get_customer`: Detalha um cliente/fornecedor (ConsultarCliente). Informe `codigo_cliente_omie` (id Omie) OU `codigo_cliente_integracao` (sua chave de integração).
- `omie_get_invoice`: Detalhe COMPLETO de UMA nota fiscal (ConsultarNF). O omie_list_invoices devolve só o cabeçalho; este traz os ITENS com NCM, CFOP, valor, base de cálculo, alíquota e valor de cada tributo (ICMS, ICMS-ST, PIS, COFINS, IPI, ISS, FCP, DIFAL), os campos de IBS/CBS da Reforma e os totais.
Identifique a nota por `codigo_nf` (o nCodNF que vem do omie_list_invoices) OU por `numero` + `serie`.
ATENÇÃO: a Omie NÃO identifica a nota pela chave de acesso de 44 dígitos nesta consulta.
Precisa do XML da nota (para auditar, arquivar ou mandar pro contador)? Use omie_get_invoice_xml.
- `omie_get_invoice_xml`: XML da NF-e emitida (ObterNfe, serviço dfedocs). Devolve o documento fiscal em si — o mesmo XML autorizado pela SEFAZ — além da chave de acesso, do PDF do DANFE e do status.
É o caminho para AUDITAR a nota: pegue o XML aqui e mande em auditor_fiscal_auditar_nota.
Identifique a nota por `id_nfe`. Ele vem do omie_get_invoice, no bloco `compl` como `nIdNF` (a Omie escreve o mesmo id com dois nomes: `nIdNF` na resposta, `nIdNfe` no pedido).
ATENÇÃO: só funciona para notas que VOCÊ emitiu. A SEFAZ não devolve ao emitente o XML da própria nota, então o ERP que emitiu é a única origem possível.
- `omie_get_payable`: Detalha uma conta a pagar (ConsultarContaPagar). Informe `codigo_lancamento_omie` (id Omie) OU `codigo_lancamento_integracao`. Use antes de editar (omie_update_payable).
- `omie_get_receivable`: Detalha uma conta a receber (ConsultarContaReceber). Informe `codigo_lancamento_omie` (id Omie) OU `codigo_lancamento_integracao`. Use antes de editar (omie_update_receivable).
- `omie_lancar`: Atalho: lança uma conta a PAGAR ou a RECEBER em UMA chamada, resolvendo os códigos por NOME no servidor (fornecedor/cliente, categoria, conta corrente, projeto, departamentos). Substitui o fluxo de 4-5 chamadas (list_customers + list_categories + list_checking_accounts + create). Aceita nome OU código em cada campo; se um nome não bater ou for ambíguo, retorna erro com as opções ANTES de criar (não chuta). Datas aceitam AAAA-MM-DD ou DD/MM/AAAA.
• DUPLICIDADE: antes de criar, procura título do mesmo fornecedor com o mesmo vencimento e valor; se achar, NÃO lança e devolve os candidatos (passe `ignorar_duplicidade:true` pra lançar mesmo assim).
• RATEIO: `departamentos` (centro de custo) e/ou `categorias` (várias categorias) com percentual OU valor por linha (todas no mesmo modo; percentuais somam 100). `projeto` por nome ou código.
• PARCELAMENTO: `parcelamento:{quantidade, periodicidade}` cria N títulos (001/N…N/N) com o vencimento avançando a cada período; `valor` é o de CADA parcela (ou passe `valor_por_parcela:false` pra dividir o total). Cada parcela é uma chamada à Omie (loop interno): a resposta lista as criadas e os erros por parcela.
Use isto por padrão pra lançar; as tools omie_create_* continuam pra quem já tem o payload completo.
- `omie_list_accounts`: Lista as empresas (CNPJ) Omie conectadas a este install — id, label.
- `omie_list_attachments`: Lista os anexos de um documento (ListarAnexo). Paginado. Devolve `listaAnexos` com o nIdAnexo de cada anexo — use em omie_get_attachment (baixar) ou omie_delete_attachment.

Bulk support: accepts ids for batched execution.
- `omie_list_categories`: Lista as categorias / plano de contas da empresa (ListarCategorias). Paginado. Cada categoria tem um `codigo_categoria` — é o campo exigido ao lançar uma conta a pagar/receber (omie_create_payable/receivable).
- `omie_list_category_types`: Lista os TIPOS de categoria da Omie (ListarTipoCategoria) — o `tipo_categoria` (cCodigo) exigido ao criar ou alterar uma categoria. Cada tipo diz se é de gasto (P) ou receita (R).
- `omie_list_checking_account_entries`: Lista lançamentos de conta corrente (ListarLancCC). Paginado. `filters` (JSON) aceita cOrigem, dDtIncDe/dDtIncAte, dDtAltDe/dDtAltAte, dtPagInicial/dtPagFinal (DD/MM/AAAA). Transferências aparecem com origem TRAP (saída) e TRAR (entrada).
- `omie_list_checking_accounts`: Lista as contas correntes (bancos/caixa) cadastradas na empresa (ListarContasCorrentes). Útil pra mapear cada conta Omie ↔ a conta bancária do Banco MCP na conciliação.
- `omie_list_customers`: Lista clientes/fornecedores/transportadoras (ListarClientes). Paginado. `filters` (JSON) aceita os filtros do clientes_list_request da Omie.
- `omie_list_departments`: Lista os departamentos / centros de custo da empresa (ListarDepartamentos). Paginado. Cada um tem um `codigo` usado pra ratear um lançamento por departamento.
- `omie_list_document_types`: Lista os tipos de documento (dinheiro, boleto, cartão, transferência etc.) — PesquisarTipoDocumento. Não é paginado. Cada tipo tem um `codigo` (ex.: TRA = Transferência, BOL = Boleto) usado em baixas e lançamentos de conta corrente. Passe `codigo` pra filtrar um específico.
- `omie_list_financial_movements`: Lista movimentos financeiros — lançamentos/baixas de contas a pagar, a receber e conta corrente (ListarMovimentos). É a base da CONCILIAÇÃO (pareia com o Banco MCP). Paginado. `filters` (JSON) usa nomes Hungarian da Omie: dDtPagtoDe/dDtPagtoAte, dDtVencDe/dDtVencAte, cTpLancamento ("CP","CR","BX"), cStatus, nCodCC (conta corrente), nCodCliente etc. Cada baixa traz `detalhes.dDtConcilia` (data da conciliação; vazia = pendente). `apenas_nao_conciliados:true` lista só as BAIXAS ainda não conciliadas.
- `omie_list_invoices`: Lista notas fiscais (NF-e) emitidas (ListarNF). Paginado. `filters` (JSON) aceita dEmiInicial/dEmiFinal (DD/MM/AAAA), filtrar_por_status (N=vigente, C=cancelada), tpNF (0=entrada,1=saída) etc.
- `omie_list_payables`: Lista contas a pagar (ListarContasPagar). Paginado. Use `status` (aberto/pago/cancelado/todos) pra situação — é mais confiável que o filtro cru da Omie, que devolve CANCELADO junto com PAGO/LIQUIDADO. Use `filters` (JSON) pro resto: filtrar_por_data_de/ate (DD/MM/AAAA), cliente, conta corrente etc.
- `omie_list_projects`: Lista os projetos da empresa (ListarProjetos). Paginado. Cada projeto tem um `codigo` que pode ser vinculado a um lançamento financeiro.
- `omie_list_receivables`: Lista contas a receber (ListarContasReceber). Paginado. Use `status` (aberto/pago/cancelado/todos) pra situação — o filtro cru da Omie mistura CANCELADO com PAGO/LIQUIDADO. `filters` (JSON) aceita o resto: filtrar_por_data_de/ate, filtrar_por_emissao_de/ate, filtrar_cliente etc.
- `omie_reconcile_receipt`: Marca a baixa de um recebimento como CONCILIADA (ConciliarRecebimento). Use ao casar o extrato do banco com o título na Omie. Chave: codigo_baixa OU codigo_baixa_integracao.
- `omie_settle_payable`: Dá baixa (liquida/paga) uma conta a pagar (LancarPagamento). `data` é um JSON string com a chave do lançamento (codigo_lancamento, o id Omie — igual ao codigo_lancamento_omie do get — OU codigo_lancamento_integracao) + os dados da baixa: codigo_baixa_integracao (sua chave única da baixa, texto livre), valor, data (DD/MM/AAAA), codigo_conta_corrente (veja omie_list_checking_accounts) e opcional observacao. É o par pra conciliar com o Banco MCP.
🔑 Passe `conciliar_documento: "S"` pra já marcar a baixa como CONCILIADA — é a ÚNICA forma de conciliar um pagamento pela API (não existe ConciliarPagamento; a conciliação só acontece no momento da baixa). Pra conciliar um pagamento JÁ baixado: omie_cancel_payment e lance de novo com este campo.
- `omie_settle_payables_batch`: Dá baixa em VÁRIAS contas a pagar numa chamada (LancarPagamento por título, loop interno). É o caminho pra conciliar um mês inteiro contra o extrato do banco sem uma chamada por título. Cada item de `baixas` identifica o título (codigo_lancamento = id Omie, igual ao codigo_lancamento_omie do get/list; OU codigo_lancamento_integracao) + valor; `data` e `conta_corrente` (nome ou id) podem vir no item ou como default do lote. `conciliar:true` marca cada baixa como CONCILIADA (é a única forma de conciliar pela API; use quando a baixa vem do extrato do banco). Erro em um título NÃO derruba os demais: a resposta traz `baixas` (ok, com codigo_baixa) e `erros` (por título, com a mensagem da Omie). Máx. 50 por chamada.
- `omie_settle_receivable`: Dá baixa (liquida/recebe) uma conta a receber (LancarRecebimento). Aceita `conciliar_documento: "S"` pra já marcar a baixa como conciliada (aqui também existe omie_reconcile_receipt, que concilia depois). `data` é um JSON string com a chave do lançamento (codigo_lancamento, o id Omie — igual ao codigo_lancamento_omie do get — OU codigo_lancamento_integracao) + os dados da baixa: codigo_baixa_integracao (sua chave única da baixa, texto livre), valor, data (DD/MM/AAAA), codigo_conta_corrente (veja omie_list_checking_accounts) e opcional observacao. É o par pra conciliar com o Banco MCP.
🔑 Passe `conciliar_documento: "S"` pra já marcar a baixa como CONCILIADA — é a ÚNICA forma de conciliar um pagamento pela API (não existe ConciliarPagamento; a conciliação só acontece no momento da baixa). Pra conciliar um pagamento JÁ baixado: omie_cancel_payment e lance de novo com este campo.
- `omie_settle_receivables_batch`: Dá baixa em VÁRIAS contas a receber numa chamada (LancarRecebimento por título, loop interno). É o caminho pra conciliar um mês inteiro contra o extrato do banco sem uma chamada por título. Cada item de `baixas` identifica o título (codigo_lancamento = id Omie, igual ao codigo_lancamento_omie do get/list; OU codigo_lancamento_integracao) + valor; `data` e `conta_corrente` (nome ou id) podem vir no item ou como default do lote. `conciliar:true` marca cada baixa como CONCILIADA (é a única forma de conciliar pela API; use quando a baixa vem do extrato do banco). Erro em um título NÃO derruba os demais: a resposta traz `baixas` (ok, com codigo_baixa) e `erros` (por título, com a mensagem da Omie). Máx. 50 por chamada.
- `omie_transfer_between_accounts`: TRANSFERE dinheiro entre DUAS contas correntes da própria empresa (IncluirLancCC com bloco `transferencia`). É a operação certa pra isso: a Omie gera os DOIS lados (saída na origem, entrada no destino, origens TRAP/TRAR) e eles ficam amarrados — não faça uma saída + uma entrada separadas pra simular transferência, isso suja a conciliação.
Aceita NOME ou id nas contas (resolve no servidor, igual omie_lancar). Datas em AAAA-MM-DD ou DD/MM/AAAA.
- `omie_unreconcile_receipt`: Desfaz a conciliação de uma baixa de recebimento (DesconciliarRecebimento). Chave: codigo_baixa OU codigo_baixa_integracao.
- `omie_update_category`: Renomeia, ajusta ou INATIVA uma categoria do plano de contas (AlterarCategoria / AlterarGrupoCategoria — a Omie não tem 'excluir categoria', inativar é o caminho). Identifique por `categoria` (código exato, ex. "2.01.02", ou nome). `inativar:true` desativa; `inativar:false` reativa. Consulta antes pra saber se é grupo ou categoria e escolher o método certo.
- `omie_update_checking_account`: Edita uma conta corrente existente (AlterarContaCorrente). `data` é um JSON string que DEVE conter a chave da conta (nCodCC id Omie OU cCodCCInt chave de integração) + os campos a alterar. Consulte antes com omie_list_checking_accounts.
- `omie_update_checking_account_entry`: Edita um lançamento de conta corrente (AlterarLancCC). `data` é um JSON string que DEVE conter a chave (nCodLanc OU cCodIntLanc) + os blocos a alterar (cabecalho/detalhes). Consulte antes com omie_get_checking_account_entry.
- `omie_update_customer`: Edita um cliente/fornecedor existente (AlterarCliente). `data` é um JSON string que DEVE conter a chave do cadastro (codigo_cliente_omie id Omie OU codigo_cliente_integracao) + os campos a alterar (ex.: razao_social, email, telefone1_numero, endereco). Consulte antes com omie_get_customer.
- `omie_update_payable`: Edita uma conta a pagar existente (AlterarContaPagar). `data` é um JSON string que DEVE conter a chave do lançamento (codigo_lancamento_omie OU codigo_lancamento_integracao) + os campos a alterar (ex.: data_vencimento, valor_documento, codigo_categoria, observacao). Consulte antes com omie_get_payable.
- `omie_update_receivable`: Edita uma conta a receber existente (AlterarContaReceber). `data` é um JSON string que DEVE conter a chave do lançamento (codigo_lancamento_omie OU codigo_lancamento_integracao) + os campos a alterar (ex.: data_vencimento, valor_documento, codigo_categoria, observacao). Consulte antes com omie_get_receivable.
- `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.
- `omie_upsert_payables_batch`: Cria OU atualiza VÁRIAS contas a pagar numa chamada (UpsertContaPagarPorLote). É o caminho pra mexer em massa (trocar categoria, conta corrente etc.) sem uma chamada por título.
⚠️ É UPSERT, não patch: o registro é gravado com o que você mandar, então inclua os campos que quer PRESERVAR, não só os que quer mudar — leia antes com omie_list_payables/omie_get_payable. A chave de cada item é `codigo_lancamento_integracao` (ou `codigo_lancamento_omie`).
✅ Funciona em título JÁ BAIXADO/PAGO: dá pra corrigir categoria, cliente/fornecedor etc. em massa SEM cancelar a baixa (a baixa é preservada e o status continua PAGO).
`data` é um JSON string: `{"lote": 1, "conta_pagar_cadastro": [ {…}, {…} ]}`.
- `omie_upsert_receivables_batch`: Cria OU atualiza VÁRIAS contas a receber numa chamada (UpsertContaReceberPorLote). Mesmas regras do omie_upsert_payables_batch: é UPSERT (mande os campos a preservar) e a chave de cada item é `codigo_lancamento_integracao`. `data`: `{"lote": 1, "conta_receber_cadastro": [ {…} ]}`.
- `report_bug`: Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.
- `show_version`: Show the current MCP platform and adapter versions.
- `toolkit_info`: Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.
