MCP server for Brazilian e-invoicing: NF-e and NFC-e (modelo 55/65), schema 4.00, SEFAZ.
Connect MCP to Claude, Cursor or any other MCP client and it stops being a tab you switch to. MCP server for Brazilian e-invoicing: NF-e and NFC-e (modelo 55/65), schema 4.00, SEFAZ. The mcp mcp server is what makes that connection.
Add the server to your MCP client configuration. For Claude Desktop, edit claude_desktop_config.json:
The toolset is worth reading before you wire it up, because it tells you what the integration is really for:
Requirements — The Requirements tool exposed by this serverbr__validate_cpf — Validates a CPF (Cadastro de Pessoas Físicas), the individual taxpayer identification number, using the Receita Federal modulo 11 algorithmbr__validate_cnpj — Validates a CNPJ (Cadastro Nacional da Pessoa Jurídica), the business taxpayer identification number. Accepts both the traditional numeric format (14br__generate_nfe — Returns {"xml": ..., "chave_acesso": ..., "warnings": [...]}. The warnings in Portuguese remind that the document is not signed (ICP-Brasil) andbr__validate_nfe_xml — Validates an NF-e/NFC-e 4.00 XML document against the official PL_010d XSD (local "unsigned" variant, see note below)br__build_access_key — Builds an access key (chNFe, 44 characters) with a modulo 11 check digit, from the components cUF, dhEmi, issuer CNPJ, model, series, and documentbr__generate_cte — The br__generate_cte tool exposed by this serverbr__validate_cte_xml — Validates a CT-e 4.00 XML document against the bundled PL_CTe_400 XSD (auto-selects the unsigned or official signed schema based on ds:Signaturebr__consult_cte_sefaz_status — Checks SEFAZ CT-e webservice availability (CTeStatusServicoV4). Read-only, no confirmation requiredbr__consult_cte — Queries a CT-e's status by access key (CTeConsultaV4). Read-only, no confirmation required — it queries one already-known document, not a bulk databr__submit_cte — Submits a signed CT-e to SEFAZ authorization (CTeRecepcaoSincV4, synchronous). The payload is automatically GZip-compressed and Base64-encoded beforebr__cancel_cte — Requests cancellation of an authorized CT-e (event 110111, CTeRecepcaoEventoV4). cStat=135 indicates the cancellation was homologated. Gatedmcp-einvoicing-core (installed automatically as a dependency)mcp-nfe-br on PyPI is all you need. Most clients run it directly, so configuration is a few lines and a restart.
Among the planning and project tracking options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. MCP's toolset — Requirements, br__validate_cpf, br__validate_cnpj and 10 more — is a fair guide to whether it matches your workflow. It is maintained by cmendezs; worth a glance at recent repository activity before you build anything load-bearing on it.
SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.
| Tool | What it does |
|---|---|
| Requirements | The Requirements tool exposed by this server. |
| br__validate_cpf | Validates a CPF (Cadastro de Pessoas Físicas), the individual taxpayer identification number, using the Receita Federal modulo 11 algorithm. |
| br__validate_cnpj | Validates a CNPJ (Cadastro Nacional da Pessoa Jurídica), the business taxpayer identification number. Accepts both the traditional numeric format (14 digits) and the alphanumeric format introduced by NT 2026.004 (PL_010d |
| br__generate_nfe | Returns {"xml": ..., "chave_acesso": ..., "warnings": [...]}. The warnings in Portuguese remind that the document is **not signed** (ICP-Brasil) and **was not transmitted to SEFAZ**. Both steps are the responsibility of |
| br__validate_nfe_xml | Validates an NF-e/NFC-e 4.00 XML document against the official PL_010d XSD (local "unsigned" variant, see note below). |
| br__build_access_key | Builds an access key (chNFe, 44 characters) with a modulo 11 check digit, from the components cUF, dhEmi, issuer CNPJ, model, series, and document number. |
| br__generate_cte | The br__generate_cte tool exposed by this server. |
| br__validate_cte_xml | Validates a CT-e 4.00 XML document against the bundled PL_CTe_400 XSD (auto-selects the unsigned or official signed schema based on <ds:Signature> presence). |
| br__consult_cte_sefaz_status | Checks SEFAZ CT-e webservice availability (CTeStatusServicoV4). Read-only, no confirmation required. |
| br__consult_cte | Queries a CT-e's status by access key (CTeConsultaV4). Read-only, no confirmation required — it queries one already-known document, not a bulk data pull. |
| br__submit_cte | Submits a signed CT-e to SEFAZ authorization (CTeRecepcaoSincV4, synchronous). The payload is automatically GZip-compressed and Base64-encoded before transmission, per the CT-e MOC. Gated with a two-step confirmation (Co |
| br__cancel_cte | Requests cancellation of an authorized CT-e (event 110111, CTeRecepcaoEventoV4). cStat=135 indicates the cancellation was homologated. Gated. |
| br__correct_cte | Issues a Carta de Correção Eletrônica (event 110110, CTeRecepcaoEventoV4). Per Art. 58-B of CONVÊNIO/SINIEF 06/89, a CC-e cannot alter tax values, party registration data, or the issue/departure date. Gated. |
For a local development installation:
```json
{
"mcpServers": {
"nfe-br": {
"command": "uv",
"args": ["run", "mcp-nfe-br"],
"cwd": "/path/to/mcp-nfe-br"
}
}
}Configuration as documented by the project. Restart the client after saving.
mcp-einvoicing-core (installed automatically as a dependency)Your workspace, on speaking terms with AI — search, read and write Notion pages and databases.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Search and read your Drive — Docs, Sheets and files become context your assistant can actually use.
Your assistant inside the workspace — read channels, search history, post messages and tame the noise.
Metabase ships its own MCP endpoint — search your BI content, build and run queries, and save questions and dashboards without leaving the chat.
Stop letting your assistant hallucinate n8n node parameters — this server hands it the real schemas, templates and validation.