统计数据查询服务

一个用于查询中国国家统计局和国际主要统计数据库数据的服务,提供多源数据API接入和批量查询功能。

  • by icen-ai
  • TypeScript
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 icen-ai/mcp-cnbs

使用说明

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-cnbs

HTTP传输

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-token

Cloudflare员工

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

许可证

麻省理工学院