Skip to main content

Servidor MCP (Model Context Protocol) para acesso a dados da Brasil API

Project description

MCP Brasil API

Plugando a Brasil API em todos os LLMs através do Model Context Protocol

Visão Geral

MCP Brasil API é um projeto open source que disponibiliza dados da Brasil API através do Model Context Protocol (MCP). Funcionando como um adaptador universal (similar a uma porta USB-C para integrações de IA), este projeto transforma endpoints de dados brasileiros em serviços MCP padronizados, facilitando o acesso a informações locais por assistentes de IA, LLMs e aplicações que utilizam o padrão MCP.

Recursos Disponíveis

  • Consulta de CEP: Obtenha informações detalhadas de endereços a partir de um CEP
  • Consulta de CNPJ: Recupere dados cadastrais de empresas a partir de um CNPJ
  • Consulta de DDD: Consulte estado e cidades atendidas por um DDD brasileiro
  • Consulta de Cambio: Consulte o cambio internacional pareado com o Real
  • Consulta de Bancos: Consulte informações dos bancos através do nome ou codigo bancário

Por que MCP?

Com a crescente demanda por integrações entre LLMs e dados reais, o Model Context Protocol (MCP) oferece:

  • Integração Padronizada: Conecte diversos dados e serviços com um único protocolo
  • Escalabilidade: Adicione ou substitua servidores MCP sem alterar a lógica do cliente
  • Segurança e Eficiência: Gerencie integrações com melhores práticas de segurança e desempenho
  • Flexibilidade: Permite expandir facilmente para novos endpoints da Brasil API conforme necessário

Instalação

# Instale via pip
pip install mcp-brasil-api

# Ou clone o repositório
git clone https://github.com/lucianfialho/mcp-brasil-api
cd mcp-brasil-api
pip install -e .

Configuração

Crie um arquivo .env baseado no .env.example com as seguintes configurações:

API_BASE_URL=https://brasilapi.com.br/api
USER_AGENT=brasil-api/1.0

Uso

Executando o servidor MCP

# Iniciar o servidor
brasil-api-mcp

Configuração com Smithery

O projeto inclui configuração para Smithery, permitindo inicialização rápida:

# Configuração em smithery.yaml
api_base_url: "https://brasilapi.com.br/api"
user_agent: "brasil-api/1.0"

Exemplos de uso com cliente MCP

from mcp.client import McpClient

# Conecte ao servidor MCP Brasil API
client = McpClient("http://localhost:8000")

# Liste as ferramentas disponíveis
tools = client.list_tools()
print(tools)

# Consulte um CEP
cep_info = client.invoke_tool("consultar_cep", "01001-000")
print(cep_info)

# Consulte um CNPJ
cnpj_info = client.invoke_tool("consultar_cnpj", "00.000.000/0001-91")
print(cnpj_info)

# Consulte um DDD
ddd_info = client.invoke_tool("consultar_ddd", "11")
print(ddd_info)

# Consulte um feriados
feriados_info = client.invoke_tool("consultar_feriados", "1989")
print(feriados_info)

# Consulte cotação de moedas comparadas ao Real
cambio_info = client.invoke_tool("consultar_cambio", {"moeda": "USD"}, {"data": "2025-05-02"})
print(cambio_info)

# Consulte cotação de moedas comparadas ao Real
cambio_info = client.invoke_tool("consultar_cambio_info", "USD", "2025-05-02")
print(cambio_info)

# Consulte informações bancárias
banco_info = client.invoke_tool("consultar_banco_info", "1")
print(banco_info)

# Consulte os feriados de um ano
feriados_info = client.invoke_tool("consultar_feriados", "2025")
print(feriados_info)

Integração com LLMs (Claude, ChatGPT, etc.)

from anthropic import Anthropic
from mcp.client import McpClient

# Configure cliente MCP
mcp_client = McpClient("http://localhost:8000")
tools = mcp_client.list_tools()

# Configure o cliente Claude com as ferramentas do MCP
anthropic = Anthropic()
response = anthropic.messages.create(
    model="claude-3-5-sonnet-20240229",
    max_tokens=1000,
    temperature=0,
    system="Você tem acesso a dados brasileiros via MCP.",
    messages=[{
        "role": "user", 
        "content": "Encontre informações sobre o CEP 01001-000"
    }],
    tools=tools  # Registra as ferramentas do MCP Brasil API
)

Estrutura do Projeto

mcp-brasil-api/
├── src/
│   ├── tools/           # Implementações das ferramentas MCP
│   │   ├── cep.py       # Ferramenta para consulta de CEP
│   │   └── cnpj.py      # Ferramenta para consulta de CNPJ
│   ├── utils/           # Funções utilitárias
│   │   ├── api.py       # Cliente HTTP para Brasil API
│   │   ├── formatters.py # Formatação de dados
│   │   └── validators.py # Validação de dados
│   └── config.py        # Configurações da aplicação
├── server.py            # Servidor MCP principal
├── Dockerfile           # Containerização
├── pyproject.toml       # Configuração do pacote Python
└── smithery.yaml        # Configuração para Smithery

Roadmap

  • Consulta de CEP
  • Consulta de CNPJ
  • Consulta de DDD
  • Suporte a câmbio
  • Suporte a bancos e instituições financeiras
  • Suporte a feriados nacionais
  • Taxas e índices econômicos
  • Cotações de moedas

🤝 Contribuições

Contribuições são bem-vindas! Por favor, leia nosso guia de contribuição antes de enviar pull requests.

  1. Faça um fork do projeto
  2. Crie sua branch de recurso (git checkout -b feature/novo-recurso)
  3. Commit suas mudanças (git commit -m 'Adiciona novo recurso')
  4. Push para a branch (git push origin feature/novo-recurso)
  5. Abra um Pull Request

📄 Licença

Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para detalhes.

🙏 Agradecimentos

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_lucianfialho_mcp_brasil_api-0.1.0.tar.gz (16.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_lucianfialho_mcp_brasil_api-0.1.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_lucianfialho_mcp_brasil_api-0.1.0.tar.gz
  • Upload date:
  • Size: 16.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_lucianfialho_mcp_brasil_api-0.1.0.tar.gz
Algorithm Hash digest
SHA256 bda17170f36514cf4d6320d5584e6e23743e97b52bd5d603aaa0a29f1754c0a0
MD5 5b0ccce1cdb3365bd86d5d409e4fffb2
BLAKE2b-256 cee4d4a3715f0692d7d446d46a2af060ff8375da55f908765309991672d5df5a

See more details on using hashes here.

File details

Details for the file iflow_mcp_lucianfialho_mcp_brasil_api-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_lucianfialho_mcp_brasil_api-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_lucianfialho_mcp_brasil_api-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a3ce75d280349f9ebbb1568786633f2f0f2424b0f19859c3018fd2f1d4f7d900
MD5 b582309989e50bfa2da970374a04b384
BLAKE2b-256 4eb212438da72a5bae4d08e0644734fda1fff1be832fcafb002c26bef12cb55e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page