A traceable Chinese-history MCP server: 4 tools over 9 classical texts (先秦-汉魏), every result cited (book→chapter→paragraph), honest review_status. Zero runtime dependencies.
chinese-history-mcp
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
A **traceable Chinese-history MCP server**. Four Model Context
Protocol tools over **9 classical Chinese
texts** (pre-Qin to Wei-Jin — 史记 / 汉书 / 后汉书 / 三国志 / 左传 / 论语 / 孟子 /
吕氏春秋 / 资治通鉴). **Every result carries a 【book → chapter → paragraph】
citation**, and honestly reports its review_status — the server never claims
per-item human review it doesn't have.
> 一个**可溯源的中国历史故事** MCP server:按事件 / 人物 / 今地名 / 品质四轴查询
> 先秦-汉魏九部正史子书,每条返回都带原文出处,机器生成/机审内容如实标注。
- **Zero runtime dependencies** — pure Python standard library. No pip install
of a framework, no MCP SDK; the whole server is auditable in a few files.
- **Read-only** — opens the corpus with mode=ro + PRAGMA query_only; never
writes.
- **Honest by construction** — machine-generated punctuation / translation and
machine-adjudicated status are labeled in every response (AIGC-compliant).
Why this exists: as of mid-2026 the public MCP ecosystem has **no classical
Chinese / Chinese-history server**. This fills that gap. Income expectation is
zero; the goal is a useful public good.
**Contents**: The four tools · Install & run ·
The corpus database · Honesty ·
Data & provenance · Design notes
---
The four tools
| tool | input | returns |
|---|---|---|
| search_events | keyword / book / person / kind / limit | Cross-book fused historical events with **per-source provenance** (book · chapter · paragraph + role: primary/detailed/brief/comment/corroborating). canonical_summary is an LLM-fused machine narrative. Optional kind filter (事件/场景/评价; unset = all, including appraisal events). time_label may be **derived from reviewed time anchors** — time_label_source says which (manual vs derived; omitted on pre-0.2 data). |
| get_person | name (given name or alias) | Person profile (LLM-synthesized, draft) + others' appraisals (verbatim source quotes, each cited) + attributed qualities + events mentioning them + **person-to-person relations** (closed 26-type vocabulary — kinship/ruler-minister/mentorship/alliance/enmity; machine-reviewed, only approved/auto_approved exposed, no temporal bounds; empty on pre-0.2 data). |
| query_by_place | place (today's place name) / limit | Ancient stories set on the land of a modern place, with citations. Same-name-different-place returns candidates for you to disambiguate — **it never silently picks one**. Directional/regional generic names are excluded. |
| query_by_quality | quality (from a 55-term controlled vocabulary, e.g. 忠 loyalty, 谋略 strategy) / limit / include_draft | Representative events, people, and stories for a quality, each with an **original-text evidence_quote** and rationale. |
Each tool call returns JSON. Multi-source events, person appraisals, and
place/quality edges all carry the exact 【book → chapter → paragraph】 they came
from — that is the point of the server.
---
Install & run
Requires **Python 3.9+** (standard library only — nothing else is installed).
The server speaks MCP over stdio (newline-delimited JSON-RPC 2.0).
Or run without installing, straight from a checkout:
Configure in an MCP client
Claude Desktop (claude_desktop_config.json), Cline, Continue, etc. — add one
stdio server. After pip install chinese-history-mcp:
Alternative: run from a checkout (no install), or with uvx
Or zero-install with uv:
uvx chinese-history-mcp --db /path/to/corpus.db.
Try one handshake by hand
Demo + hallucination comparison