About mcp-focus-nfe
mcp-focus-nfe is an MCP server for the Focus NFe service, used to emit, look up and cancel Brazilian electronic fiscal documents such as NFe, NFSe and NFCe. It suits agents and developers handling invoicing in Brazil. A homologation sandbox is available for testing.
Key features
- 01Emit NFe, NFSe and NFCe fiscal documents
- 02Retrieve document details and status
- 03Cancel authorized fiscal documents
- 04Get DANFE PDF download links for NFe
- 05Send correction letters (CCe) for NFe
- 06Register, list and delete webhooks
Use cases
- 01Have an agent issue NFe from sales records
- 02Check NFSe status and cancel when needed
- 03Receive fiscal document events through webhooks
MCP support
This project is an MCP server that exposes 19 tools to MCP clients, covering emission, lookup, cancellation and webhook management for Brazilian fiscal documents.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @codespar/mcp-focus-nfeFOCUS_NFE_TOKENSecretAPI key for focus-nfeLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
19Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| ref | string | Yes | Unique reference ID for this NFe |
| items | array | Yes | NFe items |
| cnpj_emitente | string | Yes | Emitter CNPJ |
| tipo_documento | number | Yes | Document type (0=entrada, 1=saida) |
| forma_pagamento | string | No | Payment form code |
| cpf_destinatario | string | No | Recipient CPF |
| cnpj_destinatario | string | No | Recipient CNPJ |
| natureza_operacao | string | Yes | Operation nature (e.g. 'Venda de mercadoria') |
| nome_destinatario | string | No | Recipient name |
Details
From the project README@codespar/mcp-focus-nfe
MCP server for Focus NFe — NFe, NFSe, and NFCe fiscal document emission
Quick Start
Claude Desktop
Add to ~/.config/claude/claude_desktop_config.json:
{
"mcpServers": {
"focus-nfe": {
"command": "npx",
"args": ["-y", "@codespar/mcp-focus-nfe"],
"env": {
"FOCUS_NFE_TOKEN": "your-token",
"FOCUS_NFE_SANDBOX": "true"
}
}
}
}
Claude Code
claude mcp add focus-nfe -- npx @codespar/mcp-focus-nfe
Cursor / VS Code
Add to .cursor/mcp.json or .vscode/mcp.json:
{
"servers": {
"focus-nfe": {
"command": "npx",
"args": ["-y", "@codespar/mcp-focus-nfe"],
"env": {
"FOCUS_NFE_TOKEN": "your-token",
"FOCUS_NFE_SANDBOX": "true"
}
}
}
}
Tools (19)
| Tool | Purpose |
|---|---|
create_nfe | Create and emit an NFe (nota fiscal eletronica) |
get_nfe | Get NFe details and status by reference |
cancel_nfe | Cancel an authorized NFe (within 24h of emission) |
get_nfe_pdf | Get NFe PDF (DANFE) download URL |
send_correction_letter | Send a correction letter (Carta de Correcao / CCe) for an authorized NFe |
create_nfse | Create and emit an NFSe (nota fiscal de servico) |
get_nfse | Get NFSe details and status by reference |
cancel_nfse | Cancel an authorized NFSe |
create_nfce | Create and emit an NFCe (nota fiscal do consumidor eletronica) |
get_nfce | Get NFCe details and status by reference |
cancel_nfce | Cancel an authorized NFCe |
create_cte | Create and emit a CTe (conhecimento de transporte eletronico) for cargo transport |
get_cte | Get CTe details and status by reference |
cancel_cte | Cancel an authorized CTe |
create_mdfe | Create and emit an MDFe (manifesto eletronico de documentos fiscais) for cargo transport manifest |
close_mdfe | Close/finalize an MDFe (encerramento) after trip completion |
register_webhook | Register a webhook trigger (gatilho) that notifies your URL when fiscal document events occur |
list_webhooks | List all registered webhooks (gatilhos) |
delete_webhook | Delete a registered webhook by ID |
Authentication
Focus NFe uses Basic Auth with the API token as username and empty password.
Sandbox / Testing
Focus NFe provides a homologation environment at homologacao.focusnfe.com.br. Set FOCUS_NFE_SANDBOX=true to use it.
Get your credentials
- Go to Focus NFe
- Create an account
- Get your API token from the dashboard
- Set the
FOCUS_NFE_TOKENenvironment variable
Environment Variables
| Variable | Required | Description |
|---|---|---|
FOCUS_NFE_TOKEN | Yes | API token from Focus NFe |
FOCUS_NFE_SANDBOX | No | Set to "true" for homologation mode |
Roadmap
v0.2 (planned)
create_cte— Create a CT-e (electronic transport document)get_cte— Get CT-e details by IDcorrection_letter— Issue a correction letter for an NF-emanifest_recipient— Manifest recipient awareness of an NF-eget_nfse_pdf— Get PDF for a service invoice (NFS-e)
v0.3 (planned)
batch_nfe— Create multiple NF-e in a single requestbatch_nfse— Create multiple NFS-e in a single request
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.