mcp-fiscal-brasil

mcp-fiscal-brasil

Connects AI agents to Brazilian tax compliance data (CNPJ, CPF, NFe, SPED, eSocial) and provides tools for due diligence, risk scoring, and tax regime comparison.

Category
Visit Server

README

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

<p align="center"> <img src="assets/banner.svg" width="800" alt="MCP Fiscal Brasil"> </p>

<p align="center"> <strong>A camada open source para agentes de IA trabalharem com compliance fiscal brasileiro</strong> </p>

<p align="center"> <a href="https://pypi.org/project/mcp-fiscal-brasil/"><img src="https://img.shields.io/pypi/v/mcp-fiscal-brasil?color=009c3b&label=PyPI" alt="PyPI version"></a> <a href="https://www.python.org/downloads/"><img src="https://img.shields.io/badge/python-3.10%2B-002776?logo=python&logoColor=white" alt="Python 3.10+"></a> <a href="https://github.com/DeHor-Labs/mcp-fiscal-brasil/actions/workflows/ci.yml"><img src="https://github.com/DeHor-Labs/mcp-fiscal-brasil/actions/workflows/ci.yml/badge.svg" alt="CI"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/licenca-MIT-FFDF00?labelColor=002776" alt="License MIT"></a> <a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatível-7c3aed" alt="MCP Compatible"></a> <img src="https://img.shields.io/github/stars/DeHor-Labs/mcp-fiscal-brasil?style=flat&color=009c3b" alt="Stars"> <img src="https://img.shields.io/github/issues/DeHor-Labs/mcp-fiscal-brasil?color=FFDF00&labelColor=002776" alt="Issues"> </p>

<p align="center"> <a href="https://dehor-labs.github.io/mcp-fiscal-brasil/">📚 Documentação</a> · <a href="#-instalação">Instalação</a> · <a href="#-ferramentas-disponíveis">Ferramentas</a> · <a href="#-workflows-agênticos">Workflows</a> · <a href="#-roadmap">Roadmap</a> · <a href="#-contribuindo">Contribuindo</a> </p>


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

  • [x] v0.1.x - Consultas CNPJ, CPF, NFe, Simples, SPED
  • [x] 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.


<p align="center"> Feito com 💚💛 para o Brasil <br> <sub>Conectando inteligência artificial ao sistema fiscal mais complexo do mundo</sub> </p>

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured