mcpField
B
boe-mcp

boe-mcp

本地服务
github.com/moureauf金融数据21 天前更新

关于 boe-mcp

boe-mcp 为需要英格兰银行利率、统计序列和货币政策委员会日期的客户端提供 MCP 服务。除历史利率查询外,还可访问任意 IADB 序列,并在内存中缓存响应。

主要功能

  1. 01查询当前基准利率及变动历史
  2. 02查询历史利率和区间统计
  3. 03访问英格兰银行 IADB 序列
  4. 04查询即将举行的 MPC 会议日期
  5. 05在内存中缓存响应

适用场景

  1. 01查看英格兰银行当前基准利率
  2. 02回顾指定日期区间的利率
  3. 03查询 SONIA 或汇率观测值
  4. 04查找即将发布的 MPC 公告日期

MCP 相关

向 MCP 客户端提供英格兰银行利率、IADB 序列和 MPC 日程工具。默认使用 stdio,也可选择 Streamable HTTP。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"moureauf-boe": {
"command": "npx",
"args": [
"-y",
"boe-mcp"
]
}
}
}
启动命令npx -y boe-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmboe-mcp0.2.0

工具

8

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

boe-mcp

npm CI node license MCP Registry

一个 MCP(Model Context Protocol)服务,为 Claude Code — 或任何 MCP 客户端 — 提供实时英格兰银行数据:基准利率(当前水平、变更历史、任意时间段的统计数据,以及过去任意日期生效的利率)、英格兰银行 IADB 统计数据库中的任意序列(SONIA、汇率、公布的抵押贷款利率等数千种数据,并提供精选目录供你开始使用),以及货币政策委员会会议日程。默认通过 stdio 运行(也可选择启用 Streamable HTTP 模式进行远程托管),无需 API 密钥或配置,并在内存中缓存响应,避免重复提问时再次请求英格兰银行。

boe-mcp 演示:调用 get_current_rate 和 get_next_mpc_meeting,返回英格兰银行实时数据

该软件包已作为 boe-mcp 发布到 npm,并附带构建来源证明 — 使用 npx -y boe-mcp 即可安装并运行。

工具

工具描述示例输出
get_current_rate当前基准利率、生效日期,以及该利率已维持的月数{ "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最近 N 次利率变动(默认为 10)——日期、利率,以及相对于之前利率的变动基点数(最早的已知记录为 null){ "entries": [{ "date": "2025-12-18", "rate": 3.75, "changeBps": -25 }, ...], "source": "...", "cachedAt": "..." }
get_rate_at指定历史日期生效的基准利率{ "date": "2020-03-15", "rate": 0.25, "effectiveDate": "2020-03-11", "source": "...", "cachedAt": "..." }
get_rate_stats指定日期范围内基准利率的汇总统计(可选 from/to,默认覆盖完整历史记录):最低/最高利率及各自首次生效日期、按时间加权的平均值、起始/结束利率和净变动基点数{ "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_meeting下一次计划中的 MPC 公告日期及距该日期的天数{ "date": "2026-07-30", "daysUntil": 23, "source": "https://www.bankofengland.co.uk/monetary-policy/upcoming-mpc-dates", "cachedAt": "..." }
get_mpc_dates已公布日程中所有即将到来的 MPC 公告日期,以及距各日期的天数{ "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_series精选的知名 IADB 序列目录(政策利率、市场利率、外汇、家庭利率),包含代码、名称、描述、单位和频率——可用于开始调用 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_series按代码获取 任意 BoE IADB 序列的观测值,可选 ISO 格式的 from/to 日期,以及对最近数据点数量的 limit(1–500,默认 50){ "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 接受任何有效的 IADB 代码(不限于目录中的代码);未知或空代码会返回清晰的错误消息 Unknown or empty IADB series "XXXX" — use list_series for known codes。使用 list_series 查找代码。

如果无法连接 BoE,且存在之前缓存的值,工具会提供缓存数据并附上 "stale": true,以便调用方标明这一情况。如果完全没有缓存,工具会返回清晰的错误消息。

安装

将以下内容添加到 Claude Code 的 settings.json:

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

也可以使用 CLI:

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

将以下内容添加到 claude_desktop_config.json:

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

将以下内容添加到 ~/.cursor/mcp.json:

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

将以下内容添加到 .vscode/mcp.json:

{
  "servers": {
    "boe": {
      "command": "npx",
      "args": ["-y", "boe-mcp"]
    }
  }
}
## HTTP 模式(远程托管)

默认情况下,服务器会作为客户端的子进程,通过 stdio 使用 MCP。若要改为远程托管,请以 Streamable HTTP 模式启动:

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
设置方式默认值
启用 HTTP 模式--http 标志或 BOE_MCP_HTTP_PORT 环境变量关闭(stdio)
端口--http <port>,否则使用 BOE_MCP_HTTP_PORT,再否则使用 30003000
绑定主机BOE_MCP_HTTP_HOST127.0.0.1

端点:POST /mcp(JSON-RPC)、GET /healthz(返回 ok,供托管平台进行健康检查)。传输是无状态的——每个 POST 请求都会由一个全新的服务器实例处理,因此没有可恢复的会话,也没有 SSE 流;GET/DELETE /mcp 会返回 405。这使实例能够安全地在负载均衡器后进行水平扩展。

使用 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"}}}'

安全性:默认绑定地址 127.0.0.1 只接受来自本机的连接,并且在绑定到回环地址时会自动启用 DNS 重绑定防护(Host 标头验证)。将 BOE_MCP_HTTP_HOST=0.0.0.0 会在没有身份验证的情况下,向机器所连接的所有网络开放服务器——只有在反向代理或防火墙能够控制访问者的情况下才这样做(绑定到非回环地址时会禁用 DNS 重绑定防护,因为服务器无法确定合法的公共主机名)。

配置

环境变量默认值说明
BOE_CACHE_TTL_MINUTES60在内存中缓存 BoE 响应的时长(0 表示禁用缓存)
BOE_MCP_HTTP_PORT未设置在此端口启用 HTTP 模式(参见 HTTP 模式)
BOE_MCP_HTTP_HOST127.0.0.1HTTP 模式的绑定主机——0.0.0.0 会将服务器开放到网络;参见上文的安全说明

数据来源

  • 基准利率:英格兰银行统计交互数据库(IADB)的序列 IUDBEDR,通过其公共 CSV 端点获取。无需身份验证或密钥。需要如实说明的是:IADB 并未被官方记录为公共 API——它多年来一直稳定运行,也被广泛使用,但英格兰银行不保证兼容性,因此理论上可能发生破坏性变更。
  • MPC 日期:从 BoE 的公开即将举行的 MPC 日期页面解析。解析器特意避免依赖页面标记(而是扫描可见文本中的日期),因此外观调整不会导致解析失效。

从源代码运行

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

参与贡献与发布

请参阅 CONTRIBUTING.md,了解开发工作流(进行更改、测试、添加工具、版本管理),以及发布流水线如何连接 GitHub、npm 和 MCP 注册表。发布过程已自动化:推送 v* 标签会运行 .github/workflows/publish.yml,该流程会构建、测试,并通过可信发布(OIDC——无需令牌密钥,并附带来源证明)发布到 npm,同时发布到官方 MCP 注册表。具体命令和一次性设置请参阅 RELEASING.md。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。