{"name":"io.github.douglac/contaazul-mcp","slug":"douglac-contaazul-mcp","title":"Conta Azul MCP","description":"Conta Azul ERP MCP — sales, customers, finance and NF-e via OAuth 2.0. Read + write, 35 tools.","url":"https://mcp.market/server/douglac-contaazul-mcp","rating":null,"grade":"C","score":68,"certified":false,"status":"active","category":"sales","tags":["sales","finance"],"presence":{"score":22,"stars":12,"forks":2,"downloads_week":null,"last_push_at":"2026-06-23T17:40:34.000Z","license":"MIT"},"uptime":{"percent":96,"checks":28,"ok":27,"last_checked_at":"2026-11-04T06:00:23.652Z","last_ok_at":"2026-11-04T06:00:23.652Z","latency_ms":45},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/douglac/contaazul-mcp","website":null,"version":"0.1.0","remotes":[{"type":"streamable-http","url":"https://api.mcp.ai/contaazul"}],"packages":[],"tools":[{"name":"authenticate","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"token":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"connect","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_cancel_charge","description":"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.\n\nBulk support: accepts ids for batched execution.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"account":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_contract_next_number","description":"Retorna o próximo número de contrato disponível.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_contract_write","description":"Cria um contrato. `data` é o payload em JSON.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"data":{"type":"string"},"account":{"type":"string"}},"required":["data"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_create_budget","description":"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).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"data":{"type":"string"},"account":{"type":"string"}},"required":["data"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_delete_budgets","description":"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).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string"}},"account":{"type":"string"}},"required":["ids"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_delete_contract","description":"Remove um contrato por id. Operação destrutiva, confirme antes.\n\nBulk support: accepts ids for batched execution.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"account":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_delete_settlement","description":"Estorna (remove) uma baixa por id. Operação destrutiva, confirme antes. `id` é o UUID da baixa.\n\nBulk support: accepts ids for batched execution.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"account":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_generate_charge","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"ids_parcelas":{"type":"array","items":{"type":"string"}},"id_parcela":{"type":"string"},"tipo":{"type":"string"},"conta_bancaria":{"type":"string"},"descricao_fatura":{"type":"string"},"data_vencimento":{"type":"string"},"maximo_parcelas":{"type":"number"},"desconto_antecipado":{"type":"object","properties":{"valor":{"type":"number"},"percentual":{"type":"number"},"dias_antes_vencer":{"type":"number"}}},"forcar":{"type":"boolean"},"data":{"type":"string"},"account":{"type":"string"}},"required":["tipo"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_get_account_balance","description":"Saldo atual de uma conta financeira por id (banco/caixa/cartão). Pegue o id em contaazul_list_financial_accounts.\n\nBulk support: accepts ids for batched execution.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"account":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_get_budget","description":"Detalhe de um orçamento por id (itens, cliente, composição de valor).\n\nBulk support: accepts ids for batched execution.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"account":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_get_charge","description":"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.\n\nBulk support: accepts ids for batched execution.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"account":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_get_company","description":"Dados da empresa Conta Azul ativa (CNPJ, razão social, regime tributário).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_get_contract","description":"Detalhe de um contrato por id (cliente, termos, condição de pagamento, composição de valor).\n\nBulk support: accepts ids for batched execution.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"account":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_get_initial_balance","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"data_inicio":{"type":"string"},"data_fim":{"type":"string"},"account":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_get_installment","description":"Detalhe de uma parcela por id.\n\nBulk support: accepts ids for batched execution.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"account":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_get_invoice_nfe","description":"Detalhe de uma NF-e por id.\n\nBulk support: accepts ids for batched execution.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"account":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_get_person","description":"Detalhe de uma pessoa por id.\n\nBulk support: accepts ids for batched execution.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"account":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_get_sale","description":"Detalhe de uma venda por id.\n\nBulk support: accepts ids for batched execution.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"account":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_get_settlement","description":"Detalhe de uma baixa por id. `id` é o UUID da baixa.\n\nBulk support: accepts ids for batched execution.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"account":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_list_accounts","description":"Lista as empresas Conta Azul vinculadas a este install (company_id, label).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"account":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_list_budgets","description":"Lista orçamentos (cliente, número, total, situação, versão). Paginado.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tamanho_pagina":{"type":"number"},"pagina":{"type":"number"},"account":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_list_categories","description":"Lista categorias financeiras (DRE).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tamanho_pagina":{"type":"number"},"pagina":{"type":"number"},"tipo":{"type":"string"},"account":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_list_changed_events","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tamanho_pagina":{"type":"number"},"pagina":{"type":"number"},"data_inicio":{"type":"string"},"data_fim":{"type":"string"},"account":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_list_contracts","description":"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.\n\nBulk support: accepts cliente_ids for batched execution.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tamanho_pagina":{"type":"number"},"pagina":{"type":"number"},"data_inicio":{"type":"string"},"data_fim":{"type":"string"},"cliente_id":{"type":"string"},"busca_textual":{"type":"string"},"account":{"type":"string"},"cliente_ids":{"type":"array","items":{"type":"string"}}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_list_cost_centers","description":"Lista centros de custo.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tamanho_pagina":{"type":"number"},"pagina":{"type":"number"},"account":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_list_financial_accounts","description":"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\"].","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tamanho_pagina":{"type":"number"},"pagina":{"type":"number"},"tipos":{"type":"array","items":{"type":"string"}},"nome":{"type":"string"},"apenas_ativo":{"type":"boolean"},"account":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_list_installments","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id_evento":{"type":"string"},"account":{"type":"string"}},"required":["id_evento"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_list_invoices_nfe","description":"Lista notas fiscais emitidas (NF-e). Filtros: tamanho_pagina, pagina, data_emissao_inicio, data_emissao_fim, status.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tamanho_pagina":{"type":"number"},"pagina":{"type":"number"},"data_emissao_inicio":{"type":"string"},"data_emissao_fim":{"type":"string"},"status":{"type":"string"},"account":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_list_invoices_nfse","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tamanho_pagina":{"type":"number"},"pagina":{"type":"number"},"data_competencia_de":{"type":"string"},"data_competencia_ate":{"type":"string"},"id_cliente":{"type":"string"},"numero_venda":{"type":"string"},"status":{"type":"string"},"tipo_negociacao":{"type":"string"},"numero_nfse_inicial":{"type":"number"},"numero_nfse_final":{"type":"number"},"numero_rps_inicial":{"type":"number"},"numero_rps_final":{"type":"number"},"account":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_list_payables","description":"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).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tamanho_pagina":{"type":"number"},"pagina":{"type":"number"},"data_vencimento_de":{"type":"string"},"data_vencimento_ate":{"type":"string"},"status":{"type":"string"},"account":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_list_people","description":"Lista pessoas (clientes, fornecedores, vendedores, transportadores) cadastradas. Filtros via params: tamanho_pagina, pagina, busca (nome/documento), tipo_perfil, ativo.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tamanho_pagina":{"type":"number"},"pagina":{"type":"number"},"busca":{"type":"string"},"tipo_perfil":{"type":"string"},"ativo":{"type":"boolean"},"account":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_list_products","description":"Lista produtos cadastrados. Filtros: tamanho_pagina, pagina, busca, ativo.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tamanho_pagina":{"type":"number"},"pagina":{"type":"number"},"busca":{"type":"string"},"ativo":{"type":"boolean"},"account":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_list_receivables","description":"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).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tamanho_pagina":{"type":"number"},"pagina":{"type":"number"},"data_vencimento_de":{"type":"string"},"data_vencimento_ate":{"type":"string"},"status":{"type":"string"},"ids_clientes":{"type":"string"},"account":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_list_sales","description":"Lista vendas. Filtros: tamanho_pagina, pagina, data_inicio, data_fim (YYYY-MM-DD), cliente_id, status_venda.\n\nBulk support: accepts cliente_ids for batched execution.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tamanho_pagina":{"type":"number"},"pagina":{"type":"number"},"data_inicio":{"type":"string"},"data_fim":{"type":"string"},"cliente_id":{"type":"string"},"status_venda":{"type":"string"},"account":{"type":"string"},"cliente_ids":{"type":"array","items":{"type":"string"}}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_list_services","description":"Lista serviços cadastrados.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tamanho_pagina":{"type":"number"},"pagina":{"type":"number"},"busca":{"type":"string"},"account":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_list_settlements","description":"Lista as baixas de uma parcela. `id` é o UUID da parcela.\n\nBulk support: accepts ids for batched execution.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"account":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_list_transfers","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tamanho_pagina":{"type":"number"},"pagina":{"type":"number"},"data_inicio":{"type":"string"},"data_fim":{"type":"string"},"account":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_payable_create","description":"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).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"data":{"type":"string"},"account":{"type":"string"}},"required":["data"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_person_delete","description":"Remove uma pessoa por id. Operação destrutiva — confirme antes.\n\nBulk support: accepts ids for batched execution.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"account":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_person_write_create","description":"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`.\n\n[Flattened action: create]\n\nBulk support: accepts ids for batched execution.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"data":{"type":"string"},"account":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"required":["data"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_person_write_update","description":"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`.\n\n[Flattened action: update]\n\nBulk support: accepts ids for batched execution.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"data":{"type":"string"},"account":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"required":["data"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_product_write","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"data":{"type":"string"},"account":{"type":"string"}},"required":["data"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_receivable_create","description":"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).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"data":{"type":"string"},"account":{"type":"string"}},"required":["data"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_sale_cancel","description":"Cancela uma venda. Operação destrutiva — confirme antes.\n\nBulk support: accepts ids for batched execution.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"account":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_sale_write_create","description":"Cria ou atualiza venda. action=create posta em /venda; action=update em /vendas/{id}. `data` é o payload completo da venda em JSON.\n\n[Flattened action: create]\n\nBulk support: accepts ids for batched execution.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"data":{"type":"string"},"account":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"required":["data"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_sale_write_update","description":"Cria ou atualiza venda. action=create posta em /venda; action=update em /vendas/{id}. `data` é o payload completo da venda em JSON.\n\n[Flattened action: update]\n\nBulk support: accepts ids for batched execution.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"data":{"type":"string"},"account":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"required":["data"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_service_write","description":"Cria um serviço. `data` é JSON com nome, valor, etc.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"data":{"type":"string"},"account":{"type":"string"}},"required":["data"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_settle_installment","description":"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.\n\nBulk support: accepts ids for batched execution.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"data":{"type":"string"},"account":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"required":["id","data"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_terminate_contract","description":"Encerra um contrato por id. Operação sensível, confirme antes.\n\nBulk support: accepts ids for batched execution.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"account":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"required":["id"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_update_installment","description":"Atualiza campos de uma parcela (PATCH). Campos editáveis em `data` JSON: nota, descricao, vencimento (YYYY-MM-DD), composicao_valor:{valor_bruto,multa,juros,desconto,taxa,valor_liquido}, data_pagamento_esperado, metodo_pagamento, perda, nsu, pagamento_agendado, id_conta_financeira. O campo `versao` (controle de concorrência) é buscado automaticamente — não precisa passar. NÃO é editável aqui: `rateio`/`rateio_centro_custo` (categoria e centro de custo só entram na CRIAÇÃO do lançamento, via rateio[] do contaazul_payable_create / contaazul_receivable_create; o Conta Azul não deixa alterar depois). Campo fora da lista é RECUSADO com erro em vez de ser enviado, porque a API responde 200 e incrementa a versão descartando o campo em silêncio. Para registrar pagamento/baixa use contaazul_settle_installment e para estornar use contaazul_delete_settlement.\n\nBulk support: accepts ids for batched execution.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"data":{"type":"string"},"account":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"required":["id","data"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"contaazul_update_settlement","description":"Atualiza uma baixa (PATCH). `id` é o UUID da baixa. `data` é o JSON com os campos a alterar (data_pagamento, composicao_valor, conta_financeira em UUID string, metodo_pagamento com o mesmo enum de contaazul_settle_installment, observacao). O campo `versao` é buscado automaticamente.\n\nBulk support: accepts ids for batched execution.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string"},"data":{"type":"string"},"account":{"type":"string"},"ids":{"type":"array","items":{"type":"string"}}},"required":["id","data"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"marketplace","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"action":{"default":"search","type":"string","enum":["search","describe","install","uninstall","subscribe","cancel","resume","report_bug","request_mcp","list_tools","invoke","search_prompts","get_prompt","publish_prompt"]},"query":{"default":"","type":"string"},"mcp_id":{"default":"","type":"string"},"limit":{"default":10,"type":"number"},"tier_slug":{"default":"","type":"string"},"immediate":{"default":false,"type":"boolean"},"cancel_reason":{"type":"string","enum":["too_expensive","missing_features","switched_service","unused","customer_service","too_complex","low_quality","other"]},"cancel_comment":{"default":"","type":"string"},"message":{"default":"","type":"string"},"report_context":{"default":"","type":"string"},"conversation":{"default":"[]","type":"string"},"request_name":{"default":"","type":"string"},"request_details":{"default":"","type":"string"},"tool_id":{"default":"","type":"string"},"arguments":{"default":"{}","type":"string"},"prompt_slug":{"default":"","type":"string"},"prompt_vars":{"default":"{}","type":"string"},"prompt_category":{"default":"","type":"string"},"prompt_tool":{"default":"","type":"string"},"prompt_title":{"default":"","type":"string"},"prompt_description":{"default":"","type":"string"},"prompt_body":{"default":"","type":"string"},"prompt_targets":{"default":[],"type":"array","items":{"type":"string","enum":["claude","chatgpt","cursor","lovable"]}}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"message":{"type":"string"},"context":{"default":"","type":"string"},"conversation":{"default":"[]","type":"string"}},"required":["message"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"show_version","description":"Show the current MCP platform and adapter versions.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":68,"grade":"C","scanned_at":"2026-09-27T17:05:05.463Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T17:05:05.479Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":17,"max":20,"notes":["remote reachable in 4076ms"]},"poisoning":{"score":15,"max":15,"notes":["57 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 20 write-action tools with no auth"]},"maintenance":{"score":8,"max":15,"notes":["last push 96 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://api.mcp.ai/contaazul","reachable":true,"authRequired":false,"latencyMs":4076,"serverInfo":{"name":"Conta Azul MCP","version":"0.9.351"}}],"packages":[],"repo":{"found":true,"owner":"douglac","repo":"contaazul-mcp","archived":false,"pushedAt":"2026-06-23T17:40:34Z","stars":12,"forks":2,"openIssues":2,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/13012931?v=4","ownerCreatedAt":"2015-06-23T06:57:23Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":12,"forks":2,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-06-23T17:40:34.000Z","score":22}}}},"grade_history":[],"reviews":[]}