# Conta Azul MCP

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

- name: io.github.douglac/contaazul-mcp
- version: 0.1.0
- connection class: unknown (unknown)
- trust: 66/100
- quality: 74/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.douglac%2Fcontaazul-mcp
- tools: https://api.protogrid.dev/v1/servers/io.github.douglac%2Fcontaazul-mcp/tools

**Not classified yet.** The remote endpoints have not been probed successfully, or the listing has nothing to connect to.

## Connection (mcpServers)

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


## Trust

- hygiene: 100
- liveness: 29
- freshness: 65
- provenance: 80
- drivers: +repository +namespace-matches-repo -unreachable(1 failures) ~updated-144d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 74/100 (needs work)

### 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`: 58 of 58 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- warn `tools.token_cost`: about 9,878 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 50 (weight 15)

- pass `stability.changes`: 3 tool changes in 30 days
- fail `stability.rug_pull`: 1 tools kept their name but changed most of their description in 30 days; review before trusting them

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

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

- tools: 58, about 9,878 tokens to load them all
- tool set hash: 02c844e2b5b92b456a878cafe96f4101
- tools last changed: 2026-10-02T21:33:19.315Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.douglac/contaazul-mcp.svg)](https://protogrid.dev/servers/io.github.douglac/contaazul-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-02 `contaazul_list_payables` changed (description)
  - before: 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).
  - after: 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). O Conta Azul usa os MESMOS status de contas a receber (RECEBIDO aqui = pago) e o mesmo formato de item — parecido com list_receivables, mas são despesas.
- 2026-10-02 `contaazul_list_sale_items` added
  - Itens (produtos/serviços, quantidade, valor) de uma ou mais vendas. Passe ids_venda (até 50); devolve um resultado por venda.
- 2026-10-02 `contaazul_list_sales` changed (description, inputSchema) **meaning changed**
  - before: 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.
  - after: Lista vendas (GET /venda/busca). Filtros: data_inicio/data_fim (emissão, AAAA-MM-DD), data_criacao_de/ate (AAAA-MM-DD), data_alteracao_de/ate (AAAA-MM-DDTHH:MM:SS), ids_clientes, ids_vendedores, ids_categorias, ids_produtos, numeros, situacoes (ex.: aprovado, em_andamento, faturado, cancelado, orcamento), termo_busca, ordenação por numero/cliente/data. Paginação: pagina + tamanho_pagina; a resposta traz total_itens, totais e quantidades por situação. Bulk support: accepts cliente_ids for batched execution.

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

## Remotes

- https://api.mcp.ai/contaazul (streamable-http, auth none, reachable false, uptime30d 0.9655172)

## Packages

_none_

## Tools (58)

- `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.
- `contaazul_cancel_charge`: 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.
- `contaazul_contract_next_number`: Retorna o próximo número de contrato disponível.
- `contaazul_contract_write`: Cria um contrato. `data` é o payload em JSON.
- `contaazul_create_budget`: 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).
- `contaazul_delete_budgets`: 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).
- `contaazul_delete_contract`: Remove um contrato por id. Operação destrutiva, confirme antes.

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

Bulk support: accepts ids for batched execution.
- `contaazul_generate_charge`: 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.
- `contaazul_get_account_balance`: 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.
- `contaazul_get_budget`: Detalhe de um orçamento por id (itens, cliente, composição de valor).

Bulk support: accepts ids for batched execution.
- `contaazul_get_charge`: 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.
- `contaazul_get_company`: Dados da empresa Conta Azul ativa (CNPJ, razão social, regime tributário).
- `contaazul_get_contract`: Detalhe de um contrato por id (cliente, termos, condição de pagamento, composição de valor).

Bulk support: accepts ids for batched execution.
- `contaazul_get_initial_balance`: 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.
- `contaazul_get_installment`: Detalhe de uma parcela por id.

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

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

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

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

Bulk support: accepts ids for batched execution.
- `contaazul_list_accounts`: Lista as empresas Conta Azul vinculadas a este install (company_id, label).
- `contaazul_list_budgets`: Lista orçamentos (cliente, número, total, situação, versão). Paginado.
- `contaazul_list_categories`: Lista categorias financeiras (DRE).
- `contaazul_list_changed_events`: 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.
- `contaazul_list_contracts`: 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.
- `contaazul_list_cost_centers`: Lista centros de custo.
- `contaazul_list_financial_accounts`: 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"].
- `contaazul_list_installments`: 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.
- `contaazul_list_invoices_nfe`: Lista notas fiscais emitidas (NF-e). Filtros: tamanho_pagina, pagina, data_emissao_inicio, data_emissao_fim, status.
- `contaazul_list_invoices_nfse`: 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.
- `contaazul_list_payables`: 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). O Conta Azul usa os MESMOS status de contas a receber (RECEBIDO aqui = pago) e o mesmo formato de item — parecido com list_receivables, mas são despesas.
- `contaazul_list_people`: Lista pessoas (clientes, fornecedores, vendedores, transportadores) cadastradas. Filtros via params: tamanho_pagina, pagina, busca (nome/documento), tipo_perfil, ativo.
- `contaazul_list_products`: Lista produtos cadastrados. Filtros: tamanho_pagina, pagina, busca, ativo.
- `contaazul_list_receivables`: 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).
- `contaazul_list_sale_items`: Itens (produtos/serviços, quantidade, valor) de uma ou mais vendas. Passe ids_venda (até 50); devolve um resultado por venda.
- `contaazul_list_sales`: Lista vendas (GET /venda/busca). Filtros: data_inicio/data_fim (emissão, AAAA-MM-DD), data_criacao_de/ate (AAAA-MM-DD), data_alteracao_de/ate (AAAA-MM-DDTHH:MM:SS), ids_clientes, ids_vendedores, ids_categorias, ids_produtos, numeros, situacoes (ex.: aprovado, em_andamento, faturado, cancelado, orcamento), termo_busca, ordenação por numero/cliente/data. Paginação: pagina + tamanho_pagina; a resposta traz total_itens, totais e quantidades por situação.

Bulk support: accepts cliente_ids for batched execution.
- `contaazul_list_services`: Lista serviços cadastrados.
- `contaazul_list_settlements`: Lista as baixas de uma parcela. `id` é o UUID da parcela.

Bulk support: accepts ids for batched execution.
- `contaazul_list_transfers`: 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.
- `contaazul_payable_create`: 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).
- `contaazul_person_delete`: Remove uma pessoa por id. Operação destrutiva — confirme antes.

Bulk support: accepts ids for batched execution.
- `contaazul_person_write_create`: 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.
- `contaazul_person_write_update`: 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.
- `contaazul_product_write`: 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.
- `contaazul_receivable_create`: 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).
- `contaazul_sale_cancel`: Cancela uma venda. Operação destrutiva — confirme antes.

Bulk support: accepts ids for batched execution.
- `contaazul_sale_write_create`: 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.
- `contaazul_sale_write_update`: 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.
- `contaazul_service_write`: Cria um serviço. `data` é JSON com nome, valor, etc.
- `contaazul_settle_installment`: 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.
- `contaazul_terminate_contract`: Encerra um contrato por id. Operação sensível, confirme antes.

Bulk support: accepts ids for batched execution.
- `contaazul_update_installment`: 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.

Bulk support: accepts ids for batched execution.
- `contaazul_update_settlement`: 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.

Bulk support: accepts ids for batched execution.
- `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.
- `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.
