使用说明
英国ONS MCP服务器
A. 模型上下文协议(MCP)服务器 英国国家统计局(ONS) CMD API (https://api.beta.ons.gov.uk/v1).
直接从您的MCP兼容助手查询英国政府官方统计数据——通货膨胀、GDP、福祉、贸易、死亡人数等。不需要API密钥。
特性
- 直接ONS访问 --无身份验证,无令牌
- 浏览和搜索 已发布的完整数据集目录
- 维度发现 --查询前检查数据集的维度和有效选项代码
- 真实观察 --提取按地理、时间和任何其他维度过滤的数据点
- 最新数据快捷方式 自动填充合理的默认值
- TypeScript,原生
fetch,零运行时间依赖 超越MCP SDK和Zod - 输入验证 以及可操作的、自我纠正的错误消息
需求
- Node.js>=18.17 (使用全球
fetch和AbortSignal.timeout)
推荐的代理工作流程
ONS观测端点需要以下值 每 数据集的维度,并允许 恰好一个 通配符 *预期流程为:
search_datasets--按关键字查找数据集id(例如。"inflation"->cpih01).get_dataset_dimensions--了解所需的尺寸,并查看示例选项代码。get_observation--请求数据,为每个维度赋予一个值,并使用*对于你想改变的那个。
get_latest_data 是一个方便的包装器:它会自动填充 time="*" 和 geography="K02000001" (英国)和任何单一选项维度。如果数据集需要更多选项,它将返回可用选项,以便您可以切换到 get_observation.
可用工具
| 工具 | 目的 |
|---|---|
list_datasets |
所有数据集的分页列表(limit 1-1000, offset). |
search_datasets |
通过id/标题/描述/关键字进行关键字搜索。 |
get_dataset |
按id列出一个数据集的完整元数据 |
get_dataset_dimensions |
数据集最新版本的维度,包括选项计数和样本。 打电话之前 get_observation. |
get_dimension_options |
浏览一个维度的有效选项代码的完整列表。 |
get_observation |
检索观察结果。每个维度都需要一个值;一个可能是 *. |
get_latest_data |
自动填充的最新观察结果 time="*" / geography=UK 默认值。 |
资源
| URI | 描述 |
|---|---|
ons://popular_datasets |
经过整理、实时验证的常见数据集ID列表。 |
ons://api_info |
API基础URL、身份验证模型和推荐的工作流程。 |
示例
查询CPIH(英国通胀)作为英国范围内的时间序列:
// 1) discover dimensions
get_dataset_dimensions { "dataset_id": "cpih01" }
// -> dimensions: aggregate (122 options, e.g. CP00 "Overall Index"), geography, time
// 2) fetch the Overall Index across all time periods for the UK
get_observation {
"dataset_id": "cpih01",
"dimensions": { "time": "*", "geography": "K02000001", "aggregate": "CP00" }
}
省略必需的维度会返回一个有用的错误,列出缺少的内容和要使用的示例代码,因此代理可以在不猜测的情况下重试。
安装与配置
选项A-npx(已发布包)
无安装步骤;客户端按需运行它。
克劳德桌面版 (claude_desktop_config.json)或 Claude 代码 (.mcp.json):
{
"mcpServers": {
"uk-ons": {
"command": "npx",
"args": ["-y", "uk_ons_mcp_server"]
}
}
}
选项B——本地构建(从源代码)
git clone https://github.com/dwain-barnes/uk-ons-mcp-server.git
cd uk-ons-mcp-server
npm install
npm run build
然后将您的客户端指向构建的入口点(使用绝对路径):
{
"mcpServers": {
"uk-ons": {
"command": "node",
"args": ["/absolute/path/to/uk_ons_mcp_server/dist/index.js"]
}
}
}
在Windows上,使用完整路径,例如 C:\\Users\\you\\uk_ons_mcp_server\\dist\\index.js.
Claude Code也可以从CLI添加它:
claude mcp add uk-ons -- node /absolute/path/to/uk_ons_mcp_server/dist/index.js
发展
npm install
npm run build # compile TypeScript to dist/
npm start # run the built server on stdio
npm run dev # tsc --watch
npm run clean # remove dist/
npm test # build, then run the end-to-end smoke test against the live API
烟雾测试(test/smoke.mjs)使用MCP SDK客户端在stdio上生成构建的服务器,并端到端检查所有七个工具和一个资源。
安全说明
- 只读。 每个工具只执行
GET针对公共国家统计局API的请求;没有任何内容被写入或修改。 - 没有身份验证或秘密。 ONS CMD API是开放和无钥匙的,因此没有令牌可存储或泄漏。
- 输入验证。 数据集ID、版本、版本和维度名称根据严格的字符集进行验证(
[A-Za-z0-9._-],最多100个字符),在发出请求之前,每个路径/查询值都经过URL编码。维度值也可以是单个通配符*. - 有限的反应。 观察结果有上限(用
truncated标志和总计数),以避免淹没模型的上下文。
许可证
麻省理工学院——见 LICENSE.
免责声明 这个项目是 非官方的 并且没有得到英国国家统计局的认可。数据使用仍受ONS条款和开放政府许可证的约束。