Skip to main content
ClaudeWave
mouseart2025 avatar
mouseart2025

china-context-mcp

Ver en GitHub

把中文世界的数据源桥接成 AI 工具:今日诗词 + 中国节假日/调休工作日判断(零凭证·免交付)。调研背景见 #AI供给侧缺口

MCP ServersRegistry oficial0 estrellas0 forks● PythonMITActualizado today
ClaudeWave Trust Score
95/100
✓ Verified
Passed
  • ✓Open-source license (MIT)
  • ✓Actively maintained (<30d)
  • ✓Clear description
  • ✓Topics declared
  • ✓Documented (README)
Last scanned: 9/26/2026
Install in Claude Code / Claude Desktop
Method: UVX (Python) · china-context-mcp
Claude Code CLI
claude mcp add china-context-mcp -- uvx china-context-mcp
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "china-context-mcp": {
      "command": "uvx",
      "args": ["china-context-mcp"]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
Casos de uso

Resumen de MCP Servers

# china-context-mcp

把**中文世界的数据源**桥接成 AI 工具。零凭证、免交付、可验证。

🔎 已收录进官方 MCP Registry:`io.github.mouseart2025/china-context-mcp` —— [查看详情](https://registry.modelcontextprotocol.io/v0.1/servers/io.github.mouseart2025/china-context-mcp/versions/latest)

## 为什么做这个

给 AI 提供工具/服务/资源,是未来需求的重要方向。但调研发现一个结构性缺口:

- 国际服务(GitHub / Slack / Notion…)的 MCP server 覆盖中位数约 **1554** 个仓库;
- 中国服务(微信 / 支付宝 / 飞书 / 抖音…)的 MCP 覆盖中位数仅 **88** 个——差 **17.7×**。
  (数据:GitHub Search `「<服务> mcp」 in:name,description`,2026-09-25)

缺口只在「广义中国服务→AI」这一层成立。本仓库是这条「桥接层」方向的**最小可验证载体**:
先把**零凭证、公开 API、对中文 AI 真有用、且没被官方垄断**的数据源接进来。

> ⚠️ 支付宝「支付 MCP」已被官方于 2025-04-15 发布,故本项目**不重复造支付类 MCP**,只接官方未覆盖的真空数据源。

## 当前模块(均零凭证)

| 工具 | 数据源 | 用途 |
|---|---|---|
| `random_poem` | jinrishici.com | 随机一句中国古典诗词(作者/出处/分类),用于中文创作、文化问答、国学陪练 |
| `holiday_info(date)` | timor.tech | 查询中国某日期是否为法定节假日、调休补班工作日、工资倍率 |
| `holiday_summary(year?)` | timor.tech | **年度聚合摘要**:连续假期区间与天数、法定 3 倍工资天数**及具体是哪几天**、调休补班清单、全年总休假天数。省略 year 用当年 |
| `history_today(date?)` | 60s-api.viki.moe | 历史上的今天:某月某日的历史事件列表(标题/年份/简述);省略 date 用今天 |
| `idcard_check(id)` | **本地算法(不联网)** | 中国身份证号校验 + 解析:按 ISO 7064 MOD 11-2 验证校验位,输出出生日期、性别、省级行政区,回显做掩码 |

### `holiday_summary` 为什么是差异化的一层

timor 的两个接口都只给**扁平数据**:`holiday_info` 一次一天,`holiday/year` 一次给全年条目。但它们**给不出**下面这些结论——而这些恰恰是最容易算错的:

```
2026 年中国节假日与调休摘要

【假期区间】共 7 个,合计 33 天(不含补班)
  · 元旦  01-01 ~ 01-03   3天(3倍工资 1 天)
      3倍 1 天:01-01
      2倍 2 天:01-02、01-03
  · 春节  02-15 ~ 02-23   9天(3倍工资 4 天)
      3倍 4 天:02-16、02-17 初一、02-18 初二、02-19 初三
      2倍 5 天:02-15、02-20 初四、02-21 初五、02-22 初六、02-23 初七
  · 清明节  04-04 ~ 04-06   3天(3倍工资 1 天)
      3倍 1 天:04-05
      2倍 2 天:04-04、04-06
  · 劳动节  05-01 ~ 05-05   5天(3倍工资 2 天)
      3倍 2 天:05-01、05-02
      2倍 3 天:05-03、05-04、05-05
  · 端午节  06-19 ~ 06-21   3天(3倍工资 1 天)
      3倍 1 天:06-19
      2倍 2 天:06-20、06-21
  · 中秋节  09-25 ~ 09-27   3天(3倍工资 1 天)
      3倍 1 天:09-25
      2倍 2 天:09-26、09-27
  · 国庆节  10-01 ~ 10-07   7天(3倍工资 3 天)
      3倍 3 天:10-01、10-02、10-03
      2倍 4 天:10-04、10-05、10-06、10-07

【调休补班】共 6 天
  · 01-04 元旦后补班(调休上班,非假日)
  · 02-14 春节前补班(调休上班,非假日)
  · 02-28 春节后补班(调休上班,非假日)
  · 05-09 劳动节后补班(调休上班,非假日)
  · 09-20 中秋节前补班(调休上班,非假日)
  · 10-10 国庆节后补班(调休上班,非假日)

【工资倍率】3倍 13 天 / 2倍 20 天
```

**逐日明细为什么一眼就要看全**:3 倍工资在多数小长假里**只有 1 天**(2026 年元旦 01-01、清明 04-05、端午 06-19、中秋 09-25 才是法定节假当日,其余是周末或调休)。任何「不足 2 天就省略」的省流写法,都会让区间标题里的「(3倍工资 1 天)」变成查不到对应日期的空话。**明细组是区间的等价划分,两者必须逐日对齐**——回归测试用结构断言锁死了这一点。

另外,「2026 年清明节的 3 倍是哪天」这个问题有个易错点:国务院通知写的是「4 月 4 日至 6 日放假」,但**清明节气当天是 4 月 5 日**(2026-04-05 02:39 交节),所以 3 倍工资落在 04-05,不是区间首日 04-04。只看「起止日期」会答错。

**一处必须记住的坑**:合并假期区间要按**日期连续性**,不能按名称。中国法定假常把「春节」拆成 除夕/初一/初二…(且假日条目的 `target` 字段恒为 `-`,无法用于分组),按同名合并会把春节拆成 9 个单日区间,与「春节放 9 天」的用户心智严重不符。

### 外部交叉验证(2026-09-25)

年度聚合的正确性不靠自测自说,已逐项对过公开口径:

| 口径 | 本项目输出 | 第三方来源 |
|---|---|---|
| 2026 全年放假天数合计 | **33 天** | 国务院办公厅《关于 2026 年部分节假日安排的通知》 |
| 其中 3 倍工资天数(法定节假日) | **13 天** | 济南市人民政府12345问答、腾讯新闻(引劳动法第 44 条)、工人日报 |
| 其中 2 倍工资天数(休息日) | **20 天** | 同上(= 33 − 13,官方口径一致) |
| 调休补班(须上班)日 | **6 天**:1/4、2/14、2/28、5/9、9/20、10/10 | China Briefing《China Public Holiday Schedule 2026》同表 |

这四组数字每年都被地方政府与媒体重算发布一遍,说明它同时具备两个属性:
**唯一正确答案的确定性问题** + **每年重做一次的手工劳动**。
AI 直接给出确定答案,正落在工具的价值区间——这是本项目「编排层而非转述层」最实在的一处。

### `idcard_check` 为什么值得单独一提

这是本项目**唯一不依赖第三方 API** 的模块——纯本地算法,永远可用,不会被上游关停或 Cloudflare 拦截。

价值不在"算法稀缺"(Python 有现成库),而在于 **AI 自己做 17 位加权求和 + 模 11 查表极容易算错**:加权因子表错位、索引偏移、X 大小写处理,任何一个小错都会导致校验结论颠倒。把这件事从"AI 现场算"改成"AI 调用一次拿到确定答案",价值是实打实的。

```
[idcard] 11010519491231002X → 有效
  校验位:X 正确(ISO 7064 MOD 11-2)
  出生日期:1949-12-31
  性别:女(顺序码 2 为偶)
  省级行政区:北京市(11)
  回显掩码:110105********X
```

**隐私边界**:只解析国标公开字段,不触姓名、住址等隐私项;回显中间掩码,避免明文回传。

## 已收录进官方 MCP Registry

- 名称:`io.github.mouseart2025/china-context-mcp`
- 状态:`active` / `isLatest=true`(2026-09-25 上线)
- 声明文件:仓库根目录 `server.json`;改动后执行 `mcp-publisher publish` 重新发布
- 注意:`description` 有 **100 字符硬上限**,超了会返回 422

### 和 Registry 上其他「中国服务」的关系

同一批检索(Registry `search=china`,2026-09-25,命中 38 条)里已经有一批人真在做中国侧 MCP。
把位置摆清楚,比假装没有对手有用:

| 服务 | 定位 | 与本项目的关系 |
|---|---|---|
| `com.ainetcafe/netcafe-china` | 远程 HTTP:中国大陆可达性、调休 holidays、身份证/手机号校验 | **功能有重叠**。但它是把号码 POST 到 `ainetcafe.com` 的远端服务;本项目的 `idcard_check` 全程在本地进程内算完,号码不出机器。校验一个身份证还要过一遍别人的服务器,这层差别是隐私级别的 |
| `io.github.pipeworx-io/china-*` | 中国金融数据家族(LPR / A股 / 海关 / 外汇 / 空气质量…),均零凭证 | 走远程 gateway;本项目走本地 stdio,数据面是「节日 / 史 / 诗词 / 证件」这类生活与文化语境,不抢同一批用户 |
| `io.github.bg7iuy/china-phone` | 手机号归属(工信部号段数据) | 不同号码体系,无冲突 |

> ❗**修正一条此前的判断**:本项目早期做过一轮「天气 / 空气质量 MCP 真空」扫描,GitHub Search 结论是 0 个仓库。
> 但 Registry 里其实已有 `cn.pianam.mcp/weather-mcp-china` 与 `io.github.pipeworx-io/china-air-quality`——
> **只扫 GitHub Search 会漏掉已落地的实现,真空判据必须同时看 Registry。**

## 发行面(收录 ≠ 能用,两件事都要看)

**一、被收录并不等于别人能连上。** 2026-09-25 抽样了 Registry 上 40 个带远程端点的服务:
可连且能出工具 **7 个(27%)**,19 个被站点主人拒绝(Cloudflare 1010),14 个因与本网络出口同形错误而无法判定。
Registry 的 `remotes[].url` 是提交者自己填的,没有任何存活校验。收录只是把地址写进一份名单。

**二、目录面:逐条实测(2026-09-25 下午,带阳性/阴性对照)。**

| 站点 | 实测结果 | 判定依据 |
|---|---|---|
| **Glama** | **已收录**:`glama.ai/mcp/servers/mouseart2025/china-context-mcp`,可见 4 个工具(`history_today` / `holiday_info` / `holiday_summary` / `random_poem`),并带 Glama 自评 **A** 的 score badge | 直接 GET 详情页;对照一个假 slug 返回 404 |
| Smithery | 命中仅在 `{"q":"?q=china-context-mcp"}` 里 | 页面**查询串自回显** |
| PulseMCP | 命中仅在 `<input value="…">` 里 | **搜索框自回显** |
| mcp.so | **未收录**;加急发布标 **$39 one-time**,免费走人工 review | `mcp.so/submit` 页原文;未登录态下表单 POST 只回到同一 SPA 页,**拿不到任何提交回执** |
| LobeHub | **未收录**;条目页对已收录项返回 200、对未收录项返回 500 | 阳性对照 `upstash-context7` = 200;org 下只有 `mcp-hello-world`,无公开列表仓库,找不到自提交入口 |

> 这里推翻了先前「Glama / LobeHub 均为 SPA,HTML 里判不出」的说法:
> **Glama 用双段 slug `owner/repo`**(不是单段 `china-context-mcp`),所以先前那轮扫到了一个 SPA 外壳页;
> LobeHub 的条目页是服务端渲染的,200/500 本身就是可用的收录判别器。

> **一个意外收获**:我们从未向 Glama 提交过。它是在官方 Registry 发布后
> 由 Glama 自己的爬虫抓过去的 —— 说明 **Registry 的链接会外溢到第三方目录**,提交 Registry 是有复利的动作。

**三、已做、仍在自动生效的发行动作**(无需人工,爬虫会自己抓):
- 仓库 topics 已设为 `mcp-server` / `model-context-protocol` / `china` / `holiday` / `idcard` / `python`
- 仓库根目录已放 `smithery.yaml` 与 `.mcp.json` —— Smithery 的 scanner 两者都要有,**只有 `smithery.yaml` 会校验失败**
- 官方 Registry 已发布,`status=active`;`glama.json` 已加在根目录,格式经 Glama 自家
  `https://glama.ai/mcp/schemas/server.json` 校验通过(认领凭证,见下)

**四、已自动提交的收录申请**(2026-09-25):

| 目标 | 形态 | 状态 |
|---|---|---|
| [punkpeye/awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-servers)(95.5k★) | PR [#15083](https://github.com/punkpeye/awesome-mcp-servers/pull/15083),插入 Data Platforms 段字母序位 | 已开,标题带 `🤖🤖🤖` 走 CONTRIBUTING 里的 **agent 快通道** |
| [TensorBlock/awesome-mcp-servers](https://github.com/TensorBlock/awesome-mcp-servers)(864★,当日有更新) | issue [#2669](https://github.com/TensorBlock/awesome-mcp-servers/issues/2669),走其 `add-mcp-server` 表单,目标分类 Data Analysis & Business Intelligence | 已开,等待其机器人转 PR |
| Glama 认领 | 仓库根 `glama.json` → `{"maintainers":["mouseart2025"]}` | 已就位,下次同步生效 |

> 前一条「仍需人工的:Glama 认领、mcp.so / LobeHub 表单提交」**作废**。
> Glama 那条其实只要一个 JSON 文件;mcp.so 的免费路径要先登录;LobeHub 压根没有自提交入口。

**五、仍未打通的**:mcp.so(付费或登录态)、LobeHub(无入口,只能等其运营收录或由人去提 PR)。
这两家规则不同、没有统一入口,且都不影响可运行性 —— 收录只影响被发现的概率。

## 安装

已发布 PyPI(v0.1.4,Python ≥ 3.10):

```bash
pip install china-context-mcp
```

若用 `uv`,一行即可(自动解依赖):

```bash
uvx china-context-mcp
```

也可以直接从 GitHub 装(开发版,未经发布流程校验):

```bash
git clone https://github.com/mouseart2025/china-context-mcp.git
cd china-context-mcp
pip install -e .
```

依赖:`mcp`、`fastmcp`(Python ≥ 3.10)。

## 接入 AI 客户端(stdio)

在 Claude Desktop / Cursor / 任意支持 MCP 的客户端配置:

```json
{
  "mcpServers": {
    "china-context": {
      "command": "china-context-mcp"
    }
  }
}
```

或指向模块:

```json
{
  "mcpServers": {
    "china-context": {
      "command": "python",
      "args": ["-m", "china_context_mcp"]
    }
  }
}
```

## 本地验证

```bash
python -m china_context_mcp   # 启动 stdio 服务,由 MCP 客户端连接
```

### 以 HTTP(streamable-http)启动

```bash
python -m china_context_mcp --transport streamable-http --port 8791
# → http://127.0.0.1:8791/mcp
```

> ⚠️ 默认只绑 `127.0.0.1`。要对外暴露需显式传 `--host`,并**自行承担鉴权** ——
> 本服务不带任何鉴权层,直接暴露在公网等于开放一个无限制的出站代理入口。
> 本仓库自身不提供托管端点。

## 已修复的缺陷(公开披露)

### v0.1.4:`holiday_info` 在「上游无数据的年份」会给出自信的错误答案

| 项 | 内容 |
|---|---|
| **受影响版本** | v0.1.0 – v0.1.3 |
| **受影响查询** | 查询**上游尚未收录年份**(如 2027、2028)的日期 |
| **错误表现** | 例如 `holiday_info("2027-01-01")` 返回「法定假日:**否** / 是否工作日:**是** / 工资倍率:1x」 |
| **为什么是错的** | 元旦(1/1)、劳动节(5/1–5/2)、国庆(10/1–10/3)是《全国年节及纪念日放假办法》**直接规定的公历固定法定节假日**,与年度调休、与年份都无关 —— 任何年份都必须是「是」 |
| **根因** | `h = d.get("holiday") or {}`:把「该年份无数据」与「这天确定是普通工作日」压成了同一种状态 |
| **附带矛盾** | 同一服务的 `holiday_summary(2027)` 会说「暂无收录」,两个工具互相打脸 |
| **已修复版本** | **v0.1.4** |
| **修复方式** | 新增**法规常量层**(`statutory.py` + `statutory_dates.json`,离线、不联网、不引入农历库),`holiday_info` 改为三态判别:有数据 / 无数据但属固定法定日 / 无数据且未知 ⇒ **未知一律说「无法确定」,绝不说「否」**;`holiday_summary` 同步回落到同一层 |

> 该缺陷是**纯逻辑**问题,与网络、部署地域无关,任何环境都会复现。
> 每年 11–12 月(查询次年假期的高峰)正是它的高发窗口。

---

## 路线图(真空待接数据源,按稀缺度)

- [x] 历史上的今天(零凭证,已接 60s-api.viki.moe)
- [ ] 空气质量 / 天气(中国,公开源多需 key,待找零凭证源)
- [ ] 成语词典(零凭证)⏸ **暂缓**:已实测 muxiaoguo/oick/oioweb/aa1/codelife/xxapi/qqsuu 等候选,**均无可达的零凭证源**(404 / 隧道拦截 / 空端点),不建立在未验证源上
- [ ] 中国大学 / 专业库(零凭证)

## 许可

MIT
chinaholidayidcardmcp-servermodel-context-protocolpython

Lo que la gente pregunta sobre china-context-mcp

¿Qué es mouseart2025/china-context-mcp?

+

mouseart2025/china-context-mcp es mcp servers para el ecosistema de Claude AI. 把中文世界的数据源桥接成 AI 工具:今日诗词 + 中国节假日/调休工作日判断(零凭证·免交付)。调研背景见 #AI供给侧缺口 Tiene 0 estrellas en GitHub y su última actualización registrada es del 2026-09-25.

¿Cómo se instala china-context-mcp?

+

Puedes instalar china-context-mcp clonando el repositorio (https://github.com/mouseart2025/china-context-mcp) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar mouseart2025/china-context-mcp?

+

Nuestro agente de seguridad ha analizado mouseart2025/china-context-mcp y le ha asignado un Trust Score de 95/100 (tier: Verified). Revisa el desglose completo de comprobaciones superadas y flags en esta página.

¿Quién mantiene mouseart2025/china-context-mcp?

+

mouseart2025/china-context-mcp es mantenido por mouseart2025. La última actividad registrada en GitHub es del 2026-09-25, con 0 issues abiertos.

¿Hay alternativas a china-context-mcp?

+

Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.

Despliega china-context-mcp en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: mouseart2025/china-context-mcp
[![Featured on ClaudeWave](https://claudewave.com/api/badge/mouseart2025-china-context-mcp)](https://claudewave.com/repo/mouseart2025-china-context-mcp)
<a href="https://claudewave.com/repo/mouseart2025-china-context-mcp"><img src="https://claudewave.com/api/badge/mouseart2025-china-context-mcp" alt="Featured on ClaudeWave: mouseart2025/china-context-mcp" width="320" height="64" /></a>

Más MCP Servers

Alternativas a china-context-mcp