Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
Servidor MCP com dados oficiais brasileiros: IBGE, Banco Central, INMET, Câmara e Senado.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
INMET_TOKEN, MCP_LOG_LEVELAls geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"dados-br": {
"command": "uvx",
"args": [
"mcp-dados-br"
],
"env": {
"INMET_TOKEN": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add dados-br --env INMET_TOKEN=your-value --env MCP_LOG_LEVEL=your-value -- uvx mcp-dados-brTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"dados-br": {
"command": "uvx",
"args": [
"mcp-dados-br"
],
"env": {
"INMET_TOKEN": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"dados-br": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-dados-br"
],
"env": {
"INMET_TOKEN": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
MCP_LOG_LEVEL envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 9. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto lucianoon bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: INMET_TOKEN
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.6.0) kam vor 2 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.
In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, Cosas Guapas: buscador de regalos
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Regalos originales por ocasión, persona y presupuesto, con enlaces a guías completas (España).
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
*English version*
Servidor MCP (Model Context Protocol) que expõe dados públicos brasileiros como ferramentas para assistentes de IA: Claude Desktop, Claude Code, Cursor e qualquer cliente MCP.
A forma mais simples, sem instalar nada permanentemente:
uvx mcp-dados-br
Configuração no Claude Desktop:
{
"mcpServers": { "dados-brasil": { "command": "uvx", "args": ["mcp-dados-br"] } } }
Ou no Claude Code:
claude mcp add dados-brasil -- uvx mcp-dados-br
git clone https://github.com/lucianoon/mcp-dados-br
cd mcp-dados-br uv sync
| Fonte | Tools | Descrição |
|---|---|---|
| IBGE/SIDRA | ibge_populacao, ibge_pib, ibge_municipios, ibge_sidra | População, PIB, busca de municípios e consulta genérica a qualquer agregado SIDRA |
| Banco Central | bcb_serie, bcb_cambio, bcb_moedas, bcb_focus | Séries SGS com atalhos nomeados (selic, ipca, cdi...), cotações PTAX, lista de moedas e expectativas do Boletim Focus |
| INMET | inmet_estacoes, inmet_dados | Lista de estações meteorológicas e dados horários observados (dados observacionais exigem token) |
| Câmara dos Deputados | camara_deputados, camara_detalhes_deputado, camara_proposicoes, camara_votacoes_proposicao, camara_agenda, camara_tramitacao | Deputados, proposições, votações, agenda e tramitações |
| Senado Federal | senado_senadores, senado_materias, senado_votacoes | Senadores em exercício, matérias legislativas e votações nominais com placar |
Todas as fontes são APIs oficiais abertas — nenhuma chave de API necessária, exceto os dados horários do INMET (veja abaixo).
Adicione ao arquivo de configuração (claude_desktop_config.json ou mcp.json):
{
"mcpServers": { "mcp-dados-br": { "command": "uv", "args": ["run", "--directory", "/caminho/para/mcp-dados-br", "mcp-dados-br"] } } }
claude mcp add mcp-dados-br -- uv run --directory /caminho/para/mcp-dados-br mcp-dados-br
A listagem de estações (inmet_estacoes) é aberta. Já os dados horários observados (inmet_dados) exigem um token fornecido pelo INMET — solicite em portal.inmet.gov.br e configure a variável de ambiente no cliente MCP:
{
"mcpServers": { "mcp-dados-br": { "command": "uv", "args": ["run", "--directory", "/caminho/para/mcp-dados-br", "mcp-dados-br"], "env": { "INMET_TOKEN": "seu-token" } } } }
Sem o token, as demais 18 ferramentas funcionam normalmente.
Além do stdio padrão, o servidor pode rodar em modo HTTP remoto:
MCP_TRANSPORTE=streamable-http MCP_PORTA=8000 mcp-dados-br
Aponte clientes para http://localhost:8000/mcp. Útil para Docker ou compartilhar o servidor na rede local. Por padrão o servidor escuta só em 127.0.0.1; defina MCP_HOST=0.0.0.0 para aceitar conexões de outras máquinas (a imagem Docker já faz isso).
| Variável | Padrão | Função |
|---|---|---|
MCP_TRANSPORTE | stdio | streamable-http liga o modo HTTP |
MCP_HOST | 127.0.0.1 | Interface de escuta (0.0.0.0 na imagem Docker) |
MCP_PORTA | 8000 | Porta HTTP |
MCP_AUTH_TOKEN | vazio | Se definido, exige Authorization: Bearer em toda requisição |
Risco: sem
MCP_AUTH_TOKEN, o modo HTTP não tem autenticação. Escutando
em
0.0.0.0(como na imagem Docker), qualquer pessoa que alcance a porta pode
chamar as 19 tools, consumir a sua cota nas APIs públicas e usar o seu
INMET_TOKEN. O servidor registra um aviso no log quando sobe assim. Não
publique a porta na internet sem token e prefira um proxy reverso com TLS na
frente: sobre HTTP puro o token trafega em texto claro.
Gere um token longo e aleatório e passe-o ao servidor:
export MCP_AUTH_TOKEN="$(python -c 'import secrets; print(secrets.token_urlsafe(32))')"
MCP_TRANSPORTE=streamable-http mcp-dados-br
Requisições sem o cabeçalho, com outro esquema ou com token diferente recebem 401 com WWW-Authenticate: Bearer. A comparação usa secrets.compare_digest (tempo constante). No cliente, envie o cabeçalho, por exemplo no Claude Code:
claude mcp add --transport http dados-brasil http://localhost:8000/mcp \
--header "Authorization: Bearer $MCP_AUTH_TOKEN"
Em stdio o token não se aplica: o processo só fala com o cliente que o iniciou.
docker build -t mcp-dados-br .
docker run -p 8000:8000 \ -e MCP_AUTH_TOKEN="$MCP_AUTH_TOKEN" \ -e INMET_TOKEN=seu-token \ mcp-dados-br
Para uso só na própria máquina, publique a porta apenas no loopback: docker run -p 127.0.0.1:8000:8000 mcp-dados-br.
Depois de configurar, pergunte diretamente ao assistente:
uv sync --dev
uv run pytest # suíte unitária (mocks) uv run pytest -m integration # consulta as APIs reais uv run ruff check . uv run mypy src
Logs de depuração: configure MCP_LOG_LEVEL=DEBUG no cliente MCP. Para contribuir, leia o CONTRIBUTING.md.
src/mcp_dados_br/
├── server.py # Servidor MCP, registro das tools e escolha do transporte ├── auth.py # Middleware ASGI de autenticação bearer (modo HTTP) ├── validacao.py # Validação dos argumentos das tools (UF, moeda, datas, limites) ├── saida.py # Resultado com texto + structuredContent ├── http.py # Cliente HTTP compartilhado, retry e tratamento de erros ├── payload.py # Leitura defensiva das respostas das APIs (fonte e campo no erro) ├── cache.py # Cache TTL em memória para as respostas das APIs └── tools/ ├── ibge.py # SIDRA v3 + localidades v1 ├── bcb.py # SGS + Olinda (PTAX e Boletim Focus) ├── inmet.py # Estações e dados observacionais ├── camara.py # Dados Abertos da Câmara v2 └── senado.py # Dados Abertos do Senado (LegisSaber)
MCP_AUTH_TOKENdias/ultimas. Os limites também aparecem no inputSchema das tools, e o erro chega ao cliente MCP dizendo o que foi recebido e o que é aceito429/502/503/504isError: true) com a fonte e o campo, ex.: Resposta inesperada de BCB/PTAX: campo 'cotacaoCompra' ausentebcb_serie, bcb_cambio e camara_deputados também devolvem structuredContent com outputSchema (datas ISO, valores numéricos), mantendo o texto como fallbackuvx mcp-dados-br), MCP Registry e SmitheryMIT