Conflaro

io.conttrolePublished by conttrole.iov1.9.1Updated Nov 7, 2026

Brazilian e-invoicing (NF-e, NFC-e, NFS-e): issue, cancel and query fiscal documents, plus AP/AR.

VerifiedStreamable HTTPWeb executableFinanceData & AnalyticsBusiness & Commerce

Overview

AI-generated overview

Brazilian e-invoicing server: lets an assistant issue, cancel and query NF-e/NFC-e/NFS-e documents and manage receivables, payables and Simples Nacional taxes.

What you can do
  • Read company data, tax rules and products, and create or update products with their own tax settings
  • Create, emit, cancel and correct fiscal documents, and download authorized XML
  • Query and generate GNRE guides for interstate DIFAL, FCP and ICMS-ST
  • List received invoices, manifest them to SEFAZ, sync new ones and get monthly ZIP export links
  • Manage finance titles and installments, settle them, and view overdue receivables, delinquent clients and cash-flow projections
  • Estimate Simples Nacional DAS, forecast the current month, simulate IBS/CBS regime and compute tax inside a product price
When to use it
Useful for Brazilian companies and accounting offices that want an assistant to draft and issue fiscal documents, track received invoices and manifest them, or review receivables, payables and Simples Nacional tax estimates without leaving the chat.
Requirements
Remote endpoint or local npm package run over stdio. Requires OAuth and a Conflaro API key in CONFLARO_API_KEY (company key or accounting-office key); CONFLARO_API_URL optionally overrides the default API address. Internet access to Conflaro and, for some tools, to SEFAZ and the GNRE portal.
Before you install
Tools act on real fiscal and financial data: emitting, cancelling and correcting documents, generating GNRE guides (consumes plan quota and creates a payment obligation), manifesting received invoices (irreversible legal act) and settling installments. Confirm with the user before these. The API key is a live credential. Some tools return 403 when a module is not enabled.

Installation

In SourceWeft

  1. Open Conflaro in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.conttrole%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "conflaro": {
      "type": "http",
      "url": "https://mcp.conflaro.com/mcp"
    }
  }
}

Tools

46

get_company

Mostra os dados da empresa dona da chave de API configurada (razão social, CNPJ, IE/IM, regime tributário, endereço).

Takes no parameters.

list_fiscal_documents

Lista os documentos fiscais (NF-e/NFC-e/NFS-e) da empresa, com paginação e filtros por status e tipo.

ParameterspagetypestatuspageSize

get_fiscal_document

Detalha um documento fiscal pelo id (status, número, chave de acesso, itens, etc.).

Parametersidrequired

create_fiscal_document

Cria um documento fiscal (rascunho). Use emit=true para já enfileirar a emissão. Impostos são resolvidos pela regra tributária quando não informados.

ParametersemittyperequiredextraitemsrequiredclientplacesclientIdpaymentstaxRuleIdtransportcompetenceduplicates+23 more

emit_fiscal_document

Dispara a emissão (assíncrona) de um documento fiscal já criado. Acompanhe o status com get_fiscal_document.

Parametersidrequired

cancel_fiscal_document

Cancela um documento fiscal AUTORIZADO, com justificativa.

Parametersidrequiredreasonrequired

correct_fiscal_document

Emite uma Carta de Correção (CC-e) para um documento fiscal autorizado.

Parametersidrequiredtextrequired

get_fiscal_document_xml

Baixa o XML autorizado de um documento fiscal (retorna o XML como texto).

Parametersidrequired

get_fiscal_document_gnre

GNRE da nota (guia de recolhimento do DIFAL, FCP e ICMS-ST devidos a OUTRA UF): o que a NF-e autorizada exige (`assessment`, pelo XML), as guias geradas (status, valor, vencimento, `digitableLine` para pagar) e a cota do mês. `noGuideReason` explica quando NÃO há guia devida. Valores em string decimal.

Parametersidrequired

generate_fiscal_document_gnre

Gera (ou regera) as guias GNRE da nota no Portal GNRE — fala com o fisco, consome a cota do plano e cria obrigação de pagamento: confirme com o usuário antes. Idempotente (guia emitida não é refeita). O resultado sai em ≥ 30 s: depois consulte get_fiscal_document_gnre (ou refresh_fiscal_document_gnre). `blocked` = falta dado que só a pessoa resolve; o motivo fica na guia. Exige o módulo GNRE (403 `feature_not_enabled`).

Parametersidrequired

refresh_fiscal_document_gnre

Consulta AGORA no Portal GNRE o resultado das guias enviadas da nota (emitidas ganham linha digitável; rejeitadas, o motivo). `processing: true` = o portal ainda processa; tente de novo em alguns segundos.

Parametersidrequired

list_gnre_guides

Lista as guias GNRE da empresa (mais recentes primeiro), com filtro por status, UF favorecida e ambiente (padrão PRODUCTION). Sem o módulo GNRE a resposta é 403 `feature_not_enabled` — não conclua que não há guias.

ParametersufpagestatuspageSizeenvironment

list_tax_rules

Lista as regras tributárias da empresa (use o id em taxRuleId ao criar documentos).

Takes no parameters.

list_products

Lista os produtos da empresa, com a tributação própria de cada um. Use o id em items[].productId ao criar documentos.

ParameterspagesearchpageSize

get_product

Detalha um produto pelo id (configuração de NF-e com a tributação própria, e de NFS-e).

Parametersidrequired

create_product

Cadastra um produto, opcionalmente com a tributação própria em nfeConfig. Campo de imposto preenchido no produto vale em toda venda dele; em branco, vale a regra fiscal.

ParameterscoderequirednamerequiredprofilenfeConfigsalePricerequirednfseConfigemissionModel

update_product

Atualiza um produto. Só os campos enviados mudam (null limpa); na tributação, o enviado é mesclado com o gravado — mandar só pisCst não apaga o CSOSN.

ParametersidrequiredcodenameprofilenfeConfigsalePricenfseConfigemissionModel

list_overdue_receivables

Contas a receber VENCIDAS, da mais antiga para a mais nova (ordem de cobrança). `total` soma todas as vencidas mesmo quando a lista vem truncada.

Parameterslimite

top_delinquent_clients

Quem mais deve, agrupado por cliente, com o maior atraso de cada um. Use para priorizar cobrança.

Parameterslimite

cashflow_projection

Projeção de caixa por vencimento. NÃO inclui saldo bancário, e o que já venceu vem separado — nunca some `vencidoNaoRecebido` ao `resultadoPrevisto`: isso assumiria que o inadimplente vai pagar.

Parametersdias

list_finance_titles

Lista as PARCELAS de contas a receber ou a pagar. A parcela é a unidade que vence e que recebe baixa. Use `derivedStatus` (não `status`) para saber se atrasou.

ParametersduekindrequiredpagesearchpageSizeincludeSettled

get_finance_summary

Totais em aberto e aging (faixas de atraso) de um lado. As faixas somam `totalAberto − aConfirmar`, não o total.

Parameterskindrequired

get_finance_title

Ficha completa de um título: parcelas e histórico de baixas, incluindo as ESTORNADAS (`reversedAt` preenchido, e fora de toda soma).

Parametersidrequired

create_finance_title

Lança uma conta a receber ou a pagar. Conta à vista é 1 parcela. Use `schedule` quando já souber os vencimentos — ele vence `installments`/`totalAmount`.

ParameterskindrequireddueDaterequiredclientIdintervalcategoryIddescriptionrequiredtotalAmountrequiredinstallmentscounterpartyNamecounterpartyDocument

settle_finance_installment

Registra uma baixa na PARCELA (não no título). `amount` é o PRINCIPAL, o que abate a conta — juros e multa vão nos campos próprios e não abatem saldo. Valor menor que o saldo é baixa parcial, caminho normal.

ParametersdaterequiredamountrequiredfineAmountinstallmentIdrequireddiscountAmountinterestAmount

list_received_documents

Lista as notas RECEBIDAS (emitidas contra o CNPJ pelos fornecedores), NSU mais novo primeiro. `pending=true` = só as NF-e que ainda precisam de manifestação. `schemaType` RES_NFE é só o resumo: manifeste CIENCIA para liberar o XML completo.

ParameterspagemodelsearchpendingpageSizecompanyIdemittedToissuerCnpjemittedFrommanifestation

get_received_document

Detalha uma nota recebida: emitente, valor, situação, manifestação e se a DANFE já pode ser gerada (`pdf.available`, com o motivo quando não).

ParametersidrequiredcompanyId

get_received_document_xml

Baixa o XML da nota recebida (o resumo enquanto não houver Ciência; a nota completa depois).

ParametersidrequiredcompanyId

manifest_received_document

Manifesta a nota recebida perante a SEFAZ, EM NOME DA EMPRESA — é ato jurídico e NÃO TEM DESFAZER. Confirme com o usuário antes de DESCONHECIDA ou NAO_REALIZADA (recusam a nota e cancelam a conta a pagar dela). CIENCIA libera o XML completo. NAO_REALIZADA exige `justification` com 15+ caracteres. Só NF-e.

ParametersidrequiredtyperequiredcompanyIdjustification

sync_received_documents

Busca agora, na SEFAZ, as notas recebidas novas (a busca já roda sozinha a cada hora). Assíncrono. Depois de uma consulta sem novidades a SEFAZ exige 1h de espera: a resposta 429 `sefaz_wait` traz quando tentar de novo — não repita antes.

ParameterscompanyId

get_received_documents_distribution

Estado da busca de notas recebidas: último NSU, último retorno da SEFAZ, se há certificado e quando a próxima sincronização manual é permitida (`nextSyncAllowedAt`).

ParameterscompanyId

get_accounting_office

MODO CONTADOR (chave do escritório `ok_`): o escritório, quantas empresas estão na carteira e os escopos da chave.

Takes no parameters.

get_simples_estimate

Estimativa do DAS do Simples Nacional na competência (AAAA-MM; padrão o mês corrente), pelas notas autorizadas em produção. É ESTIMATIVA: com `status: incomplete` o `das` vem null e `pendencies` diz o que falta (receita de meses anteriores ao sistema, anexo dos serviços, folha) — nunca invente o valor. `two_scenarios` = fator R sem folha: o DAS fica entre o Anexo III e o V. Escopo `simples:read`.

ParameterscompanyIdcompetence

list_portfolio_das_estimates

MODO CONTADOR: o DAS estimado de cada empresa da carteira na competência (AAAA-MM; padrão o mês corrente). `status: incomplete` = faltam dados naquela empresa (detalhe com get_simples_estimate + companyId); `error` = a conta falhou só nela.

Parameterscompetence

simulate_simples_ibscbs_regime

Simula, para empresa do Simples Nacional, recolher o IBS/CBS DENTRO do DAS × FORA dele (regime regular, opção semestral a partir de 2027: em setembro para jan–jun e em março para jul–dez). Devolve o imposto da empresa nos dois casos (`inside.das` × `outside.total`), o crédito que os clientes com CNPJ recuperam (`clientsCredit`), a `reading` e as `premises`. É ESTIMATIVA para conversar com o contador, nunca recomendação fiscal. `cbs_not_published` = a CBS do ano não saiu: só mande `cbs` se a PESSOA informar a alíquota a simular — nunca chute, e diga que o resultado usa a premissa dela. Cobre 2027 e 2028. Escopo `simples:read`.

ParameterscbsyearcompanyId

get_simples_das_forecast

Previsão do DAS do MÊS CORRENTE se o mês seguir no ritmo dos dias já decorridos, e a RBT12 e a faixa do mês seguinte (`nextMonth.warnings`: muda_de_faixa | sublimite | teto — avise ANTES de acontecer). `fewDays: true` = poucos dias, projeção instável: diga isso. Escopo `simples:read`.

ParameterscompanyId

get_product_tax_in_price

Quanto do preço de um produto é imposto (empresa do Simples): alíquota efetiva do DAS do anexo do produto, imposto no preço, margem e o PREÇO MÍNIMO para a margem desejada. Valores em string decimal ("40.00"). `minimumPrice: null` = imposto + despesas + margem passam de 100%. Nada é gravado. Escopo `simples:read`.

ParameterscostrequiredpriceproductIdrequiredmarginRateexpensesRate

list_suspicious_received_documents

NF-e recebidas (últimos 60 dias, ainda sem decisão) de fornecedor que NUNCA emitiu para a empresa e com valor ou mercadoria fora do padrão — pode ser nota fria contra o CNPJ. Apresente como algo a CONFERIR, nunca como acusação. Se a pessoa disser que a compra não aconteceu, a saída é manifestar Desconhecimento da operação (manifest_received_document, `210220`) — só com a confirmação dela. Escopo `received-documents:read`.

ParameterscompanyId

list_portfolio_companies

MODO CONTADOR: as empresas-cliente com vínculo ATIVO com o escritório. O `id` de cada uma é o `companyId` das outras ferramentas.

ParameterspagesearchpageSize

list_closing_eligible_companies

MODO CONTADOR: empresas da carteira com nota de PRODUÇÃO autorizada ou cancelada no mês (BRT) — as que o fechamento vai processar. Mês é 1–12.

Parametersyearrequiredmonthrequired

request_fiscal_closings

MODO CONTADOR: pede o fechamento fiscal do mês — um ZIP por empresa com XML e/ou DANFE. Assíncrono: acompanhe com list_fiscal_closings. Sem `companyIds` vale para a carteira inteira (até 200). Empresa sem nota no mês, com fechamento em andamento ou fora da carteira volta em `skipped`, com o motivo.

ParametersyearrequiredmonthrequiredcompanyIdsincludePdfincludeXml

list_fiscal_closings

MODO CONTADOR: os fechamentos fiscais da carteira e a situação de cada um (PENDING, PROCESSING, COMPLETED, FAILED).

ParameterspageyearmonthstatuspageSizecompanyId

get_fiscal_closing_download

MODO CONTADOR: link para baixar o ZIP de um fechamento COMPLETED (válido por 1 hora). Antes de terminar, a resposta diz a situação atual.

Parametersidrequired

list_webhooks

Lista os endpoints de webhook da empresa.

Takes no parameters.

create_webhook

Cria um endpoint de webhook que recebe eventos assinados (document.authorized/rejected/cancelled/inutilized). O segredo de assinatura é retornado apenas uma vez.

Parametersurlrequiredevents

Version history

6
  1. v1.9.1LatestNov 5, 2026
  2. v1.7.0Nov 5, 2026
  3. v1.6.3Nov 5, 2026
  4. v1.6.2Nov 3, 2026
  5. v1.6.0Nov 1, 2026
  6. v1.5.0Oct 29, 2026

Score

75% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • License10 pts

    Declare a license in the repository or the registry entry.