mcp-fiscal-brasil
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 7 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
MCP server for Brazilian fiscal workflows: CNPJ, NFe, NFSe, SPED, eSocial, and tax automation.
mcp-name: io.github.dehor-labs/mcp-fiscal-brasil
A camada open source para agentes de IA trabalharem com compliance fiscal brasileiro
📚 Documentação · Instalação · Ferramentas · Workflows · Roadmap · Contribuindo
O que é
mcp-fiscal-brasil conecta assistentes de IA, ERPs, CRMs e automações internas ao universo fiscal brasileiro: CNPJ, CPF, Simples Nacional, NFe, NFSe, SPED, eSocial, certidões e due diligence de fornecedores.
Ele não tenta ser um catálogo genérico de dados públicos. A proposta é ser uma vertical de produto: transformar consultas fiscais fragmentadas em tools seguras, composáveis e prontas para agentes.
Workflows que vendem sozinho
| Workflow | Tool principal | Resultado |
|---|---|---|
| Due diligence de fornecedor | risk_score_supplier |
Score 0-100, risco, fatores e recomendação de contratação |
| Triagem em lote | consultar_empresas_lote |
Vários CNPJs em uma chamada, com compliance + score por empresa |
| Compliance de CNPJ | analyze_cnpj_compliance |
CNPJ + Simples/MEI + CNAE em relatório acionável |
| Validação de NFe | validate_nfe_full |
XML + chave + emissor, com issues estruturadas |
| Sumário de SPED | summarize_sped |
Resumo executivo, período, empresa, blocos e inconsistências |
| Planejamento tributário | compare_tax_regimes |
Comparativo MEI, Simples, Lucro Presumido e Lucro Real |
🌎 Demo ao vivo
Web UI demo hospedada (Render free tier, pode demorar 30s no primeiro acesso pra acordar):
Você pode clicar no botão acima pra hostear sua própria instância em 3 cliques no Render.com.
Veja docs/getting-started/deploy.md para outras opções (Fly.io, auto-host via Docker).
✨ Novidades v0.2.x
Versão de evolução com 4 frentes:
- 8 novas fontes de dados: CNAE, CPF, Simples Nacional, MEI, IBGE, CEP, Empresa consolidada, Certidões
- Tools agênticas (alto nível):
analyze_cnpj_compliance,risk_score_supplier,consultar_empresas_lote,compare_tax_regimes,validate_nfe_full,summarize_sped - Múltiplas interfaces: além do servidor MCP, agora CLI (
mcp-fiscal), REST API (mcp-fiscal-api) com Web UI demo, e wrapper Node.js em preview (npm-wrapper/) - Production-grade: HTTP client com retry exponencial, cache pluggável, rate-limit por host, logs JSON estruturados
# CLI standalone
mcp-fiscal cnpj 12345678000190
mcp-fiscal compliance 12345678000190
mcp-fiscal regimes --faturamento 500000 --setor serviços --folha 180000
# REST API + Web UI demo
mcp-fiscal-api # http://localhost:8000
# Node.js
import { analyzeCompliance } from "mcp-fiscal-brasil";
Veja CHANGELOG.md para detalhes.
Por que este projeto existe?
O Brasil tem uma das infraestruturas fiscais mais complexas do mundo. São 27 SEFAZs estaduais, NFe + NFSe + SPED + eSocial, milhares de municípios com portais próprios e milhões de empresas tentando manter conformidade fiscal todos os dias.
Antes deste projeto, integrar IA com qualquer dado fiscal brasileiro exigia desenvolvimento customizado, autenticação em múltiplos portais, e conhecimento profundo de cada API governamental. Cada consulta era um projeto.
MCP Fiscal Brasil resolve isso em uma linha: instale o servidor, conecte ao seu assistente de IA, e comece a fazer perguntas em linguagem natural. O servidor cuida de tudo, consultando diretamente Receita Federal, BrasilAPI e SEFAZs estaduais.
🎬 Demonstração
Você: "Consulte o CNPJ 00.000.000/0001-91 e liste os sócios"
IA: Empresa: Banco do Brasil S.A.
Fundada em: 12/10/1808
Situação: ATIVA
CNAE principal: 6422100 - Bancos múltiplos com carteira comercial
Sócios (QSA):
- União Federal - Sócio-Administrador (60,82%)
- BNDESPar - Sócio (10,32%)
Você: "A chave NFe 35240300623904000197550010000012341234567890 é válida?"
IA: Chave válida!
Estado de origem: SP (São Paulo)
Data de emissão: março/2024
CNPJ emitente: 00.623.904/0001-97
Número da nota: 000001234
Dígito verificador: correto (módulo 11)
Você: "A empresa 12.345.678/0001-90 é do Simples Nacional?"
IA: Sim! Empresa optante do Simples Nacional.
Data de opção: 01/01/2020
Modalidade: MEI - Microempreendedor Individual
Você: "O SEFAZ de São Paulo está online agora?"
IA: Status SEFAZ SP: OPERACIONAL
Serviço de autorização de NFe funcionando normalmente.
Última verificação: agora.
🛠 Ferramentas Disponíveis
Ferramentas de baixo nível para dados fiscais e ferramentas agênticas de alto nível para decisão operacional.
Tools agênticas
| Ferramenta | Quando usar |
|---|---|
analyze_cnpj_compliance |
Relatório consolidado de compliance fiscal de um CNPJ |
risk_score_supplier |
Aprovar, investigar ou recusar fornecedor |
consultar_empresas_lote |
Triar carteira de fornecedores com score e erro por CNPJ |
compare_tax_regimes |
Comparar regimes tributários por cenário |
validate_nfe_full |
Validar uma NFe completa a partir do XML |
summarize_sped |
Transformar SPED em resumo executivo |
✅ Ferramentas Funcionais (usáveis agora)
Funcionam 100% sem chaves de API. Instale e use imediatamente.
| Módulo | Ferramenta | Descrição | API |
|---|---|---|---|
| CNPJ | consultar_cnpj |
Dados completos: razão social, sócios, CNAE, endereço | BrasilAPI (grátis) |
| CNPJ | consultar_simples_nacional |
Optante Simples/MEI com datas de entrada e exclusão | BrasilAPI (grátis) |
| NFe | validar_chave_nfe |
Valida dígito + extrai UF, CNPJ, data, número | Offline |
| NFe | consultar_status_sefaz |
Status do webservice SEFAZ por estado | BrasilAPI (grátis) |
| NFe | consultar_nfe |
Consulta NFe completa pela chave de 44 dígitos | BrasilAPI (grátis) |
| CPF | validar_cpf |
Validação de dígito verificador | Offline |
| SPED | analisar_sped |
Analisa arquivo EFD/ECD/ECF: período, empresa, erros | Offline |
| SPED | listar_registros_sped |
Filtra registros por tipo (C100, E110, etc.) | Offline |
| eSocial | listar_eventos_esocial |
Catálogo de eventos filtrável por grupo | Offline |
| eSocial | validar_evento_esocial |
Validação básica de estrutura XML | Offline |
🧭 Ferramentas de Orientação
Retornam URLs e instruções - exigem ação manual nos portais governamentais.
| Módulo | Ferramenta | O que retorna |
|---|---|---|
| NFSe | consultar_nfse |
URL do portal NFSe do município + sistema utilizado |
| Certidões | consultar_certidao_federal |
URL do e-CAC para emissão de CND federal |
| Certidões | consultar_certidao_fgts |
URL do portal Caixa para consulta do CRF |
🧪 Ferramentas Experimentais
Requerem APIs pagas ou têm cobertura limitada.
| Módulo | Ferramenta | Limitação |
|---|---|---|
| CNPJ | listar_cnpjs_por_nome |
Receita Federal não disponibiliza busca por nome em API pública |
🚀 Instalação
Três linhas para começar:
pip install mcp-fiscal-brasil
claude mcp add fiscal-brasil -- mcp-fiscal-brasil
# Pronto! Pergunte ao Claude sobre qualquer empresa brasileira.
# Ou use como biblioteca Python:
from mcp_fiscal_brasil import FiscalBrasil
Via uv (recomendado)
uv add mcp-fiscal-brasil
A partir do código-fonte
git clone https://github.com/DeHor-Labs/mcp-fiscal-brasil.git
cd mcp-fiscal-brasil
pip install -e .
⚙️ Configuração Detalhada
Claude Desktop
Edite ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) ou %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"fiscal-brasil": {
"command": "mcp-fiscal-brasil"
}
}
}
Reinicie o Claude Desktop. As ferramentas fiscais e agênticas aparecem automaticamente.
Claude Code (CLI)
claude mcp add fiscal-brasil -- mcp-fiscal-brasil
Cursor
Adicione ao .cursor/mcp.json do projeto:
{
"mcpServers": {
"fiscal-brasil": {
"command": "mcp-fiscal-brasil"
}
}
}
VS Code + Continue
Adicione ao settings.json:
{
"continue.mcpServers": {
"fiscal-brasil": {
"command": "mcp-fiscal-brasil"
}
}
}
Docker
docker run --rm -i \
-e MCP_FISCAL_LOG_LEVEL=INFO \
ghcr.io/dehor-labs/mcp-fiscal-brasil:latest
🔑 Variáveis de Ambiente
Todas as variáveis são opcionais. O servidor funciona sem nenhuma configuração.
| Variável | Descrição | Padrão |
|---|---|---|
MCP_FISCAL_LOG_LEVEL |
Nível de log: DEBUG, INFO, WARNING |
INFO |
BRASILAPI_BASE_URL |
URL base da BrasilAPI (para ambientes customizados) | https://brasilapi.com.br/api |
HTTP_TIMEOUT |
Timeout em segundos para chamadas HTTP | 30 |
Modos de Uso
O mcp-fiscal-brasil funciona de quatro formas:
| Modo | Para quem | Como |
|---|---|---|
| MCP Server | Usuários de IA (Claude, Cursor, GPT) | Instala e configura no assistente |
| SDK Python | Desenvolvedores de apps fiscais/contábeis | Importa e usa no código |
| CLI | Operação, scripts e automações locais | Usa mcp-fiscal ... |
| REST API + Web UI | Integração HTTP e demo pública | Usa mcp-fiscal-api |
🐍 Uso como Biblioteca Python (SDK)
Além de funcionar como servidor MCP, você pode importar e usar diretamente no seu código Python - sem servidor, sem configuração extra.
Início Rápido
import asyncio
from mcp_fiscal_brasil import FiscalBrasil
async def main():
async with FiscalBrasil() as fiscal:
empresa = await fiscal.consultar_cnpj("00.000.000/0001-91")
print(empresa["razao_social"]) # Banco do Brasil S.A.
print(empresa["situacao_cadastral"]) # ATIVA
asyncio.run(main())
Validações Offline (sem API, instantâneo)
from mcp_fiscal_brasil import FiscalBrasil
fiscal = FiscalBrasil()
# Validações locais - sem chamada de rede
print(fiscal.validate_cpf("529.982.247-25")) # True
print(fiscal.validate_cnpj("11.222.333/0001-81")) # True / False
print(fiscal.validate_chave_nfe("3524...44 digitos...")) # dict com detalhes
Integração com FastAPI
from fastapi import FastAPI
from mcp_fiscal_brasil import FiscalBrasil
app = FastAPI()
fiscal = FiscalBrasil()
@app.get("/cnpj/{cnpj}")
async def consultar(cnpj: str):
async with fiscal:
return await fiscal.consultar_cnpj(cnpj)
Integração com Django
# views.py
import asyncio
from mcp_fiscal_brasil import FiscalBrasil
from django.http import JsonResponse
def consulta_cnpj(request, cnpj):
async def buscar():
async with FiscalBrasil() as fiscal:
return await fiscal.consultar_cnpj(cnpj)
dados = asyncio.run(buscar())
return JsonResponse(dados)
Cadastro Automático de Fornecedor (exemplo ERP)
import asyncio
from mcp_fiscal_brasil import FiscalBrasil
async def cadastrar_fornecedor(cnpj: str, db_session):
async with FiscalBrasil() as fiscal:
if not fiscal.validate_cnpj(cnpj):
raise ValueError("CNPJ inválido")
dados = await fiscal.consultar_cnpj(cnpj)
simples = await fiscal.consultar_simples_nacional(cnpj)
await db_session.execute(
"INSERT INTO fornecedores (cnpj, razao_social, simples) VALUES (?, ?, ?)",
[cnpj, dados["razao_social"], simples["optante"]]
)
Validação em Lote
import asyncio
from mcp_fiscal_brasil import FiscalBrasil
fiscal = FiscalBrasil()
documentos = ["529.982.247-25", "000.000.000-00", "11.222.333/0001-81"]
resultados = [
{"doc": doc, "válido": fiscal.validate_cpf(doc) or fiscal.validate_cnpj(doc)}
for doc in documentos
]
# [{'doc': '529.982.247-25', 'válido': True}, ...]
🏗 Arquitetura
Claude / GPT / Cursor / qualquer cliente MCP
|
| Model Context Protocol (stdio)
v
mcp-fiscal-brasil
|
+------+-------+--------+--------+--------+-------+--------+
| | | | | | | |
CNPJ CPF NFe NFSe Simples SPED eSocial Certidões
| | | | | | | |
v v v v v v v v
BrasilAPI -- SEFAZ Portais Receita Parser Catálogo URLs
ReceitaWS estaduais municipais Federal local local governamentais
Fontes de dados:
- BrasilAPI - CNPJ, CEP, bancos (open source, sem autenticação)
- ReceitaWS - CNPJ (fallback)
- SEFAZs estaduais - Status de serviço e consulta de NFe
- Receita Federal - Simples Nacional e certidões (orientação de acesso)
📍 Roadmap
- v0.1.x - Consultas CNPJ, CPF, NFe, Simples, SPED
- v0.2.x - CLI, REST API, Web UI demo, wrapper Node.js em preview e tools agênticas
- v0.3.x - Lote de empresas, cache persistente, mais fontes públicas e relatórios exportáveis
- v0.4.x - NFSe por provedor/município, validação XSD NFe/SPED e eSocial versionado
- v1.0.0 - Suite fiscal com LGPD audit, contratos de API estáveis e cobertura operacional ampliada
🤝 Contribuindo
Contribuições são bem-vindas!
# 1. Clone o repo ou seu fork
git clone https://github.com/DeHor-Labs/mcp-fiscal-brasil.git
cd mcp-fiscal-brasil
# 2. Instale dependências de desenvolvimento
pip install -e ".[dev]"
pre-commit install
# 3. Crie sua branch
git checkout -b feature/meu-recurso
# 4. Implemente, teste e verifique
pytest
ruff check src/
mypy src/
# 5. Abra um Pull Request
Veja as issues abertas - especialmente as marcadas com good first issue.
Cada módulo segue o padrão client.py + schemas.py + tools.py, o que torna simples adicionar novos módulos fiscais.
📄 Licença
MIT - veja LICENSE para detalhes.
Feito com 💚💛 para o Brasil
Conectando inteligência artificial ao sistema fiscal mais complexo do mundo
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found