boe-mcp

Dados ao vivo do Banco da Inglaterra via MCP — taxa básica (atual, histórico, estatísticas), qualquer série IADB (SONIA, câmbio, taxas de hipoteca) e datas das reuniões do MPC. Nenhuma autenticação necessária.

Documentação

boe-mcp

npm CI node license MCP Registry

Um servidor MCP (Model Context Protocol) que fornece ao Claude Code — ou a qualquer cliente MCP — dados ao vivo do Banco da Inglaterra: a taxa básica (nível atual, histórico de alterações, estatísticas em qualquer período e a taxa em vigor em qualquer data passada), qualquer série do banco de dados estatístico IADB do BoE (SONIA, taxas de câmbio, taxas de hipotecas cotadas e milhares de outras, com um catálogo selecionado para começar) e o cronograma de reuniões do Comitê de Política Monetária. Ele opera via stdio por padrão (com um modo HTTP Streamable opcional para hospedagem remota), não requer chave de API ou configuração e armazena respostas em cache na memória para que perguntas repetidas não acessem novamente o BoE.

boe-mcp demo: calling get_current_rate and get_next_mpc_meeting, returning live Bank of England data

Publicado no npm como boe-mcp com proveniência de build — instale e execute com npx -y boe-mcp.

Ferramentas

FerramentaDescriçãoExemplo de saída
get_current_rateTaxa básica atual, data de vigência, meses mantidos neste nível{ "rate": 3.75, "effectiveDate": "2025-12-18", "monthsHeld": 6, "source": "https://www.bankofengland.co.uk/boeapps/iadb/...", "cachedAt": "2026-07-07T04:11:28Z" }
get_rate_historyÚltimas N alterações de taxa (padrão 10) — data, taxa, variação em pontos-base em relação à anterior (null para a entrada mais antiga conhecida){ "entries": [{ "date": "2025-12-18", "rate": 3.75, "changeBps": -25 }, ...], "source": "...", "cachedAt": "..." }
get_rate_atA taxa básica em vigor em uma data histórica específica{ "date": "2020-03-15", "rate": 0.25, "effectiveDate": "2020-03-11", "source": "...", "cachedAt": "..." }
get_rate_statsEstatísticas resumidas da taxa básica em um intervalo de datas (opcional from/to, padrão histórico completo): mín/máx com a data em que cada nível foi aplicado pela primeira vez, média ponderada por tempo, taxas inicial/final e variação líquida em pontos-base{ "from": "2025-01-01", "to": "2025-12-31", "min": { "rate": 3.75, "date": "2025-12-18" }, "max": { "rate": 4.75, "date": "2025-01-01" }, "average": 4.2514, "startRate": 4.75, "endRate": 3.75, "changeBps": -100, "source": "...", "cachedAt": "..." }
get_next_mpc_meetingData do próximo anúncio agendado do MPC e dias até ele{ "date": "2026-07-30", "daysUntil": 23, "source": "https://www.bankofengland.co.uk/monetary-policy/upcoming-mpc-dates", "cachedAt": "..." }
get_mpc_datesTodas as datas de anúncios futuros do MPC no cronograma publicado, cada uma com dias até ela{ "dates": [{ "date": "2026-07-30", "daysUntil": 23 }, { "date": "2026-09-17", "daysUntil": 72 }, ...], "source": "https://www.bankofengland.co.uk/monetary-policy/upcoming-mpc-dates", "cachedAt": "..." }
list_seriesCatálogo selecionado de séries IADB conhecidas (taxas de política, taxas de mercado, câmbio, taxas domésticas) com código, nome, descrição, unidade e frequência — um ponto de partida para get_series{ "series": [{ "code": "IUDSOIA", "name": "SONIA (Sterling Overnight Index Average)", "description": "...", "unit": "percent per annum", "frequency": "daily (business days)" }, ...], "note": "get_series also accepts any other IADB code..." }
get_seriesBusca observações para qualquer série IADB do BoE por código, com datas ISO opcionais from/to e um limit (1–500, padrão 50) nos pontos mais recentes{ "seriesCode": "IUDSOIA", "name": "SONIA (Sterling Overnight Index Average)", "unit": "percent per annum", "frequency": "daily (business days)", "points": [{ "date": "2025-12-19", "value": 3.69 }, ...], "source": "...", "cachedAt": "..." }

get_series aceita qualquer código IADB válido (não apenas os catalogados); um código desconhecido ou vazio retorna uma mensagem limpa de Unknown or empty IADB series "XXXX" — use list_series for known codes. Use list_series para descobrir códigos.

Se o BoE estiver inacessível e um valor em cache existir, as ferramentas servem os dados em cache com "stale": true para que o chamador possa sinalizar a ressalva. Sem cache algum, elas retornam uma mensagem de erro limpa.

Instalação

Adicione ao seu Claude Code settings.json:

{
  "mcpServers": {
    "boe": {
      "command": "npx",
      "args": ["-y", "boe-mcp"]
    }
  }
}

Ou use a CLI:

claude mcp add boe -- npx -y boe-mcp
Claude Desktop

Adicione a claude_desktop_config.json:

{
  "mcpServers": {
    "boe": {
      "command": "npx",
      "args": ["-y", "boe-mcp"]
    }
  }
}
Cursor

Adicione a ~/.cursor/mcp.json:

{
  "mcpServers": {
    "boe": {
      "command": "npx",
      "args": ["-y", "boe-mcp"]
    }
  }
}
VS Code

Adicione a .vscode/mcp.json:

{
  "servers": {
    "boe": {
      "command": "npx",
      "args": ["-y", "boe-mcp"]
    }
  }
}

Modo HTTP (hospedagem remota)

Por padrão, o servidor fala MCP via stdio como um processo filho do cliente. Para hospedá-lo remotamente, inicie-o no modo HTTP Streamable:

npx -y boe-mcp --http                  # listen on http://127.0.0.1:3000/mcp
npx -y boe-mcp --http 8080             # explicit port
BOE_MCP_HTTP_PORT=8080 npx -y boe-mcp  # env var instead of the flag
ConfiguraçãoComoPadrão
Habilitar modo HTTPflag --http ou variável de ambiente BOE_MCP_HTTP_PORTdesligado (stdio)
Porta--http <port>, senão BOE_MCP_HTTP_PORT, senão 30003000
Host de vinculaçãoBOE_MCP_HTTP_HOST127.0.0.1

Endpoints: POST /mcp (JSON-RPC), GET /healthz (retorna ok, para verificações de saúde da plataforma de hospedagem). O transporte é sem estado — cada POST é atendido por uma nova instância do servidor, portanto não há sessões para retomar e nenhum stream SSE; GET/DELETE /mcp retornam 405. Isso torna as instâncias seguras para escalar horizontalmente atrás de um balanceador de carga.

Experimente com curl:

curl -X POST http://127.0.0.1:3000/mcp \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"curl","version":"0"}}}'

Segurança: a vinculação padrão de 127.0.0.1 aceita apenas conexões da máquina local, e a proteção contra rebinding de DNS (validação de cabeçalho Host) é habilitada automaticamente para vinculações de loopback. Definir BOE_MCP_HTTP_HOST=0.0.0.0 expõe o servidor, sem autenticação, a todas as redes às quais a máquina está conectada — faça isso apenas atrás de um proxy reverso ou firewall que controle quem pode alcançá-lo (a proteção contra rebinding de DNS é desabilitada para vinculações não-loopback, pois o servidor não pode saber o hostname público legítimo).

Configuração

Variável de ambientePadrãoDescrição
BOE_CACHE_TTL_MINUTES60Por quanto tempo armazenar em cache as respostas do BoE na memória (0 desativa o cache)
BOE_MCP_HTTP_PORTnão definidoHabilita o modo HTTP nesta porta (veja Modo HTTP)
BOE_MCP_HTTP_HOST127.0.0.1Host de vinculação para o modo HTTP — 0.0.0.0 expõe o servidor à rede; veja a nota de segurança acima

Fontes de dados

  • Taxa básica: o Banco de Dados Estatístico Interativo do Banco da Inglaterra (IADB), série IUDBEDR, via seu endpoint CSV público. Sem autenticação, sem chave. Ressalva honesta: o IADB não é oficialmente documentado como uma API pública — tem sido estável por muitos anos e é amplamente usado, mas o Banco não faz promessas de compatibilidade, então uma mudança disruptiva é possível em princípio.
  • Datas do MPC: analisadas da página pública de datas futuras do MPC do BoE. O analisador evita deliberadamente depender da marcação da página (ele escaneia o texto visível em busca de datas), então redesenho cosmético não o quebrará.

Executando a partir do código-fonte

git clone https://github.com/moureauf/boe-mcp.git
cd boe-mcp
npm install
npm run build
npm start            # runs the stdio server

Contribuindo e publicando

Veja CONTRIBUTING.md para o fluxo de trabalho de desenvolvimento (fazer alterações, testar, adicionar ferramentas, versionamento) e como o pipeline de publicação conecta GitHub, npm e o registro MCP. A publicação é automatizada: enviar uma tag v* executa .github/workflows/publish.yml, que compila, testa e publica no npm via publicação confiável (OIDC — sem segredo de token, com atestado de proveniência) e no registro oficial do MCP. Comandos exatos e configuração única estão em RELEASING.md.

Licença

MIT