mcp-statdb 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/License +201 -0
- package/README.md +351 -0
- package/README.zh-CN.md +357 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +622 -0
- package/dist/index.js.map +1 -0
- package/llms.txt +603 -0
- package/package.json +67 -0
package/README.zh-CN.md
ADDED
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
# CNBS MCP 服务器
|
|
2
|
+
|
|
3
|
+
中国国家统计局 + 主要国际统计数据库的 MCP 服务器。全部对接真实 API,无任何模拟数据。
|
|
4
|
+
|
|
5
|
+
## 数据源
|
|
6
|
+
|
|
7
|
+
| 数据源 | 认证 | 覆盖范围 |
|
|
8
|
+
|--------|------|---------|
|
|
9
|
+
| **国家统计局 (NBS)** (data.stats.gov.cn) | 无需 | 国内月度/季度/年度/分省全量数据 |
|
|
10
|
+
| **世界银行** (api.worldbank.org) | 无需 | 200+ 国家,GDP/贸易/人口/FDI/基尼系数等 |
|
|
11
|
+
| **IMF DataMapper** | 无需 | WEO 预测:GDP增速/通胀/政府债务/经常账户等 |
|
|
12
|
+
| **OECD SDMX** | 无需 | 成员国季度GDP/就业/综合先行指标/贸易 |
|
|
13
|
+
| **BIS Statistics** | 无需 | 有效汇率/信贷缺口/住宅房价/跨境银行统计 |
|
|
14
|
+
| **FRED(美联储)** | `X-Fred-Api-Key` 请求头 | 美国利率/人民币汇率/原油/黄金/标普500/M2 |
|
|
15
|
+
| **NBS 普查数据** | 无需 | 人口普查(2020)/经济普查(2018)/农业普查(2016) |
|
|
16
|
+
| **NBS 部门统计** | 无需 | 财政/工业/商务/农业/货币金融/社保/房地产/能源 |
|
|
17
|
+
|
|
18
|
+
> **FRED API Key:** 在 https://fred.stlouisfed.org/docs/api/api_key.html 免费申请,通过 `X-Fred-Api-Key` 请求头传入(HTTP 模式),或设置 `FRED_API_KEY` 环境变量(stdio 模式)。
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 安装使用
|
|
23
|
+
|
|
24
|
+
### npx 直接运行(推荐)
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npx mcp-cnbs
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### HTTP 模式
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npx mcp-cnbs --port 12345
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 全局安装
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npm install -g mcp-cnbs
|
|
40
|
+
mcp-cnbs
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## MCP 客户端配置
|
|
46
|
+
|
|
47
|
+
### stdio 模式(npx)
|
|
48
|
+
|
|
49
|
+
**支持的客户端:** Claude Desktop、Cursor、Windsurf、Cherry Studio、Trae、Continue 等所有支持 MCP 的客户端。
|
|
50
|
+
|
|
51
|
+
```json
|
|
52
|
+
{
|
|
53
|
+
"mcpServers": {
|
|
54
|
+
"cnbs": {
|
|
55
|
+
"command": "npx",
|
|
56
|
+
"args": ["mcp-cnbs"]
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
带 FRED 支持:
|
|
63
|
+
|
|
64
|
+
```json
|
|
65
|
+
{
|
|
66
|
+
"mcpServers": {
|
|
67
|
+
"cnbs": {
|
|
68
|
+
"command": "npx",
|
|
69
|
+
"args": ["mcp-cnbs"],
|
|
70
|
+
"env": {
|
|
71
|
+
"FRED_API_KEY": "your_fred_api_key"
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### HTTP 模式(远程访问)
|
|
79
|
+
|
|
80
|
+
**支持的客户端:** Trae、Cherry Studio 等支持 HTTP transport 的客户端。
|
|
81
|
+
|
|
82
|
+
**魔搭免费演示(不含 FRED):**
|
|
83
|
+
```json
|
|
84
|
+
{
|
|
85
|
+
"mcpServers": {
|
|
86
|
+
"cnbs": {
|
|
87
|
+
"url": "https://mcp.api-inference.modelscope.net/c2ca6ece4e9946/mcp"
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**HTTP 模式含 FRED 支持** — 在请求头中携带 API Key:
|
|
94
|
+
```json
|
|
95
|
+
{
|
|
96
|
+
"mcpServers": {
|
|
97
|
+
"cnbs": {
|
|
98
|
+
"url": "https://your-cnbs-server/mcp",
|
|
99
|
+
"headers": {
|
|
100
|
+
"X-Fred-Api-Key": "your_fred_api_key"
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
> 这是阿里云 ModelScope 提供的免费公共演示,无需认证。
|
|
108
|
+
> 正式使用建议自行部署:[在魔搭免费部署](https://modelscope.cn/mcp/servers/thatcoder/cnbs)
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## 端点说明
|
|
113
|
+
|
|
114
|
+
| 端点 | 方法 | 说明 |
|
|
115
|
+
|------|------|------|
|
|
116
|
+
| `/` 或 `/mcp` | POST | Streamable HTTP — 初始化会话或发送请求 |
|
|
117
|
+
| `/` 或 `/mcp` | GET | SSE 通知流(需携带 `Mcp-Session-Id` 请求头) |
|
|
118
|
+
| `/` 或 `/mcp` | DELETE | 终止会话(需携带 `Mcp-Session-Id` 请求头) |
|
|
119
|
+
| `/sse` | GET | 旧版 SSE 模式 |
|
|
120
|
+
| `/message` | POST | 旧版 SSE 消息 |
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## 工具列表
|
|
125
|
+
|
|
126
|
+
### 国家统计局核心查询
|
|
127
|
+
|
|
128
|
+
| 工具 | 功能 |
|
|
129
|
+
|------|------|
|
|
130
|
+
| `cnbs_search` | 关键词搜索,返回最新数据值 — **优先使用** |
|
|
131
|
+
| `cnbs_batch_search` | 批量搜索多个关键词 |
|
|
132
|
+
| `cnbs_economic_snapshot` | 一次获取 10 项核心宏观指标最新值(GDP、CPI、PPI、PMI、失业率、工业增加值、社零、固投、进出口、M2) |
|
|
133
|
+
| `cnbs_compare` | 地区对比 / 时间对比 |
|
|
134
|
+
| `cnbs_fetch_nodes` | 获取分类树节点 — 支持同时传入多个分类代码 |
|
|
135
|
+
| `cnbs_fetch_metrics` | 获取数据集指标列表 — 支持同时传入多个 setId |
|
|
136
|
+
| `cnbs_fetch_series` | 获取历史时间序列 |
|
|
137
|
+
| `cnbs_fetch_end_nodes` | 递归获取所有叶子节点 |
|
|
138
|
+
|
|
139
|
+
### NBS 辅助
|
|
140
|
+
|
|
141
|
+
| 工具 | 功能 |
|
|
142
|
+
|------|------|
|
|
143
|
+
| `cnbs_get_guide` | 获取完整工具指南(适合 LLM 自我定向) |
|
|
144
|
+
| `cnbs_get_regions` | 获取地区代码和名称(GB/T 2260) |
|
|
145
|
+
| `cnbs_get_categories` | 获取所有 NBS 分类代码 |
|
|
146
|
+
| `cnbs_list_data_sources` | 列出所有可用数据源及工具映射 |
|
|
147
|
+
| `cnbs_fetch_data_from_source` | 从指定数据源获取数据 |
|
|
148
|
+
| `cnbs_get_source_categories` | 获取数据源分类信息 |
|
|
149
|
+
| `cnbs_search_in_source` | 在指定数据源中搜索 |
|
|
150
|
+
|
|
151
|
+
### 世界银行
|
|
152
|
+
|
|
153
|
+
| 工具 | 功能 |
|
|
154
|
+
|------|------|
|
|
155
|
+
| `ext_world_bank` | 查询单个指标,支持多国/多年 |
|
|
156
|
+
| `ext_world_bank_multi` | 同时查询多指标,跨国批量对比 |
|
|
157
|
+
| `ext_world_bank_indicators` | 列出所有预置世界银行指标 |
|
|
158
|
+
|
|
159
|
+
### IMF
|
|
160
|
+
|
|
161
|
+
| 工具 | 功能 |
|
|
162
|
+
|------|------|
|
|
163
|
+
| `ext_imf` | 查询 IMF WEO 数据 — 支持同时传入多个指标 |
|
|
164
|
+
| `ext_imf_indicators` | 列出预置 IMF 指标 |
|
|
165
|
+
| `ext_imf_all_indicators` | 获取 IMF DataMapper 完整指标目录 |
|
|
166
|
+
|
|
167
|
+
### OECD
|
|
168
|
+
|
|
169
|
+
| 工具 | 功能 |
|
|
170
|
+
|------|------|
|
|
171
|
+
| `ext_oecd` | 查询 OECD SDMX 数据 |
|
|
172
|
+
| `ext_oecd_datasets` | 列出预置 OECD 数据集 |
|
|
173
|
+
|
|
174
|
+
### BIS
|
|
175
|
+
|
|
176
|
+
| 工具 | 功能 |
|
|
177
|
+
|------|------|
|
|
178
|
+
| `ext_bis` | 查询 BIS 统计 — 支持同时传入多个国家 |
|
|
179
|
+
| `ext_bis_datasets` | 列出 BIS 数据集及键模板 |
|
|
180
|
+
|
|
181
|
+
### FRED(美联储)
|
|
182
|
+
|
|
183
|
+
| 工具 | 功能 |
|
|
184
|
+
|------|------|
|
|
185
|
+
| `ext_fred` | 查询 FRED 系列 — 支持同时传入多个系列 |
|
|
186
|
+
| `ext_fred_series` | 列出所有预置 FRED 系列 |
|
|
187
|
+
|
|
188
|
+
### 国内扩展数据源
|
|
189
|
+
|
|
190
|
+
| 工具 | 功能 |
|
|
191
|
+
|------|------|
|
|
192
|
+
| `ext_cn_census` | 查询 NBS 普查数据(人口/经济/农业普查) |
|
|
193
|
+
| `ext_cn_department` | 按部门查询 NBS 统计指标 |
|
|
194
|
+
| `ext_cn_department_list` | 列出所有部门分类及指标关键词 |
|
|
195
|
+
|
|
196
|
+
### 跨源对比
|
|
197
|
+
|
|
198
|
+
| 工具 | 功能 |
|
|
199
|
+
|------|------|
|
|
200
|
+
| `ext_global_compare` | 同时从世界银行和 IMF 获取同一指标,快速多国横向对比 |
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## 快速示例
|
|
205
|
+
|
|
206
|
+
### 中国宏观经济速览
|
|
207
|
+
|
|
208
|
+
```
|
|
209
|
+
// 一次获取所有核心宏观指标
|
|
210
|
+
cnbs_economic_snapshot()
|
|
211
|
+
|
|
212
|
+
// 单个指标最新值
|
|
213
|
+
cnbs_search(keyword="GDP")
|
|
214
|
+
|
|
215
|
+
// 批量查询
|
|
216
|
+
cnbs_batch_search(keywords=["GDP", "CPI", "出生率", "城镇化率"])
|
|
217
|
+
|
|
218
|
+
// 地区对比
|
|
219
|
+
cnbs_compare(keyword="GDP", regions=["北京", "上海", "广东"], compareType="region")
|
|
220
|
+
|
|
221
|
+
// 历史时间序列(先搜索获取 cid/indic_id)
|
|
222
|
+
cnbs_search(keyword="GDP")
|
|
223
|
+
cnbs_fetch_series(setId="...", metricIds=["..."], periods=["2015YY-2024YY"])
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### 国际数据
|
|
227
|
+
|
|
228
|
+
```
|
|
229
|
+
// G7+中国 GDP 增速对比
|
|
230
|
+
ext_world_bank(indicator="GDP_GROWTH", countries=["CHN","USA","DEU","JPN","GBR","FRA","ITA","CAN"], startYear=2015)
|
|
231
|
+
|
|
232
|
+
// 中国多指标批量查询
|
|
233
|
+
ext_world_bank_multi(indicators=["GDP_GROWTH","CPI","UNEMPLOYMENT","FDI_INFLOWS"], countries=["CHN"], startYear=2010)
|
|
234
|
+
|
|
235
|
+
// IMF 单指标
|
|
236
|
+
ext_imf(indicators="GDP_GROWTH", countries=["CHN","USA","JPN","DEU"], periods=["2022","2023","2024","2025"])
|
|
237
|
+
|
|
238
|
+
// IMF 多指标一次查询
|
|
239
|
+
ext_imf(indicators=["GDP_GROWTH","CPI_INFLATION","GOVT_DEBT"], countries=["CHN","USA"], periods=["2020","2021","2022","2023","2024"])
|
|
240
|
+
|
|
241
|
+
// 世界银行 + IMF 双源交叉验证
|
|
242
|
+
ext_global_compare(wbIndicator="GDP_GROWTH", imfIndicator="GDP_GROWTH", countries=["CHN","USA","DEU","JPN","IND"], startYear=2015)
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### BIS & FRED
|
|
246
|
+
|
|
247
|
+
```
|
|
248
|
+
// BIS 单国
|
|
249
|
+
ext_bis(dataset="EER", countries="CN", lastNObservations=36)
|
|
250
|
+
|
|
251
|
+
// BIS 多国一次查询
|
|
252
|
+
ext_bis(dataset="EER", countries=["CN","US","DE","JP"], lastNObservations=24)
|
|
253
|
+
|
|
254
|
+
// 信贷缺口(系统性金融风险早期预警)
|
|
255
|
+
ext_bis(dataset="CREDIT_GAP", countries=["CN","US"], lastNObservations=20)
|
|
256
|
+
|
|
257
|
+
// FRED 单系列
|
|
258
|
+
ext_fred(series="OIL_PRICE_WTI", limit=100, sortOrder="desc")
|
|
259
|
+
|
|
260
|
+
// FRED 多系列一次查询
|
|
261
|
+
ext_fred(series=["FED_FUNDS","CNY_USD","OIL_PRICE_WTI","GOLD_PRICE"], limit=30, sortOrder="desc")
|
|
262
|
+
|
|
263
|
+
// 人民币兑美元汇率(2020年至今)
|
|
264
|
+
ext_fred(series="CNY_USD", observationStart="2020-01-01")
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### NBS 普查与部门
|
|
268
|
+
|
|
269
|
+
```
|
|
270
|
+
// 第七次全国人口普查
|
|
271
|
+
ext_cn_census(type="population")
|
|
272
|
+
|
|
273
|
+
// 央行货币金融数据
|
|
274
|
+
ext_cn_department(department="monetary", indicator="M2货币供应量")
|
|
275
|
+
|
|
276
|
+
// 财政收支
|
|
277
|
+
ext_cn_department(department="finance", indicator="财政收入")
|
|
278
|
+
|
|
279
|
+
// 查看所有部门分类
|
|
280
|
+
ext_cn_department_list()
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## NBS 分类代码
|
|
286
|
+
|
|
287
|
+
| 代码 | 分类 | 典型指标 |
|
|
288
|
+
|------|------|---------|
|
|
289
|
+
| 1 | 月度数据 | CPI、PPI、工业增加值、PMI |
|
|
290
|
+
| 2 | 季度数据 | GDP季度增速 |
|
|
291
|
+
| 3 | 年度数据 | GDP年度值、人口、城镇化率 |
|
|
292
|
+
| 5 | 分省季度 | 各省GDP季度值 |
|
|
293
|
+
| 6 | 分省年度 | 各省GDP、人口年度值 |
|
|
294
|
+
| 7 | 其他/调查 | 居民调查、专项调查 |
|
|
295
|
+
|
|
296
|
+
## NBS 时间格式
|
|
297
|
+
|
|
298
|
+
- 年度:`2024YY`,范围 `["2020YY-2024YY"]`
|
|
299
|
+
- 季度:`2024A/B/C/D`(A=Q1, B=Q2, C=Q3, D=Q4),快捷 `LAST6/LAST12/LAST18`
|
|
300
|
+
- 月度:`202401MM`,范围 `["202301MM-202412MM"]`
|
|
301
|
+
|
|
302
|
+
## NBS 地区代码
|
|
303
|
+
|
|
304
|
+
遵循 GB/T 2260 标准,使用 `cnbs_get_regions` 获取完整列表。
|
|
305
|
+
|
|
306
|
+
| 地区 | 代码 |
|
|
307
|
+
|------|------|
|
|
308
|
+
| 全国 | `000000000000` |
|
|
309
|
+
| 北京 | `110000000000` |
|
|
310
|
+
| 上海 | `310000000000` |
|
|
311
|
+
| 广东 | `440000000000` |
|
|
312
|
+
| 浙江 | `330000000000` |
|
|
313
|
+
| 江苏 | `320000000000` |
|
|
314
|
+
|
|
315
|
+
---
|
|
316
|
+
|
|
317
|
+
## 鉴权配置
|
|
318
|
+
|
|
319
|
+
默认无需鉴权。可通过 Bearer Token 启用:
|
|
320
|
+
|
|
321
|
+
### stdio / HTTP 模式
|
|
322
|
+
|
|
323
|
+
```bash
|
|
324
|
+
npx mcp-cnbs --port 12345 --auth-token your-secret-token
|
|
325
|
+
# 或环境变量
|
|
326
|
+
MCP_CNBS_AUTH_TOKEN=your-secret-token npx mcp-cnbs --port 12345
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
启用后请求需包含:
|
|
330
|
+
```
|
|
331
|
+
Authorization: Bearer your-secret-token
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
### Cloudflare Workers
|
|
335
|
+
|
|
336
|
+
```bash
|
|
337
|
+
npx wrangler secret put MCP_CNBS_AUTH_TOKEN
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## 开发
|
|
343
|
+
|
|
344
|
+
```bash
|
|
345
|
+
npm install
|
|
346
|
+
npm run build
|
|
347
|
+
npm run start
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
## 环境要求
|
|
351
|
+
|
|
352
|
+
- Node.js >= 18.0.0
|
|
353
|
+
- 网络可访问:`data.stats.gov.cn`、`api.worldbank.org`、`www.imf.org`、`sdmx.oecd.org`、`stats.bis.org`、`api.stlouisfed.org`
|
|
354
|
+
|
|
355
|
+
## 许可证
|
|
356
|
+
|
|
357
|
+
MIT
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#!/usr/bin/env node
|