MCP NFS-e
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP NFS-e Liste as NFS-e emitidas entre 01/08/2026 e 31/08/2026"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP NFS-e (ISSWeb / Fiorilli)
Servidor MCP (Model Context Protocol) para buscar, baixar, consultar e (em breve) emitir Notas Fiscais de Serviço eletrônicas (NFS-e) em prefeituras que usam o sistema ISSWeb da Fiorilli — padrão nacional (com IBS/CBS).
Multiempresa: cada empresa/escritório configura o próprio login e senha e passa a buscar e baixar suas notas de forma segura e prática. Feito para escritórios de contabilidade gerenciarem vários clientes. Pode ser acionado por IA (Claude) ou por scripts. Padrão: Ariquemes/RO — adaptável a outras cidades que usem o mesmo sistema.
Estado atual
Recurso | Status |
Buscar/listar NFS-e por período (portal) | ✅ Pronto e testado |
Baixar XML + DANFSe (PDF) de uma nota ou de um período inteiro | ✅ Pronto e testado |
Consultar dados completos por chave de acesso (WebService) | ✅ Pronto e testado |
Buscar empresa por CNPJ | ✅ Pronto e testado |
Multi-cliente (vários clientes, cada um com seu login) | ✅ Pronto |
Emitir (lançar) NFS-e | 🚧 Em construção — modo PREVIEW, nunca salva |
🔒 Segurança: tudo é somente leitura. A emissão está sendo construída em modo preview (preenche os campos mas não salva no portal); o salvar real exigirá dupla trava (
NFSE_PERMITIR_EMISSAO=true+confirmar: true).
Related MCP server: Prefeitura MT Cuiabá: NFS-e
Como funciona
Portal (Playwright): faz login com usuário/senha e usa a tela de pesquisa para listar as notas de um período e baixar o XML de cada uma e a DANFSe (PDF).
WebService Nacional: consulta aberta (sem login) pela chave de acesso — devolve o XML completo no layout nacional.
Instalação
npm install
npx playwright install chromiumConfiguração
1 empresa — .env
Copie .env.example para .env:
NFSE_USUARIO=seu_usuario_do_portal
NFSE_SENHA=sua_senha_do_portal
NFSE_CNPJ=00000000000000
NFSE_INSCRICAO_MUNICIPAL=Vários clientes — clientes.json (contabilidade)
Copie clientes.example.json para clientes.json (fica fora do Git):
{
"cliente_a": { "nome": "Empresa A", "usuario": "...", "senha": "...", "cnpj": "...", "im": "..." },
"cliente_b": { "nome": "Empresa B", "usuario": "...", "senha": "...", "cnpj": "...", "im": "..." }
}Depois é só passar empresa: "cliente_a" nas ferramentas.
Ferramentas MCP
Ferramenta | O que faz |
| Lista as NFS-e de um período (portal) |
| Baixa XML + DANFSe (PDF) de uma nota |
| Baixa o XML (e opcionalmente a DANFSe) de todas as notas do período |
| Dados completos da nota pela chave (WebService) |
| XML bruto (layout nacional) pela chave |
| Consultas alternativas (WebService) |
| Dados cadastrais de uma empresa por CNPJ |
| Lista os clientes do |
| Testa a conexão com o WebService |
Todas as ferramentas de portal aceitam empresa (multi-cliente, opcional).
Teste rápido (sem MCP)
# Listar notas de um período (precisa de login/senha no .env):
node scripts/pesquisar-teste.js 01/08/2026 31/08/2026
# Baixar XML + DANFSe de uma nota:
node scripts/baixar-teste.js 5 2026-08-01 2026-08-31
# Consultar pela chave (WebService, sem login):
node scripts/testar-conexao.js 11000231268076089000103000000000000526085425791624Uso como MCP
Claude Desktop — claude_desktop_config.json
{
"mcpServers": {
"nfse": {
"command": "node",
"args": ["CAMINHO_DO_PROJETO/src/index.js"],
"env": { "NFSE_USUARIO": "usuario", "NFSE_SENHA": "senha" }
}
}
}Claude Code (CLI)
claude mcp add nfse --env NFSE_USUARIO=usuario --env NFSE_SENHA=senha -- node "CAMINHO_DO_PROJETO\src\index.js"Segurança
Credenciais ficam no
.env/clientes.jsonde cada instalação — nunca vão para o Git.Tudo é read-only; a emissão fica travada (preview) até liberação explícita.
Ferramenta não oficial, sem vínculo com a Prefeitura ou com a Fiorilli.
Estrutura
src/
index.js servidor MCP (10 ferramentas)
config.js configuração multiempresa
clientes.js gestão multi-cliente (clientes.json)
cnpj.js busca de empresa por CNPJ
soap-client.js cliente SOAP + parser
nacional.js envelopes do WebService Nacional
parse-nfse.js XML nacional -> JSON limpo
consultar.js camada de consulta (WebService)
portal/
login.js login no portal (Playwright)
pesquisar.js lista notas por período
baixar.js baixa XML + DANFSe (nota ou período)
scripts/
pesquisar-teste.js testa a listagem
baixar-teste.js testa o download de uma nota
testar-conexao.js testa a consulta (WebService)
testar-mcp.js smoke test do protocolo MCP
inspecionar-portal.js mapeia campos de uma tela do portalRoadmap
Emissão (preview → real): preencher a tela de emissão (tomador por CNPJ, serviço, valores) e salvar só com a dupla trava de segurança.
Paginação no download em lote (períodos com muitas notas).
Multicidade: catálogo de prefeituras ISSWeb/Fiorilli.
Available Tools
10 toolsnfse_baixar_notaBaixar XML de uma NFS-eA
Baixa o XML e a DANFSe (PDF) de uma nota (pelo numero). Precisa do periodo que contem a nota.
Inputs: numero (required), dataFinal (required), dataInicial (required), destino, +3 more.
nfse_baixar_periodoBaixar XML de todas as NFS-e de um periodoA
Baixa, em lote, o XML de todas as notas de um periodo para uma pasta. Ideal para escritorios de contabilidade fecharem a competencia de um cliente.
Inputs: dataFinal (required), dataInicial (required), destino, empresa, +2 more.
nfse_buscar_notasBuscar/listar NFS-e por periodo (portal)B
Lista as NFS-e emitidas num periodo, direto no portal da prefeitura (login/senha). Datas em AAAA-MM-DD ou dd/MM/aaaa. Filtro opcional por faixa de numero. Ideal para escritorios de contabilidade baixarem as notas de um cliente.
Inputs: dataFinal (required), dataInicial (required), empresa, numeroFinal, +2 more.
nfse_consultar_cnpjConsultar dados de empresa por CNPJA
Busca os dados cadastrais de uma empresa pelo CNPJ (razao social, endereco, etc.) em base publica. Util para preencher os dados do tomador antes da emissao.
Inputs: cnpj (required).
nfse_consultar_por_chaveConsultar NFS-e por chave de acessoA
Consulta uma NFS-e pela chave de acesso (50 digitos, aceita com ou sem espacos). Metodo mais confiavel. Retorna todos os dados da nota.
Inputs: chave (required).
nfse_consultar_por_id_dpsConsultar NFS-e por Id do DPSA
Consulta uma NFS-e pelo Id do DPS (ex.: "DPS1100023...").
Inputs: idDps (required).
nfse_consultar_por_numeroConsultar NFS-e por numero/serie (DPS)A
Consulta uma NFS-e pelo numero do DPS (e serie) do prestador configurado. Observacao: para notas emitidas pelo portal, prefira a consulta por chave.
Inputs: numero (required), serie.
nfse_listar_empresasListar empresas cadastradas (multi-cliente)A
Lista as empresas configuradas no clientes.json, sem expor as senhas.
Inputs: no named parameters.
nfse_obter_xmlObter XML da NFS-eA
Retorna o XML bruto (bloco NFSe, layout nacional) de uma nota pela chave de acesso.
Inputs: chave (required).
nfse_statusStatus / testar conexaoA
Mostra a configuracao e testa a conexao com o WebService Nacional de NFS-e de Ariquemes. A consulta e aberta (nao exige login nem certificado).
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Each tool serves a distinct purpose: status check, query by different identifiers (key, number, ID DPS), raw XML retrieval, CNPJ lookup, listing and downloading notes by period, and listing configured companies. Overlap is minimal and descriptions clarify differences, so an agent can readily select the correct tool.
All tools follow a consistent `nfse_` prefix and snake_case, but the verb usage varies (consultar, obter, buscar, baixar, listar, status). While readable and predictable, there is slight inconsistency in how similar actions are named (e.g., consultar vs. buscar).
With exactly 10 tools, the server is well-scoped for its purpose—covering status, queries, downloads, and configuration listing without redundancy. This is within the ideal 3–15 range and each tool earns its place.
The tool surface covers the core lifecycle of consulting and downloading NFS-e documents, including CNPJ lookup and bulk period downloads. The only notable gap is the lack of an emission (create) tool, but the server appears intentionally read-only for accounting use cases, so this is acceptable.
Related MCP Connectors
Issue and manage Brazilian fiscal documents: NF-e for goods, NFS-e for services.
Issue Brazilian service invoices (NFS-e) via Emissor Nacional, no digital certificate
Notas fiscais eletrônicas brasileiras: consulta, análise, manifestação e emissão de NFS-e.
Brazilian e-invoicing (NF-e, NFC-e, NFS-e): issue, cancel and query fiscal documents, plus AP/AR.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAllows consultation of NFS-e (electronic service invoices) from the Brazilian Federal Revenue official source, with a single read-only tool.MIT
- AlicenseNot gradedqualityDmaintenanceEnables querying official electronic service invoices (NFS-e) from the Cuiabá city government in Brazil, providing read-only access to official data.MIT
- AlicenseNot gradedqualityDmaintenanceEnables querying official electronic service invoice (NFS-e) data from the Recife city government through a read-only, hosted MCP server with pay-per-use prepaid credits.MIT
- AlicenseNot gradedqualityDmaintenanceEnables read-only consultation of NFS-e (electronic service invoices) from the official source of the Farroupilha city hall. Works with any MCP client over HTTP.MIT