mcp-fiscal-brasil

mcp
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 7 GitHub stars
Code Gecti
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

MCP server for Brazilian fiscal workflows: CNPJ, NFe, NFSe, SPED, eSocial, and tax automation.

README.md

mcp-name: io.github.dehor-labs/mcp-fiscal-brasil

MCP Fiscal Brasil

A camada open source para agentes de IA trabalharem com compliance fiscal brasileiro

PyPI version Python 3.10+ CI License MIT MCP Compatible Stars Issues

📚 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):

Deploy to Render

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

Yorumlar (0)

Sonuc bulunamadi