CNBS MCP服务器
MCP服务器,用于查询中国国家统计局(NBS)数据和主要国际统计数据库。所有数据都是从真实的API中获取的,没有模拟数据。
数据源
| 来源 | 授权 | 覆盖范围 |
|---|---|---|
| 中国国家统计局 (data.stats.gov.cn) | 无 | 月度/季度/年度/省级国内数据 |
| 世界银行 (api.worldbank.org) | 无 | 200多个国家——GDP、CPI、贸易、人口、FDI、基尼系数等。 |
| 国际货币基金组织DataMapper | 无 | 世界经济展望预测——GDP增长、通货膨胀、政府债务、经常账户 |
| 经合组织 SDMX | 无 | 成员国季度GDP、就业、领先指标 |
| BIS统计 | 无 | 有效汇率、信贷缺口、房地产价格、跨境银行业务 |
| 弗雷德 (美联储) | X-Fred-Api-Key 请求标题 | 美国汇率、人民币/美元、石油、黄金、标准普尔500指数、M2 |
| 国家统计局人口普查 | 无 | 人口(2020年)、经济(2018年)、农业(2016年)普查 |
| 国家统计局各部门 | 无 | 金融、工业、贸易、农业、中国人民银行货币、社会保障、住房、能源 |
FRED API密钥: 免费注册https://fred.stlouisfed.org/docs/api/api_key.html\ 将其作为X-Fred-Api-Key请求标头(HTTP模式)或设置FRED_API_KEY一个是(stdio模式)。
______________________________________________________________________
安装
npx(推荐)
npx mcp-cnbsHTTP传输
npx mcp-cnbs --port 12345全局安装
npm install -g mcp-cnbs
mcp-cnbs______________________________________________________________________
MCP客户端配置
标准输入输出模式(npx)
支持的客户端: Claude Desktop、Cursor、Windsurf、Cherry Studio、Trae、Continue以及所有兼容MCP的客户端。
{
"mcpServers": {
"cnbs": {
"command": "npx",
"args": ["mcp-cnbs"]
}
}
}在FRED支持下:
{
"mcpServers": {
"cnbs": {
"command": "npx",
"args": ["mcp-cnbs"],
"env": {
"FRED_API_KEY": "your_fred_api_key"
}
}
}
}HTTP模式(远程)
支持的客户端: Trae、Cherry Studio和其他支持HTTP传输的客户端。
ModelScope上的免费演示(无FRED):
{
"mcpServers": {
"cnbs": {
"url": "https://mcp.api-inference.modelscope.net/c2ca6ece4e9946/mcp"
}
}
}带FRED的HTTP模式:
{
"mcpServers": {
"cnbs": {
"url": "https://your-cnbs-server/mcp",
"headers": {
"X-Fred-Api-Key": "your_fred_api_key"
}
}
}
}阿里云ModelScope免费公开演示。无需身份验证。\ 对于生产用途, 部署您自己的实例.
______________________________________________________________________
HTTP端点
| 端点 | 方法 | 描述 |
|---|---|---|
/ 或 /mcp | POST | 流式HTTP——初始化会话或发送请求 |
/ 或 /mcp | GET | SSE通知流(需要 Mcp-Session-Id 头球 |
/ 或 /mcp | DELETE | 终止会话(需要 Mcp-Session-Id 头球 |
/sse | GET | 传统SSE模式 |
/message | POST | 遗留SSE消息 |
______________________________________________________________________
工具
NBS核心查询
| 工具 | 说明 |
|---|---|
cnbs_search | 按关键字搜索,返回最新值-- 从这里开始 |
cnbs_batch_search | 在一次通话中批量搜索多个关键字 |
cnbs_economic_snapshot | 中国10个主要宏观指标(GDP、CPI、PPI、PMI、失业率、工业产出、零售额、固定投资、贸易、M2)的快照 |
cnbs_compare | 跨地区或时间段比较数据 |
cnbs_fetch_nodes | 获取类别树节点——接受一个或多个类别 |
cnbs_fetch_metrics | 获取指标列表--接受一个或多个 setIds |
cnbs_fetch_series | 获取时间序列数据 |
cnbs_fetch_end_nodes | 递归获取所有叶子节点 |
NBS参考
| 工具 | 说明 |
|---|---|
cnbs_get_guide | 完整的工具指南(对LLM自我定位有用) |
cnbs_get_regions | GB/T 2260地区代码和名称 |
cnbs_get_categories | NBS类别代码 |
cnbs_list_data_sources | 所有具有工具映射的可用数据源 |
cnbs_fetch_data_from_source | 从任何指定源获取数据 |
cnbs_get_source_categories | 给定来源的类别 |
cnbs_search_in_source | 在特定来源内搜索 |
世界银行
| 工具 | 说明 |
|---|---|
ext_world_bank | 跨国家和年份查询单个指标 |
ext_world_bank_multi | 一次查询多个指标 |
ext_world_bank_indicators | 列出所有支持的世界银行指标 |
国际货币基金组织
| 工具 | 说明 |
|---|---|
ext_imf | 查询IMF WEO数据——接受一个或多个指标 |
ext_imf_indicators | 列出国际货币基金组织支持的指标 |
ext_imf_all_indicators | 完整的IMF DataMapper指标目录 |
经济合作与发展组织
| 工具 | 说明 |
|---|---|
ext_oecd | 按数据集和关键字查询OECD SDMX数据 |
ext_oecd_datasets | 列出经合组织支持的数据集 |
国际清算银行
| 工具 | 说明 |
|---|---|
ext_bis | 查询BIS统计数据--接受一个或多个国家 |
ext_bis_datasets | 列出支持的BIS数据集及其关键模板 |
FRED(美联储)
| 工具 | 说明 |
|---|---|
ext_fred | 查询FRED系列--接受一个或多个系列 |
ext_fred_series | 列出所有支持的FRED系列 |
中国延伸资源
| 工具 | 说明 |
|---|---|
ext_cn_census | 国家统计局人口普查数据(人口、经济、农业) |
ext_cn_department | 国家统计局各部门统计 |
ext_cn_department_list | 所有部门类别和指标关键字 |
跨源比较
| 工具 | 说明 |
|---|---|
ext_global_compare | 同时向世界银行+国际货币基金组织查询各国的相同指标 |
______________________________________________________________________
快速示例
中国经济概览
// Full macro snapshot in one call
cnbs_economic_snapshot()
// Latest single indicator
cnbs_search(keyword="GDP")
// Batch indicators
cnbs_batch_search(keywords=["GDP", "CPI", "城镇化率", "出生率"])
// Regional comparison
cnbs_compare(keyword="GDP", regions=["北京", "上海", "广东"], compareType="region")
// Time series
cnbs_fetch_series(setId="...", metricIds=["..."], periods=["2015YY-2024YY"])国际比较
// China GDP growth vs peers (World Bank)
ext_world_bank(indicator="GDP_GROWTH", countries=["CHN","USA","DEU","JPN","IND"], startYear=2015)
// Multiple indicators for China
ext_world_bank_multi(indicators=["GDP_GROWTH","CPI","UNEMPLOYMENT"], countries=["CHN"], startYear=2010)
// IMF: single indicator
ext_imf(indicators="GDP_GROWTH", countries=["CHN","USA","JPN"], periods=["2022","2023","2024","2025"])
// IMF: multiple indicators in one call
ext_imf(indicators=["GDP_GROWTH","CPI_INFLATION","GOVT_DEBT"], countries=["CHN","USA"], periods=["2020","2021","2022","2023","2024"])
// World Bank + IMF side-by-side
ext_global_compare(wbIndicator="GDP_GROWTH", imfIndicator="GDP_GROWTH", countries=["CHN","USA","DEU","JPN"])BIS&弗雷德
// BIS: single country
ext_bis(dataset="EER", countries="CN", lastNObservations=36)
// BIS: multiple countries in one call
ext_bis(dataset="EER", countries=["CN","US","DE","JP"], lastNObservations=24)
// BIS: credit gap
ext_bis(dataset="CREDIT_GAP", countries=["CN","US"], lastNObservations=20)
// FRED: single series
ext_fred(series="OIL_PRICE_WTI", limit=100, sortOrder="desc")
// FRED: multiple series in one call
ext_fred(series=["FED_FUNDS","CNY_USD","OIL_PRICE_WTI","GOLD_PRICE"], limit=30, sortOrder="desc")国家统计局人口普查和部门
// 2020 Population census
ext_cn_census(type="population")
// PBoC M2 monetary data
ext_cn_department(department="monetary", indicator="M2货币供应量")
// All finance ministry indicators
ext_cn_department(department="finance", fetchAll=true)______________________________________________________________________
NBS类别代码
| 代码 | 类别 | 典型指标 |
|---|---|---|
| 1 | 月度 | CPI、PPI、工业产出、PMI |
| 2 | 季度 | GDP季度增长 |
| 3 | 年 | GDP、人口、城镇化率 |
| 5 | 省级季度 | 按季度划分的省级GDP |
| 6 | 省级年度 | 省级GDP,按年份统计的人口 |
| 7 | 其他/调查 | 住户调查、特别调查 |
NBS时间格式
- 年度:
2024YY,范围["2020YY-2024YY"] - 季度:
2024A/B/C/D(A=Q1,B=Q2,C=Q3,D=Q4),快捷键LAST6/LAST12/LAST18 - 每月:
202401MM,范围["202301MM-202412MM"]
NBS地区代码
遵循GB/T 2260标准。使用 cnbs_get_regions 查看完整列表。
| 地区 | 代码 |
|---|---|
| 国家 | 000000000000 |
| 北京 | 110000000000 |
| 上海 | 310000000000 |
| 广东 | 440000000000 |
| 浙江 | 330000000000 |
| 江苏 | 320000000000 |
______________________________________________________________________
认证
默认情况下不需要身份验证。启用承载令牌身份验证:
stdio/HTTP模式
npx mcp-cnbs --port 12345 --auth-token your-secret-token
# or via env var
MCP_CNBS_AUTH_TOKEN=your-secret-token npx mcp-cnbs --port 12345然后,请求必须包括:
Authorization: Bearer your-secret-tokenCloudflare员工
npx wrangler secret put MCP_CNBS_AUTH_TOKEN______________________________________________________________________
发展
npm install
npm run build
npm run start需求
- Node.js>=18.0.0
- 网络访问
data.stats.gov.cn,api.worldbank.org,www.imf.org,sdmx.oecd.org,stats.bis.org,api.stlouisfed.org
许可证
麻省理工学院
