Pular para conteúdo

REST API

API REST do mcp-fiscal-brasil via FastAPI.

Expoe as principais ferramentas fiscais como endpoints HTTP. Util para integrar com sistemas que não falam MCP (frontends web, automação no-code, microservicos legados).

Executar

mcp-fiscal-api

ou

uvicorn mcp_fiscal_brasil.api:app --reload

OpenAPI docs em http://localhost:8000/docs (Swagger UI).

health

health()

Retorna status do serviço.

cnpj_lookup async

cnpj_lookup(cnpj)

Consulta dados cadastrais de uma empresa pelo CNPJ.

cpf_validate async

cpf_validate(cpf)

Valida CPF brasileiro (verificacao offline).

cep_lookup async

cep_lookup(cep)

Consulta endereco pelo CEP.

simples_lookup async

simples_lookup(cnpj)

Consulta situacao da empresa no Simples Nacional.

ibge_municipio async

ibge_municipio(código)

Consulta dados de um municipio pelo código IBGE.

nfe_chave_validate async

nfe_chave_validate(chave)

Valida formato e digito verificador da chave de NFe.

nfe_status_sefaz async

nfe_status_sefaz(uf=Query(None, description='UF especifica (2 letras). Sem esse parametro, consulta todas as UFs.'))

Consulta o status operacional dos webservices SEFAZ (NfeStatusServico4).

Requer certificado digital A1 configurado no servidor (NFE_CERTIFICADO_PATH / NFE_CERTIFICADO_SENHA) - mTLS é exigência de transporte de todo webservice SEFAZ, inclusive consulta de status. Sem certificado configurado, responde 503 (indisponibilidade de configuração, não uma falha de UF). Em caso de falha pontual de rede em uma UF específica, essa UF é omitida da resposta em vez de derrubar a chamada inteira com 500.

O resultado por UF é cacheado em memória por até 60 segundos: dentro dessa janela, chamadas repetidas não disparam nova consulta mTLS real à SEFAZ.

fiscal_certificado_status async

fiscal_certificado_status()

Informa se há certificado A1 configurado, sem expor identidade do titular.

Endpoint sem autenticação: retorna apenas configurado/válido/validade_fim. Nunca expõe o arquivo do certificado, a senha, o titular ou o CNPJ - reconhecimento (recon) de identidade não é necessário para o chamador saber se "há certificado configurado e válido".

nfe_validate_full async

nfe_validate_full(req)

Parse XML + válida chave + verifica situação do emissor.

Aceita xml (conteúdo XML inline) ou xml_path (caminho de arquivo, legado).

sped_summarize async

sped_summarize(req)

Sumario executivo de arquivo SPED.

agentic_compliance async

agentic_compliance(cnpj)

Compliance fiscal consolidado (CNPJ + Simples + MEI + CNAE).

agentic_supplier async

agentic_supplier(cnpj, estrito=Query(False, description='Criterios estritos'))

Score de risco para due diligence de fornecedor.

agentic_regimes

agentic_regimes(faturamento_anual=Query(..., gt=0), setor=Query(...), folha_pagamento_anual=Query(None, ge=0))

Comparativo MEI/Simples/Lucro Presumido/Lucro Real.

root

root()

Web UI demo (htmx).

run

run()

Entry point para o comando mcp-fiscal-api.