About mcp-nfe-io
@codespar/mcp-nfe-io is an MCP server for NFe.io, a Brazilian fiscal document service. It covers NF-e and NFS-e issuance and management, plus CNPJ and CEP lookups. It suits users who need Brazilian invoicing inside an AI assistant.
Key features
- 01Issue, query and cancel NF-e and NFS-e
- 02CNPJ company data lookup
- 03CEP postal code address resolution
- 04PDF and XML link retrieval for invoices
- 05Company and webhook management
- 06Demo mode with canned responses
Use cases
- 01Issue service invoices for customers from a chat session
- 02Verify a company's name and status by CNPJ
- 03Register webhooks to receive invoice event callbacks
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @codespar/mcp-nfe-ioNFEIO_API_KEYSecretAPI key for NFe.io (issuance + query)NFEIO_COMPANY_IDDefault company ID (CNPJ or NFe.io company UUID) to use when not provided per-callLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
22Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| borrower | object | Yes | Service taker. Shape: { federalTaxNumber, name, email?, address? } |
| rpsNumber | number | No | RPS sequential number (optional; auto-assigned if omitted) |
| company_id | string | No | Company id or CNPJ (falls back to NFEIO_COMPANY_ID) |
| description | string | Yes | Service description |
| servicesAmount | number | Yes | Total service amount in BRL |
| cityServiceCode | string | Yes | Municipal service code (varies per city) |
| rpsSerialNumber | string | No | RPS series (optional) |
| additionalInformation | string | No | Free-form notes on the invoice |
Details
From the project README@codespar/mcp-nfe-io
MCP server for NFe.io — NF-e / NFS-e fiscal document emission plus CNPJ and CEP lookups for Brazil.
Quick Start
Claude Desktop
Add to ~/.config/claude/claude_desktop_config.json:
{
"mcpServers": {
"nfe-io": {
"command": "npx",
"args": ["-y", "@codespar/mcp-nfe-io"],
"env": {
"NFEIO_API_KEY": "your-api-key",
"NFEIO_COMPANY_ID": "your-company-id-or-cnpj"
}
}
}
}
Claude Code
claude mcp add nfe-io -- npx @codespar/mcp-nfe-io
Cursor / VS Code
Add to .cursor/mcp.json or .vscode/mcp.json:
{
"servers": {
"nfe-io": {
"command": "npx",
"args": ["-y", "@codespar/mcp-nfe-io"],
"env": {
"NFEIO_API_KEY": "your-api-key",
"NFEIO_COMPANY_ID": "your-company-id-or-cnpj"
}
}
}
}
Tools (22)
| Tool | Purpose |
|---|---|
create_nfse | Issue an NFS-e (service invoice). |
get_nfse | Fetch a single NFS-e by id. |
cancel_nfse | Cancel an NFS-e. |
list_nfse | List NFS-e with pagination + optional flowStatus filter. |
email_nfse | Email the PDF of an already-issued NFS-e to a recipient. |
create_nfe | Issue an NF-e (product invoice). |
get_nfe | Fetch a single NF-e by id. |
cancel_nfe | Cancel an NF-e. |
list_nfe | List NF-e with pagination + optional status filter. |
get_nfe_pdf | Return the DANFE PDF URL for an issued NF-e. |
consult_cnpj | Look up Brazilian company data (razão social, status, address) by CNPJ. |
consult_cep | Resolve a Brazilian postal code (CEP) to a full address. |
correct_nfe | Issue a Carta de Correção (CC-e) for an authorized NF-e. |
get_nfe_xml | Return the authorized XML URL for an NF-e. |
get_nfse_pdf | Return the PDF URL for an issued NFS-e. |
get_nfse_xml | Return the XML URL for an issued NFS-e. |
list_companies | List companies registered on the NFe.io account. |
get_company | Fetch a single company by id or CNPJ. |
create_company | Provision a new company on NFe.io. |
list_webhooks | List webhook endpoints registered for a company (invoice event callbacks). |
create_webhook | Register a webhook endpoint. |
delete_webhook | Remove a webhook endpoint by id. |
Environment
| Variable | Required | Notes |
|---|---|---|
NFEIO_API_KEY | yes | Issuance + query scopes. NFe.io supports splitting this into two keys; either is fine. |
NFEIO_COMPANY_ID | no | Default company id (or CNPJ). Per-call company_id arguments override it. |
Hosts
NFe.io segments its API across three hostnames. This server maps tools to the correct one automatically:
api.nfse.io— product invoicesapi.nfe.io— service invoices + company managementnfe.api.nfe.io— lookups (CNPJ, CEP)
Demo mode
Pass --demo or set MCP_DEMO=true to return canned responses without hitting the network. Useful for documentation, screencasts, and CI.
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.
Authentication
Set these environment variables before launching the server:
NFEIO_API_KEY(required, secret) — API key for NFe.io (issuance + query)NFEIO_COMPANY_ID— Default company ID (CNPJ or NFe.io company UUID) to use when not provided per-call
Issue credentials at the provider's developer portal: https://nfe.io/docs.
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.