Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Conta Azul MCP

REMOTE · API.MCP.AI · SCANNED SEP 28

Conta Azul ERP MCP — sales, customers, finance and NF-e via OAuth 2.0. Read + write, 35 tools.

Available components

−1 this week 69 Trust /100

Recent critical change

Authorization (4 Sept 2026). See the changelog before you install this server.

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security46
  • The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
  • Authorisation not fully verified: this server exposes a tool marked destructive (contaazul_person_delete) and its handshake is open, but we could not confirm whether a tool call is gated, so we do not assert it is callable unauthenticated. View diagnostics → Unverified
  • HTTPS enforcement could not be verified: the plaintext port answered with HTTP 406, which proves neither a plaintext path nor enforcement. View diagnostics → Unverified
  • HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
  • DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
Schema Quality & AI Usability69
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 6599 tokens (~115/item across 57 items; 57 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management93
  • Stability observed for 28 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage67
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 0% of tool parameters carry a description.Fail
Tool Safety97
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 7 of 8 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "contaazul_get_charge" implies "charge" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
  • An AI judge read all 58 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the Conta Azul MCP server?

Conta Azul MCP is a hosted endpoint at https://api.mcp.ai/contaazul, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · api.mcp.ai

# add to Claude Code
claude mcp add --transport http douglac-contaazul-mcp 'https://api.mcp.ai/contaazul'
// .cursor/mcp.json
{
  "mcpServers": {
    "douglac-contaazul-mcp": {
      "url": "https://api.mcp.ai/contaazul"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "douglac-contaazul-mcp": {
      "type": "http",
      "url": "https://api.mcp.ai/contaazul"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.douglac-contaazul-mcp]
url = "https://api.mcp.ai/contaazul"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "douglac-contaazul-mcp": {
      "type": "remote",
      "url": "https://api.mcp.ai/contaazul",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add douglac-contaazul-mcp --url 'https://api.mcp.ai/contaazul' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  douglac-contaazul-mcp:
    url: "https://api.mcp.ai/contaazul"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "douglac-contaazul-mcp": {
      "Transport": "http",
      "Url": "https://api.mcp.ai/contaazul"
    }
  }
}
# add to Vellum
assistant mcp add douglac-contaazul-mcp -t streamable-http -u 'https://api.mcp.ai/contaazul'
// mcp.json
{
  "mcpServers": {
    "douglac-contaazul-mcp": {
      "type": "http",
      "url": "https://api.mcp.ai/contaazul"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 27 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

  • 26 Sept 26 −2
    • Stability: pass → 0.87 functional
  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 21 Sept 26 0
    • Stability: 0.97 → pass security
  • 20 Sept 26 0
    • Stability: pass → 0.97 functional
  • 14 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Server version: 0.9.346 → 0.9.351 functional
  • 10 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Server version: 0.9.345 → 0.9.346 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 28 Sept 2026 · Probed https://api.mcp.ai/contaazul

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=mcp.ai CN=WE1,O=Google Trust Services,C=US 31 Jul 2026 29 Oct 2026 ECDSA 256 ECDSA-SHA256 796a3b1f576e3f2e133c5d19d8f7be3b
SANs: mcp.ai, *.mcp.ai
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of api.mcp.ai. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
ai. present 3799 8 Verified
mcp.ai. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.mcp.ai/contaazul Verified 200
http (plaintext) http://api.mcp.ai/contaazul Inconclusive 406
MCP tools · 57 exposed · ~6,469 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
authenticate ~99

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.

NameTypeReqDescription
tokenstring––

No output schema declared.

No examples provided.

connect ~42

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

contaazul_cancel_charge ~103

CANCELA uma cobrança já emitida (boleto/pix/link deixa de ser pagável). Use quando a cobrança foi gerada errada e ainda não foi paga. Passe o `id` da cobrança (de contaazul_generate_charge ou contaazul_get_charge), NÃO o id da parcela. Bulk support: accepts ids for batched execution.

NameTypeReqDescription
accountstring––
idstringyes–
idsarray––

No output schema declared.

No examples provided.

contaazul_contract_next_number ~28

Retorna o próximo número de contrato disponível.

NameTypeReqDescription
accountstring––

No output schema declared.

No examples provided.

contaazul_contract_write ~39

Cria um contrato. `data` é o payload em JSON.

NameTypeReqDescription
accountstring––
datastringyes–

No output schema declared.

No examples provided.

contaazul_create_budget ~104

Cria um orçamento. `data` é o JSON com id_cliente (obrigatório, UUID de uma pessoa com perfil Cliente), data_orcamento (obrigatório, YYYY-MM-DD), itens[] (cada item exige id do produto/serviço + tipo/quantidade/valor), data_validade, id_vendedor e composicao_de_valor (frete, desconto).

NameTypeReqDescription
accountstring––
datastringyes–

No output schema declared.

No examples provided.

contaazul_delete_budgets ~71

Exclui orçamentos em lote por id. Operação destrutiva, confirme antes. `ids` é a lista de UUIDs de orçamento (a API v2 não tem exclusão por id única).

NameTypeReqDescription
accountstring––
idsarrayyes–

No output schema declared.

No examples provided.

contaazul_delete_contract ~57

Remove um contrato por id. Operação destrutiva, confirme antes. Bulk support: accepts ids for batched execution.

NameTypeReqDescription
accountstring––
idstringyes–
idsarray––

No output schema declared.

No examples provided.

contaazul_delete_settlement ~71

Estorna (remove) uma baixa por id. Operação destrutiva, confirme antes. `id` é o UUID da baixa. Bulk support: accepts ids for batched execution.

NameTypeReqDescription
accountstring––
idstringyes–
idsarray––

No output schema declared.

No examples provided.

contaazul_generate_charge ~464

Gera cobrança (boleto, pix ou link de pagamento) para uma ou mais PARCELAS de contas a receber. Aceita até 50 parcelas por chamada; cada uma é emitida separadamente e uma falha não aborta o lote. `tipo` (obrigatório) aceita EXATAMENTE: BOLETO, PIX_COBRANCA ou LINK_PAGAMENTO (cartão de crédito sai por LINK_PAGAMENTO); formas comuns como boleto/pix/cartão são normalizadas. `ids_parcelas` são UUIDs de PARCELA — pegue em contaazul_list_receivables (campo `id` de cada item) ou contaazul_get_installment, NÃO o id do evento financeiro. `conta_bancaria`, `descricao_fatura` e `data_vencimento` são exigidos pela API mas resolvidos automaticamente quando omitidos: a conta de cobranças ativa da empresa (passe `conta_bancaria` se houver mais de uma, via contaazul_list_financial_accounts com tipos=COBRANCAS_CONTA_AZUL) e a descrição/vencimento da própria parcela. Parcela que já tem cobrança ativa é PULADA (sai em `ignoradas`) — use forcar=true para emitir mesmo assim. `maximo_parcelas` só vale para LINK_PAGAMENTO. Retorna {solicitadas, emitidas:[{id_parcela,id,url,status}], ignoradas, erros} — `url` é o link da cobrança. Para consultar depois use contaazul_get_charge e para cancelar contaazul_cancel_charge. A API NÃO envia o e-mail de notificação da cobrança: isso só na tela do Conta Azul.

NameTypeReqDescription
accountstring––
conta_bancariastring––
datastring––
data_vencimentostring––
desconto_antecipadoobject––
descricao_faturastring––
forcarboolean––
id_parcelastring––
ids_parcelasarray––
maximo_parcelasnumber––
tipostringyes–

No output schema declared.

No examples provided.

contaazul_get_account_balance ~74

Saldo atual de uma conta financeira por id (banco/caixa/cartão). Pegue o id em contaazul_list_financial_accounts. Bulk support: accepts ids for batched execution.

NameTypeReqDescription
accountstring––
idstringyes–
idsarray––

No output schema declared.

No examples provided.

contaazul_get_budget ~60

Detalhe de um orçamento por id (itens, cliente, composição de valor). Bulk support: accepts ids for batched execution.

NameTypeReqDescription
accountstring––
idstringyes–
idsarray––

No output schema declared.

No examples provided.

contaazul_get_charge ~110

Detalhe de uma cobrança emitida por id (o `id` devolvido em contaazul_generate_charge). Retorna {id, url, status} — status vai de AGUARDANDO_CONFIRMACAO/REGISTRADO até PAGO, CANCELADO, EXPIRADO ou FALHA_EMISSAO. Bulk support: accepts ids for batched execution.

NameTypeReqDescription
accountstring––
idstringyes–
idsarray––

No output schema declared.

No examples provided.

contaazul_get_company ~35

Dados da empresa Conta Azul ativa (CNPJ, razão social, regime tributário).

NameTypeReqDescription
accountstring––

No output schema declared.

No examples provided.

contaazul_get_contract ~63

Detalhe de um contrato por id (cliente, termos, condição de pagamento, composição de valor). Bulk support: accepts ids for batched execution.

NameTypeReqDescription
accountstring––
idstringyes–
idsarray––

No output schema declared.

No examples provided.

contaazul_get_initial_balance ~77

Saldos iniciais das contas financeiras por período. data_inicio e data_fim (YYYY-MM-DD ou ISO date-time; datas simples são normalizadas). Se omitidas, usa uma janela ampla.

NameTypeReqDescription
accountstring––
data_fimstring––
data_iniciostring––

No output schema declared.

No examples provided.

contaazul_get_installment ~52

Detalhe de uma parcela por id. Bulk support: accepts ids for batched execution.

NameTypeReqDescription
accountstring––
idstringyes–
idsarray––

No output schema declared.

No examples provided.

contaazul_get_invoice_nfe ~54

Detalhe de uma NF-e por id. Bulk support: accepts ids for batched execution.

NameTypeReqDescription
accountstring––
idstringyes–
idsarray––

No output schema declared.

No examples provided.

contaazul_get_person ~51

Detalhe de uma pessoa por id. Bulk support: accepts ids for batched execution.

NameTypeReqDescription
accountstring––
idstringyes–
idsarray––

No output schema declared.

No examples provided.

contaazul_get_sale ~51

Detalhe de uma venda por id. Bulk support: accepts ids for batched execution.

NameTypeReqDescription
accountstring––
idstringyes–
idsarray––

No output schema declared.

No examples provided.

contaazul_get_settlement ~61

Detalhe de uma baixa por id. `id` é o UUID da baixa. Bulk support: accepts ids for batched execution.

NameTypeReqDescription
accountstring––
idstringyes–
idsarray––

No output schema declared.

No examples provided.

contaazul_list_accounts ~34

Lista as empresas Conta Azul vinculadas a este install (company_id, label).

NameTypeReqDescription
accountstring––

No output schema declared.

No examples provided.

contaazul_list_budgets ~55

Lista orçamentos (cliente, número, total, situação, versão). Paginado.

NameTypeReqDescription
accountstring––
paginanumber––
tamanho_paginanumber––

No output schema declared.

No examples provided.

contaazul_list_categories ~48

Lista categorias financeiras (DRE).

NameTypeReqDescription
accountstring––
paginanumber––
tamanho_paginanumber––
tipostring––

No output schema declared.

No examples provided.

contaazul_list_changed_events ~107

Lista os IDs de eventos financeiros alterados num período (para sync incremental / conciliação). data_inicio e data_fim (YYYY-MM-DD ou ISO date-time). Paginado. Retorna só os IDs; use contaazul_get_installment para o detalhe.

NameTypeReqDescription
accountstring––
data_fimstring––
data_iniciostring––
paginanumber––
tamanho_paginanumber––

No output schema declared.

No examples provided.

contaazul_list_contracts ~160

Lista contratos no intervalo de data de início (data_inicio/data_fim, YYYY-MM-DD — obrigatórios na API; se omitidos, usa janela ampla = listar todos). Filtros: pagina, tamanho_pagina (máx 50), cliente_id, busca_textual. A API v2 não tem GET contrato por id nem cancelar/excluir. Bulk support: accepts cliente_ids for batched execution.

NameTypeReqDescription
accountstring––
busca_textualstring––
cliente_idstring––
cliente_idsarray––
data_fimstring––
data_iniciostring––
paginanumber––
tamanho_paginanumber––

No output schema declared.

No examples provided.

contaazul_list_cost_centers ~41

Lista centros de custo.

NameTypeReqDescription
accountstring––
paginanumber––
tamanho_paginanumber––

No output schema declared.

No examples provided.

contaazul_list_financial_accounts ~164

Lista contas financeiras (banco, caixa, cartão). Filtre por `tipos`: APLICACAO, CAIXINHA, CONTA_CORRENTE, CARTAO_CREDITO, INVESTIMENTO, OUTROS, MEIOS_RECEBIMENTO, POUPANCA, COBRANCAS_CONTA_AZUL, RECEBA_FACIL_CARTAO. Para achar a conta que recebe cobranças (contaazul_generate_charge) use tipos=["COBRANCAS_CONTA_AZUL"].

NameTypeReqDescription
accountstring––
apenas_ativoboolean––
nomestring––
paginanumber––
tamanho_paginanumber––
tiposarray––

No output schema declared.

No examples provided.

contaazul_list_installments ~82

Lista as parcelas de UM evento financeiro (passe `id_evento`). A API v2 não tem listagem chapada de todas as parcelas — pra varrer contas a receber/pagar use contaazul_list_receivables / contaazul_list_payables.

NameTypeReqDescription
accountstring––
id_eventostringyes–

No output schema declared.

No examples provided.

contaazul_list_invoices_nfe ~97

Lista notas fiscais emitidas (NF-e). Filtros: tamanho_pagina, pagina, data_emissao_inicio, data_emissao_fim, status.

NameTypeReqDescription
accountstring––
data_emissao_fimstring––
data_emissao_iniciostring––
paginanumber––
statusstring––
tamanho_paginanumber––

No output schema declared.

No examples provided.

contaazul_list_invoices_nfse ~250

Lista NFS-e (notas fiscais de serviço) por filtro. Exige data_competencia_de e data_competencia_ate (YYYY-MM-DD), com janela máxima de 15 dias (se omitidas, usa os últimos 15 dias). Outros filtros: id_cliente, numero_venda, status (PENDENTE, PRONTA_ENVIO, EMITIDA, CANCELADA…), tipo_negociacao (VENDA, CONTRATO), numero_nfse_inicial, numero_nfse_final, numero_rps_inicial, numero_rps_final.

NameTypeReqDescription
accountstring––
data_competencia_atestring––
data_competencia_destring––
id_clientestring––
numero_nfse_finalnumber––
numero_nfse_inicialnumber––
numero_rps_finalnumber––
numero_rps_inicialnumber––
numero_vendastring––
paginanumber––
statusstring––
tamanho_paginanumber––
tipo_negociacaostring––

No output schema declared.

No examples provided.

contaazul_list_payables ~141

Lista contas a pagar (parcelas de despesa). Filtros: tamanho_pagina, pagina, data_vencimento_de, data_vencimento_ate (YYYY-MM-DD; se omitidas, lista todas), status (PERDIDO, RECEBIDO, EM_ABERTO, RENEGOCIADO, RECEBIDO_PARCIAL, ATRASADO).

NameTypeReqDescription
accountstring––
data_vencimento_atestring––
data_vencimento_destring––
paginanumber––
statusstring––
tamanho_paginanumber––

No output schema declared.

No examples provided.

contaazul_list_people ~96

Lista pessoas (clientes, fornecedores, vendedores, transportadores) cadastradas. Filtros via params: tamanho_pagina, pagina, busca (nome/documento), tipo_perfil, ativo.

NameTypeReqDescription
accountstring––
ativoboolean––
buscastring––
paginanumber––
tamanho_paginanumber––
tipo_perfilstring––

No output schema declared.

No examples provided.

contaazul_list_products ~67

Lista produtos cadastrados. Filtros: tamanho_pagina, pagina, busca, ativo.

NameTypeReqDescription
accountstring––
ativoboolean––
buscastring––
paginanumber––
tamanho_paginanumber––

No output schema declared.

No examples provided.

contaazul_list_receivables ~158

Lista contas a receber (parcelas de receita). Filtros: tamanho_pagina, pagina, data_vencimento_de, data_vencimento_ate (YYYY-MM-DD; se omitidas, lista todas), status (PERDIDO, RECEBIDO, EM_ABERTO, RENEGOCIADO, RECEBIDO_PARCIAL, ATRASADO), ids_clientes (UUID do cliente).

NameTypeReqDescription
accountstring––
data_vencimento_atestring––
data_vencimento_destring––
ids_clientesstring––
paginanumber––
statusstring––
tamanho_paginanumber––

No output schema declared.

No examples provided.

contaazul_list_sales ~118

Lista vendas. Filtros: tamanho_pagina, pagina, data_inicio, data_fim (YYYY-MM-DD), cliente_id, status_venda. Bulk support: accepts cliente_ids for batched execution.

NameTypeReqDescription
accountstring––
cliente_idstring––
cliente_idsarray––
data_fimstring––
data_iniciostring––
paginanumber––
status_vendastring––
tamanho_paginanumber––

No output schema declared.

No examples provided.

contaazul_list_services ~46

Lista serviços cadastrados.

NameTypeReqDescription
accountstring––
buscastring––
paginanumber––
tamanho_paginanumber––

No output schema declared.

No examples provided.

contaazul_list_settlements ~61

Lista as baixas de uma parcela. `id` é o UUID da parcela. Bulk support: accepts ids for batched execution.

NameTypeReqDescription
accountstring––
idstringyes–
idsarray––

No output schema declared.

No examples provided.

contaazul_list_transfers ~99

Lista transferências entre contas financeiras por período (conciliação). data_inicio e data_fim (YYYY-MM-DD) com janela máxima de 1 ano (se omitidas, usa os últimos 365 dias). Paginado.

NameTypeReqDescription
accountstring––
data_fimstring––
data_iniciostring––
paginanumber––
tamanho_paginanumber––

No output schema declared.

No examples provided.

contaazul_payable_create ~222

Cria um evento financeiro de conta a pagar. `data` é o JSON do EventoFinanceiroRequest (mesma estrutura do contaazul_receivable_create: data_competencia, valor, observacao, descricao, contato (UUID do fornecedor), conta_financeira (UUID), condicao_pagamento.parcelas[] (cada parcela leva detalhe_valor:{valor_bruto obrigatório; valor_liquido derivado se omitido} — os aliases valor_composicao e composicao_valor são normalizados automaticamente), rateio[] opcional. metodo_pagamento da parcela usa o enum EXATO da API (PIX_PAGAMENTO_INSTANTANEO, BOLETO_BANCARIO, TRANSFERENCIA_BANCARIA, CARTAO_CREDITO, CARTAO_DEBITO, DINHEIRO etc — formas curtas como PIX/BOLETO/TED são normalizadas). Retorna 202 + {protocolId,status} (assíncrono).

NameTypeReqDescription
accountstring––
datastringyes–

No output schema declared.

No examples provided.

contaazul_person_delete ~57

Remove uma pessoa por id. Operação destrutiva — confirme antes. Bulk support: accepts ids for batched execution.

NameTypeReqDescription
accountstring––
idstringyes–
idsarray––

No output schema declared.

No examples provided.

contaazul_person_write_create ~262

Cria ou atualiza uma pessoa. action=create: requer nome, tipo_pessoa e (cpf|cnpj) — passe os campos via `data` (JSON). action=update: requer id e APENAS os campos a alterar em `data` (JSON) — é update PARCIAL: o resto do cadastro fica intacto e campo que o registro não tem NÃO é exigido (dá pra trocar só o email). Enums de escrita: tipo_pessoa = Física|Jurídica|Estrangeira; perfis = [{"tipo_perfil":"Cliente"|"Fornecedor"|"Transportadora"}] (variações de caixa/acento são normalizadas). Único campo fora do update parcial é `outros_contatos`: mudá-lo obriga a substituição integral do cadastro, e aí o Conta Azul exige codigo, data_nascimento, observacao, telefone_celular e telefone_comercial preenchidos — o erro retornado diz qual falta; inclua-o no `data`. [Flattened action: create] Bulk support: accepts ids for batched execution.

NameTypeReqDescription
accountstring––
datastringyes–
idstring––
idsarray––

No output schema declared.

No examples provided.

contaazul_person_write_update ~262

Cria ou atualiza uma pessoa. action=create: requer nome, tipo_pessoa e (cpf|cnpj) — passe os campos via `data` (JSON). action=update: requer id e APENAS os campos a alterar em `data` (JSON) — é update PARCIAL: o resto do cadastro fica intacto e campo que o registro não tem NÃO é exigido (dá pra trocar só o email). Enums de escrita: tipo_pessoa = Física|Jurídica|Estrangeira; perfis = [{"tipo_perfil":"Cliente"|"Fornecedor"|"Transportadora"}] (variações de caixa/acento são normalizadas). Único campo fora do update parcial é `outros_contatos`: mudá-lo obriga a substituição integral do cadastro, e aí o Conta Azul exige codigo, data_nascimento, observacao, telefone_celular e telefone_comercial preenchidos — o erro retornado diz qual falta; inclua-o no `data`. [Flattened action: update] Bulk support: accepts ids for batched execution.

NameTypeReqDescription
accountstring––
datastringyes–
idstring––
idsarray––

No output schema declared.

No examples provided.

contaazul_product_write ~79

Cria um produto (nome + valor_venda obrigatórios em `data` JSON). A API v2 do Conta Azul não expõe atualização nem GET de produto por id — para consultar, use contaazul_list_products (/produto/busca) com filtro.

NameTypeReqDescription
accountstring––
datastringyes–

No output schema declared.

No examples provided.

contaazul_receivable_create ~317

Cria um evento financeiro de conta a receber. `data` é o JSON do EventoFinanceiroRequest. OBRIGATÓRIOS: data_competencia (YYYY-MM-DD), valor (number), observacao, descricao, contato (UUID do cliente — via contaazul_list_people), conta_financeira (UUID — via contaazul_list_financial_accounts), condicao_pagamento.parcelas[] (cada: descricao, data_vencimento YYYY-MM-DD, nota, conta_financeira UUID, detalhe_valor:{valor_bruto obrigatório; valor_liquido derivado se omitido} — os aliases de leitura valor_composicao (o que contaazul_get_installment devolve) e de baixa composicao_valor são normalizados automaticamente pro detalhe_valor, metodo_pagamento com o enum EXATO da API: PIX_PAGAMENTO_INSTANTANEO, BOLETO_BANCARIO, TRANSFERENCIA_BANCARIA, CARTAO_CREDITO, CARTAO_DEBITO, DINHEIRO, DEPOSITO_BANCARIO, DEBITO_AUTOMATICO etc — formas curtas comuns como PIX/BOLETO/TED são normalizadas). OPCIONAL: rateio[] (cada: id_categoria UUID via contaazul_list_categories, valor, rateio_centro_custo[]). Retorna 202 + {protocolId,status} (processamento assíncrono).

NameTypeReqDescription
accountstring––
datastringyes–

No output schema declared.

No examples provided.

contaazul_sale_cancel ~56

Cancela uma venda. Operação destrutiva — confirme antes. Bulk support: accepts ids for batched execution.

NameTypeReqDescription
accountstring––
idstringyes–
idsarray––

No output schema declared.

No examples provided.

contaazul_sale_write_create ~94

Cria ou atualiza venda. action=create posta em /venda; action=update em /vendas/{id}. `data` é o payload completo da venda em JSON. [Flattened action: create] Bulk support: accepts ids for batched execution.

NameTypeReqDescription
accountstring––
datastringyes–
idstring––
idsarray––

No output schema declared.

No examples provided.

contaazul_sale_write_update ~94

Cria ou atualiza venda. action=create posta em /venda; action=update em /vendas/{id}. `data` é o payload completo da venda em JSON. [Flattened action: update] Bulk support: accepts ids for batched execution.

NameTypeReqDescription
accountstring––
datastringyes–
idstring––
idsarray––

No output schema declared.

No examples provided.

contaazul_service_write ~42

Cria um serviço. `data` é JSON com nome, valor, etc.

NameTypeReqDescription
accountstring––
datastringyes–

No output schema declared.

No examples provided.

contaazul_settle_installment ~301

Registra a baixa (recebimento/pagamento) de uma parcela. `id` é o UUID da PARCELA (via contaazul_list_receivables / _list_payables / _get_installment). `data` é o JSON da baixa: data_pagamento (YYYY-MM-DD), composicao_valor {valor_bruto, multa, juros, desconto, taxa, valor_liquido}, conta_financeira (UUID em string, via contaazul_list_financial_accounts) e metodo_pagamento, enum EXATO da API: DINHEIRO, PIX_PAGAMENTO_INSTANTANEO, BOLETO_BANCARIO, TRANSFERENCIA_BANCARIA, CARTAO_CREDITO, CARTAO_DEBITO, CARTAO_CREDITO_VIA_LINK, CHEQUE, DEPOSITO_BANCARIO, CARTEIRA_DIGITAL, CASHBACK, CREDITO_LOJA, CREDITO_VIRTUAL, OUTRO (formas curtas como PIX, BOLETO, CARTAO ou TRANSFERENCIA dão 400); observacao é opcional. O campo `versao` (controle de concorrência) é buscado automaticamente. Retorna a baixa com id_reconciliacao. Bulk support: accepts ids for batched execution.

NameTypeReqDescription
accountstring––
datastringyes–
idstringyes–
idsarray––

No output schema declared.

No examples provided.

Common questions

What is the Conta Azul MCP server?

Conta Azul MCP is listed in the public MCP registry as io.github.douglac/contaazul-mcp. Conta Azul ERP MCP, sales, customers, finance and NF-e via OAuth 2.0. Read + write, 35 tools. This page covers its hosted endpoint (https://api.mcp.ai/contaazul).

Is the Conta Azul MCP server safe to use?

Conta Azul MCP scores 69 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Conta Azul MCP server expose?

Conta Azul MCP exposes 57 tools: contaazul_list_accounts, contaazul_get_company, contaazul_list_people, contaazul_get_person, contaazul_person_write_create, and 52 more. Their descriptions and schemas cost roughly 6,469 tokens of context every time the server is loaded.

Does the Conta Azul MCP server require authentication?

No. We connected to Conta Azul MCP without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Conta Azul MCP server still maintained?

Conta Azul MCP is still listed as active in the MCP registry. We last reached this channel on 28 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.