Skip to main content
Glama
mouseart2025

china-context-mcp

by mouseart2025

china-context-mcp

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

🔎 已收录进官方 MCP Registry:io.github.mouseart2025/china-context-mcp —— 查看详情

mcp-name: io.github.mouseart2025/china-context-mcp

为什么做这个

给 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,只接官方未覆盖的真空数据源。

Related MCP server: 命盘 Mingpan

当前模块(均零凭证)

工具

数据源

用途

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(95.5k★)

PR #15083,插入 Data Platforms 段字母序位

已开,标题带 🤖🤖🤖 走 CONTRIBUTING 里的 agent 快通道

TensorBlock/awesome-mcp-servers(864★,当日有更新)

issue #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):

pip install china-context-mcp

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

uvx china-context-mcp

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

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 的客户端配置:

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

或指向模块:

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

本地验证

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

以 HTTP(streamable-http)启动

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 月(查询次年假期的高峰)正是它的高发窗口。


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

  • 历史上的今天(零凭证,已接 60s-api.viki.moe)

  • 空气质量 / 天气(中国,公开源多需 key,待找零凭证源)

  • 成语词典(零凭证)⏸ 暂缓:已实测 muxiaoguo/oick/oioweb/aa1/codelife/xxapi/qqsuu 等候选,均无可达的零凭证源(404 / 隧道拦截 / 空端点),不建立在未验证源上

  • 中国大学 / 专业库(零凭证)

许可

MIT

Available Tools

4 tools
history_todayHistory TodayA

返回「历史上的今天」:某月某日发生的历史事件列表(标题 + 年份 + 简述)。

参数 date:可选,格式 "MM-DD"(如 "09-25")或 "YYYY-MM-DD"(如 "2026-09-25")。 省略则使用今天。 适用:历史问答、内容创作、文化类 AI 陪练。 数据来自 60s-api.viki.moe(公开、零凭证)。

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

描述提及数据来源(60s-api.viki.moe)且公开、零凭证,这增加了透明度;但未详细说明错误处理、速率限制或返回结构细节(有输出 schema)。未发现与注释矛盾(无注释)。

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

描述分段清晰:功能、参数、适用场景、数据来源。每句都有价值,无赘余,主用途前置。

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

工具简单且存在输出 schema,描述涵盖输入、默认、适用性和数据源,对于调用已足够。虽未涉及无效日期行为,但重要性较低,考虑整体完整性评为 4。

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

schema 描述覆盖率为 0%,但描述完全补偿:清晰说明了 date 参数的格式(MM-DD 或 YYYY-MM-DD)和默认行为(省略则用今天)。远超 schema 本身的信息。

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

描述清楚说明了资源(历史事件)、输出(标题、年份、简述)以及功能(列出某日的历史事件)。它明确区别于兄弟工具(random_poem、holiday_info、holiday_summary)。

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

描述给出使用场景(历史问答、内容创作、文化类 AI 陪练),但未明确说明何时不使用或引用替代工具。提供了上下文,但没有排除规则。

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

holiday_infoHoliday InfoA

查询中国某日期的节假日 / 调休 / 是否工作日信息。

参数 date:YYYY-MM-DD,例如 "2026-10-01"。 返回:节假日名称、是否法定假日、是否调休补班工作日、工资倍率。 数据来自 timor.tech(公开、零凭证)。

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the data source (timor.tech), states it is public and requires zero credentials, implying read-only behavior. However, it does not mention error handling, rate limits, or behavior for invalid dates, which are gaps for a data-lookup tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with zero fluff: the first states the purpose, the second covers the parameter, return fields, and data source. Each element earns its place, and it is appropriately front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the simple one-parameter interface, the description covers the core aspects: what it does, how to format the parameter, what it returns, and the data source. Given the presence of an output schema (not shown), the description is adequately complete, though it could mention edge-case behavior for invalid dates or missing data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides only a string type with no description (0% coverage). The description compensates by specifying the format YYYY-MM-DD and giving an explicit example ('2026-10-01'), which is essential for correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool queries holiday, adjustment, and workday information for a specific Chinese date, and lists the return fields (holiday name, statutory status, adjustment workday, salary multiplier). This is a specific verb-resource combination that distinguishes it from random_poem and history_today, though not explicitly from holiday_summary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus the sibling holiday_summary, nor any exclusions or alternative selection criteria. The description gives no contextual usage hints beyond stating what it does.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

holiday_summaryHoliday SummaryA

返回中国某年的节假日与调休摘要——聚合推导,不是单日查询。

与 holiday_info 的区别:本工具对 timor 全年扁平数据做聚合,给出 holiday_info 拿不到、而 AI 自身容易算错的结论——连续假期区间与天数、 法定 3 倍工资天数、全部调休补班日、全年总休假天数。

参数 year:4 位年份,省略则用当前年。 适用:年度休假规划、考勤与排班、HR 与薪酬核算。 数据来自 timor.tech(公开、零凭证)。

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the data source (timor.tech, public, zero credentials), the fact that it is a read-only aggregation (no mutation implied), and the specific derived outputs (continuous holiday intervals, statutory 3x pay days, adjusted workdays, total annual leave days). It doesn't state response format details, but an output schema exists to cover that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is tightly written with zero filler. The core purpose is front-loaded in the first line, followed by sibling differentiation, then the derived outputs, then parameter and applicability notes. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (one optional parameter), an output schema exists to explain return values, and the description covers purpose, differentiation, aggregation results, parameter semantics, and data source. Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the only parameter (year) has no description in the schema, but the description compensates: it states the parameter is a 4-digit year and that omitting it defaults to the current year. This adds real meaning beyond the bare integer type.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific verb+resource+scope: aggregates Chinese holidays and adjusted workdays for a year. The first line explicitly contrasts with single-day queries and names the sibling (holiday_info) it complements, so an agent can distinguish them immediately without inspecting either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the sibling tool holiday_info as the alternative and states the key difference (aggregation of flat yearly data vs single-day lookup). Also enumerates concrete use cases (annual leave planning, attendance/scheduling, HR and payroll), giving clear when-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

random_poemRandom PoemA

随机返回一句中国古典诗词,含作者、出处与分类。

适用:中文创作灵感、文化问答、语文/国学类 AI 陪练。 数据来自 jinrishici.com(公开、零凭证)。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden of behavioral disclosure. It states the data source (jinrishici.com) and that it is public with zero credentials, which is valuable context about access and side effects. It also discloses the random-selection behavior. It does not mention potential network dependency or failure modes, but for a zero-parameter fetch tool this is a minor gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, each earning its place: the core function, the intended use cases, and the data source/credential note. The primary purpose is front-loaded, and there is no redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, zero-parameter, read-only tool with an output schema, the description is complete. It covers what the tool does, what the output contains, when to use it, and the external source/auth model. Nothing needed for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is no parameter semantic burden for the description to satisfy. The schema covers the parameter space completely, and the description still adds relevant output context (author, source, category). This meets the baseline for a no-parameter tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb-resource pairing (随机返回一句中国古典诗词) and explicitly states what the result includes: author, source, and category. The tool is clearly distinguishable from holiday/history siblings because it names a distinct domain (Chinese classical poetry) and behavior (random selection).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit applicable scenarios (中文创作灵感、文化问答、语文/国学类 AI 陪练), which tells an agent when this tool is relevant. It does not name exclusions or compare against alternatives, but the sibling set is topically distinct enough that no further routing guidance is necessary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv0.1.0
    • First observedhistory_today
    • First observedholiday_info
    • First observedholiday_summary
    • First observedrandom_poem

TDQS

A4/5.0

Scored across 4 tools

Disambiguation4/5

random_poem and history_today are clearly distinct, but holiday_info and holiday_summary overlap in domain and could confuse an agent at first glance. The descriptions explicitly differentiate them (single-day vs annual aggregation), which mitigates the ambiguity.

Naming Consistency4/5

All tool names use lowercase snake_case and a two-word noun-phrase structure, which is readable and predictable. history_today deviates slightly from the noun-phrase pattern of the others, but the overall naming convention is consistent enough.

Tool Count4/5

Four tools is a reasonable count for a niche context server, and each tool covers a distinct aspect of Chinese cultural context. The scope feels slightly thin for a server named 'china-context', but not inadequately so.

Completeness3/5

The holiday coverage is quite complete (single-day info plus annual summaries), and history_today provides basic historical events. However, the broader 'China context' domain has obvious gaps such as lunar calendar conversion, festivals, idioms, or solar terms, making the surface feel partial.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides Chinese holiday information, lunar calendar conversion, traditional festivals, 24 solar terms, and BaZi (Eight Characters) calculations for AI assistants to accurately handle Chinese calendar queries and date conversions.
    3
    Apache 2.0
  • A
    license
    A
    quality
    A
    maintenance
    Provides traditional Chinese astrology (Bazi, Ziwei) and divination (Liuyao, Meihua, Qimen, etc.) calculations as MCP tools for AI assistants.
    2
    18
    115 npm
    116
    Apache 2.0
  • A
    license
    B
    quality
    B
    maintenance
    Exposes 97 official Shanghai Library open data APIs and the Sou-Yun poetry database (1.99 million poems) as 12 MCP tools, covering genealogy, ancient books, calligraphy, historical buildings, and more. Enables MCP clients to query these datasets using natural language.
    12
    27 PyPI
    4
    MIT