About mcp-nuvem-fiscal
mcp-nuvem-fiscal is an MCP server for Nuvem Fiscal, aimed at Brazilian businesses and developers who issue fiscal documents. It exposes tools for creating, querying and cancelling NF-e, NFS-e, NFC-e, CT-e and MDF-e documents, plus CNPJ and CEP lookups.
Key features
- 01NF-e, NFS-e and NFC-e creation and lookup
- 02CT-e and MDF-e transport document management
- 03CNPJ company data and CEP address lookup
- 04Correction letters and batch status queries
- 05Homologation environment and demo mode
Use cases
- 01Issuing or cancelling electronic invoices from an AI assistant
- 02Looking up company registration and address data
- 03Testing fiscal document workflows in a sandbox
MCP support
This is an MCP server that exposes 24 tools to MCP clients for performing fiscal document operations through the Nuvem Fiscal API.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @codespar/mcp-nuvem-fiscalNUVEM_FISCAL_CLIENT_SECRETSecretAPI key for nuvem-fiscalLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
24Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| itens | array | Yes | Array of items (product, quantity, value, taxes) |
| ambiente | enum | Yes | 1=Produção, 2=Homologação1 | 2 |
| emitente | object | Yes | Issuer data (CNPJ, IE, address, etc.) |
| pagamento | object | Yes | Payment information |
| destinatario | object | Yes | Recipient data (CPF/CNPJ, address, etc.) |
| natureza_operacao | string | Yes | Nature of the operation (e.g. 'Venda de mercadoria') |
Details
From the project README@codespar/mcp-nuvem-fiscal
MCP server for Nuvem Fiscal — NFe, NFSe, NFCe fiscal document emission and CNPJ/CEP lookup
Quick Start
Claude Desktop
Add to ~/.config/claude/claude_desktop_config.json:
{
"mcpServers": {
"nuvem-fiscal": {
"command": "npx",
"args": ["-y", "@codespar/mcp-nuvem-fiscal"],
"env": {
"NUVEM_FISCAL_CLIENT_ID": "your-client-id",
"NUVEM_FISCAL_CLIENT_SECRET": "your-client-secret"
}
}
}
}
Claude Code
claude mcp add nuvem-fiscal -- npx @codespar/mcp-nuvem-fiscal
Cursor / VS Code
Add to .cursor/mcp.json or .vscode/mcp.json:
{
"servers": {
"nuvem-fiscal": {
"command": "npx",
"args": ["-y", "@codespar/mcp-nuvem-fiscal"],
"env": {
"NUVEM_FISCAL_CLIENT_ID": "your-client-id",
"NUVEM_FISCAL_CLIENT_SECRET": "your-client-secret"
}
}
}
}
Tools (24)
| Tool | Purpose |
|---|---|
create_nfe | Create a NF-e (nota fiscal eletrônica) |
get_nfe | Get NF-e details by ID |
cancel_nfe | Cancel a NF-e |
create_nfse | Create a NFS-e (nota fiscal de serviço eletrônica) |
get_nfse | Get NFS-e details by ID |
cancel_nfse | Cancel a NFS-e |
create_nfce | Create a NFC-e (nota fiscal de consumidor eletrônica) |
consult_cnpj | Consult company data by CNPJ number |
consult_cep | Consult address by CEP (postal code) |
register_company | Register a company in Nuvem Fiscal |
create_cte | Create a CT-e (conhecimento de transporte eletrônico) |
get_cte | Get CT-e details by ID |
cancel_cte | Cancel a CT-e |
create_mdfe | Create a MDF-e (manifesto de documentos fiscais eletrônico) |
get_nfe_events | Get events for a NF-e (cancellations, corrections, etc.) |
cancel_nfce | Cancel a NFC-e (nota fiscal de consumidor eletrônica) |
send_correction_letter_nfe | Send a carta de correção eletrônica (CCe) for a NF-e. |
send_correction_letter_cte | Send a carta de correção for a CT-e. |
get_nfe_batch | Get NF-e batch (lote) status by batch ID. |
get_mdfe | Get MDF-e details by ID |
cancel_mdfe | Cancel a MDF-e (manifesto) |
close_mdfe | Close (encerrar) a MDF-e at route end. |
list_empresas | List all companies (empresas) registered in the account. |
upload_certificate | Upload or update an A1 digital certificate (.pfx, base64) for an empresa. |
Authentication
Nuvem Fiscal uses OAuth2 client credentials. The server automatically manages token refresh.
Sandbox / Testing
Nuvem Fiscal supports a homologation environment (ambiente=2) for testing fiscal document emission without affecting real tax systems.
Demo Mode
Set MCP_DEMO=true (or pass --demo) to run the server without contacting the Nuvem Fiscal API. In MCP_DEMO=true mode, create_nfse issues distinct fixture IDs per call within one process and echoes input servico.codigo, valor, and servico.descricao into the response. pdf_url is templated from the fixture id. Other demo tools return static fixtures and are useful for offline walkthroughs and integration smoke tests.
Get your credentials
- Go to Nuvem Fiscal Developer Portal
- Create an account
- Register an application to get OAuth2 credentials
- Set the environment variables
Environment Variables
| Variable | Required | Description |
|---|---|---|
NUVEM_FISCAL_CLIENT_ID | Yes | OAuth2 client ID |
NUVEM_FISCAL_CLIENT_SECRET | Yes | OAuth2 client secret |
Roadmap
v0.2 (planned)
create_cte— Create a CT-e (electronic transport document)get_cte— Get CT-e details by IDcancel_cte— Cancel an issued CT-ecreate_mdfe— Create an MDF-e (electronic freight manifest)get_nfe_events— Get events for an NF-e (cancellation, correction, etc.)
v0.3 (planned)
batch_nfe— Create multiple NF-e in a single requestget_nfe_danfe— Get DANFE PDF for an NF-emanifest_recipient— Manifest recipient awareness of an NF-e
Want to contribute? Open a PR or request a tool.
Links
Enterprise
Need governance, budget limits, and audit trails for agent payments? CodeSpar Enterprise adds policy engine, payment routing, and compliance templates on top of these MCP servers.
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.