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.2.tar.gz (16.7 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.2.tar.gz.

File metadata

  • Download URL: iflow_mcp_lucianfialho_mcp_brasil_api-0.1.2.tar.gz
  • Upload date:
  • Size: 16.7 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.2.tar.gz
Algorithm Hash digest
SHA256 71a61da99d600a92cf0a22fbcb182ca9bd8ad4471aa16246caf946b72c555c36
MD5 84ae56e4eb0aa01be43f07b6a28ac593
BLAKE2b-256 fcb4044431a179dc72845b6f8ac21cd62e8d90e4f032755a3f726480b4879040

See more details on using hashes here.

File details

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

File metadata

  • Download URL: iflow_mcp_lucianfialho_mcp_brasil_api-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 18.2 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4bd1698be8f6d1f620f17cd1f6e4c7d59b7294b5f1f99d5cfb0addb67893432c
MD5 fae4c36572cab3e387d856205846643f
BLAKE2b-256 a178228e33e1fb386031872ea64efff03f45a04b8555c0c2b83fa0962a58ab71

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