A free, read-only, model-provider-independent MCP server for the revised Elementary Chinese Readers / 基础汉语课本 corpus.
Share this MCP URL:
https://keben.555420.xyz/mcp
Teach me Lesson 1 from the Elementary Chinese Readers textbook. Then quiz me one question at a time and explain my mistakes.
The same URL works with any client that supports remote MCP. The client chooses the LLM; this server does not know or care whether it is Claude, ChatGPT, Codex, Gemini, or a local model.
Send the agent the public home-page URL, without /mcp, and say:
Open this URL, read its agent setup instructions, and help me connect its MCP server. Ask before changing my configuration.
The deployed home page links to /llms.txt, health metadata, and a machine-readable server card. MCP clients intentionally require user or administrator approval before trusting a new server, so a normal web chat cannot silently install one.
In Claude web or Desktop:
Elementary Chinese Readers and paste the /mcp URL.In Claude Code, an authorized agent can run:
claude mcp add --transport http --scope user chinese-textbook https://keben.555420.xyz/mcp
Custom remote MCP apps currently depend on the ChatGPT plan and workspace settings. Where developer mode is available:
/mcp endpoint, select no authentication, scan the tools, and create the app.On managed university workspaces, an administrator may need to create or approve the app once for the class.
The repository is ready for a free Cloudflare Worker deployment.
Or deploy from a terminal with Node.js 22 or newer:
npm install
npm run check
npm run deploy
Cloudflare will print a URL ending in workers.dev. Append /mcp and test it before sharing.
For local development:
npm install
npm run dev
The MCP endpoint is http://localhost:8787/mcp. Test it with:
npx @modelcontextprotocol/inspector@latest
| Capability | What it does |
|---|---|
about_textbook | Describes coverage and tutoring rules |
list_lessons | Lists Lessons 1–44 and their sections |
get_lesson | Retrieves a complete or section-filtered lesson |
search_textbook | Searches Chinese, English, and pinyin with or without tone marks |
start_study_session | Returns lesson-bounded material and a teaching contract |
prepare_quiz | Returns grounded quiz material and a one-question-at-a-time protocol |
The server also exposes lesson-index resources and reusable study_lesson and quiz_lesson prompts. Quiz questions are created by the student's chosen LLM from returned textbook material, keeping this server model-neutral and free to operate.
src/ — stateless MCP Worker, retrieval, tutoring rules, and public setup pagetextbook/chunks.jsonl — canonical retrieval corpustextbook/lessons/ — human-readable lesson filesscripts/build_mcp_corpus.mjs — creates the compact Worker data bundlescripts/validate_corpus.py — validates the canonical corpusscripts/validate_mcp_server.py — validates the generated MCP dataThe OCR-derived corpus carries confidence values and quality flags. The MCP server returns those flags with source page metadata so tutors can communicate uncertainty instead of guessing.
3 commits
1 commits
TypeScript
64.8%
Python
20.9%
JavaScript
14.3%
A free, read-only, model-provider-independent MCP server for the revised Elementary Chinese Readers / 基础汉语课本 corpus.
Share this MCP URL:
https://keben.555420.xyz/mcp
Teach me Lesson 1 from the Elementary Chinese Readers textbook. Then quiz me one question at a time and explain my mistakes.
The same URL works with any client that supports remote MCP. The client chooses the LLM; this server does not know or care whether it is Claude, ChatGPT, Codex, Gemini, or a local model.
Send the agent the public home-page URL, without /mcp, and say:
Open this URL, read its agent setup instructions, and help me connect its MCP server. Ask before changing my configuration.
The deployed home page links to /llms.txt, health metadata, and a machine-readable server card. MCP clients intentionally require user or administrator approval before trusting a new server, so a normal web chat cannot silently install one.
In Claude web or Desktop:
Elementary Chinese Readers and paste the /mcp URL.In Claude Code, an authorized agent can run:
claude mcp add --transport http --scope user chinese-textbook https://keben.555420.xyz/mcp
Custom remote MCP apps currently depend on the ChatGPT plan and workspace settings. Where developer mode is available:
/mcp endpoint, select no authentication, scan the tools, and create the app.On managed university workspaces, an administrator may need to create or approve the app once for the class.
The repository is ready for a free Cloudflare Worker deployment.
Or deploy from a terminal with Node.js 22 or newer:
npm install
npm run check
npm run deploy
Cloudflare will print a URL ending in workers.dev. Append /mcp and test it before sharing.
For local development:
npm install
npm run dev
The MCP endpoint is http://localhost:8787/mcp. Test it with:
npx @modelcontextprotocol/inspector@latest
| Capability | What it does |
|---|---|
about_textbook | Describes coverage and tutoring rules |
list_lessons | Lists Lessons 1–44 and their sections |
get_lesson | Retrieves a complete or section-filtered lesson |
search_textbook | Searches Chinese, English, and pinyin with or without tone marks |
start_study_session | Returns lesson-bounded material and a teaching contract |
prepare_quiz | Returns grounded quiz material and a one-question-at-a-time protocol |
The server also exposes lesson-index resources and reusable study_lesson and quiz_lesson prompts. Quiz questions are created by the student's chosen LLM from returned textbook material, keeping this server model-neutral and free to operate.
src/ — stateless MCP Worker, retrieval, tutoring rules, and public setup pagetextbook/chunks.jsonl — canonical retrieval corpustextbook/lessons/ — human-readable lesson filesscripts/build_mcp_corpus.mjs — creates the compact Worker data bundlescripts/validate_corpus.py — validates the canonical corpusscripts/validate_mcp_server.py — validates the generated MCP dataThe OCR-derived corpus carries confidence values and quality flags. The MCP server returns those flags with source page metadata so tutors can communicate uncertainty instead of guessing.
3 commits
1 commits
TypeScript
64.8%
Python
20.9%
JavaScript
14.3%