瑞典货币政策数据MCP服务器
 
SwemoMCO是一个非官方组织 货币政策数据MCP服务器 瑞典央行开业 API在 模型-上下文-协议 (MCP)微服务。它将原始REST端点转换为 类型化Python工具 其可以由LLM或人类通过任何MCP客户端调用。
本版README假定您正在使用 阿斯特拉uv 用于依赖性管理和执行。
______________________________________________________________________
目录
______________________________________________________________________
为什么存在
处理货币政策数据可能很复杂:原始API 需要手工制作的查询和不同系列的知识。 本项目:
- 隐藏HTTP管道 干净的异步Python接口,
- 将每个系列作为 MCP工具 LLM可发现——允许
Claude Desktop和其他MCP客户端工具用于获取瑞典语 按需提供宏观数据。
截至2020年,瑞典央行的服务现在包括预测值和 已实现(观测)数据 一旦官方数据公布。这 使数据集适合 历史分析 (例如“什么 2022年的通货膨胀真的发生了吗?“)和 预测查询 (例如,“瑞典央行对明年GDP的预测是什么?”)。
______________________________________________________________________
基础数据
政策轮次
瑞典央行每年发布四到五次新的预测。 每份出版物都有标签 YYYY:I (例如2025:2 2025年第二次发布)。
系列标识符
每个时间序列名称都遵循以下模式
COUNTRY‑FREQUENCY‑AREA‑DECOMPOSITION‑UNIT‑ADJUSTED例子: SEQGDPNAYCA → 瑞典(SE),季度(Q),国内生产总值(GDP), 国民账户分解(NA), *y/y* 改变(Y),日历 已调整(CA).探索目录
GET /forecasts/series_ids预测年份和观察结果
每 政策回合 为关键业务的预测带来了新的“年份” 宏观经济变量。与此同时,随着实际结果数据的公布, 瑞典央行更新了其 已实现的观测。这意味着您可以:
- 针 特定的政策回合(例如。
"2024:1")只看预测
从那一轮开始,以及通过那一轮可以获得的任何观察结果。
- 使用
"latest"检索 所有历史观察 (最终实现
当今已知的价值观) 加 最新的预测年份。这是理想的 历史分析——特别是如果你想看到最终的、修订的或 实际值而不是旧的预测。
预测元数据示例:
{
"revision_dtm": "2024‑07‑02T08:55:00Z",
"forecast_cutoff_date": "2024‑06‑18",
"policy_round": "2024:3",
"policy_round_end_dtm": "2024‑07‑02T09:30:00Z"
}______________________________________________________________________
MCP服务器的工作原理
建筑
┌─────────────────────────────────────────────────────────┐
│ FastMCP Server (src/swemo_mcp/server.py) │
│ │
│ • registers ≈30 *tools* (one per economic series) │
│ • exposes them on stdio / SSE / HTTP │
└───────────────▲──────────────────────────────▲──────────┘
│ │
async httpx LLM / user
│ │
┌───────────────┴────────────┐ ┌────────┴──────────┐
│ Riksbank REST API │ │ mcp‑cli / ChatGPT │
└────────────────────────────┘ └───────────────────┘services/monetary_policy_api.py–瘦异步包装器
自动的 指数回退 (HTTP 429上的最大重试次数)。
tools/monetary_policy_tools.py–每个都有一个声明性函数
系列;docstring同时作为LLM提示。
- Pydantic v2型号 在……里面
models.py确保每个响应都有
预期的架构。
工具目录
| 工具 | 系列ID | 描述 |
|---|---|---|
get_gdp_data | SEQGDPNAYCA | GDP同比,日历调整 |
get_unemployment_data | SEQLABUEASA | 劳动力调查失业率 |
get_cpi_data | SEMCPINAYNA | 标题CPI同比 |
| … | … | _总共≈30个系列-运行 list_series_ids() 查看完整列表。_ |
每个工具签名为:
async def get__data(policy_round: str | None = None) -> MonetaryPolicyDataResponse通过 policy_round="2024:3" 用别针固定年份;省略以完成 历史。有关最终历史数据,请通过 policy_round="latest" 以便 该工具合并了所有已实现(观察到)的数据点。
______________________________________________________________________
安装
先决条件: - Python≥3.12(使用typing.TypeAlias/PEP 604工会) - 星光大道uv≥0.2.0
使用一个命令克隆并设置项目:
uv syncuv sync 安装中声明的所有生产和开发依赖项 pyproject.toml,根据需要创建虚拟环境,并锁定 精确的版本,因此每个贡献者或CI管道都使用相同的堆栈。
______________________________________________________________________
Claude桌面集成
编辑您的 claude_desktop_config.json 要添加Kolada MCP服务器:
Docker镜像(本地构建)
"SwemoMCP": {
"args": [
"run",
"-i",
"--rm",
"--name",
"swemo-mcp-managed",
"swemo-mcp:local"
],
"command": "docker",
"env": {}
}通过PyPI预构建容器
"SwemoPyPI": {
"args": ["swemo-mcp"],
"command": "/Users/hugi/.cargo/bin/uvx"
}本地UV执行(无Docker)
替换 [path to kolada-mcp] 使用您的本地目录:
"SwemoLocal": {
"args": [
"--directory",
"[path to kolada-mcp]/src/kolada_mcp",
"run",
"kolada-mcp"
],
"command": "uv"
}更新后重新启动Claude Desktop。
用作图书馆
import asyncio
from swemo_mcp.tools import get_policy_rate_data
async def main():
from swemo_mcp.query import ForecastRequest
req = ForecastRequest(policy_round="2023:4", include_realised=True)
data = await get_policy_rate_data(req)
print(data.vintages[0].observations[:5]) # first 5 observations
asyncio.run(main())因为所有内容都是类型化和异步的,所以您可以直接集成这些工具 进入笔记本电脑、仪表板或其他服务。
______________________________________________________________________
码头工人
该项目附带了一个多阶段的Dockerfile,它使用 uv 在期末考试中 层,因此容器构建受益于确定性依赖解析。
docker build -t swemo-mcp:latest .
docker run -i --rm swemo-mcp:latest | mcp chat如果你愿意 Docker Compose 对于开发,示例 compose.yaml 说明了如何挂载源目录和热重载更改。
______________________________________________________________________
发展
- 设置环境:
uv sync --dev- 在开发模式下使用live-reload运行服务器 (要求
mcp dev):
uv run mcp dev src/swemo_mcp/server.py- 打开MCP检查器 测试和调试:
- 运行测试套件 (pytest+asyncio):
uv run pytest -q- 格式和lint 自动使用Ruff:
uv run ruff check . --fix______________________________________________________________________
许可证
根据 Apache 2.0 许可证。请参阅 LICENSE 为了 全文。
______________________________________________________________________
免责声明
- 这是一个 非官方的 瑞典央行数据的MCP服务器。这
API的基础可能会发生变化,并且此项目可能并不总是 反映最新更新。
- 瑞典央行没有参与这一项目的开发
项目。数据按“原样”提供,不提供任何形式的保证。
- 瑞典央行的数据受其自身使用条款的约束。请参考
这 瑞典央行API门户网站 为了 更多信息。

