Read real Chinese word by word: each word's meaning in its sentence, its pinyin and its parts.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Show the connected MTW account before saving. Requires account connection; reads only the account name and email. Does not list private passages or saved words.
This tool takes no arguments.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http reader https://mandarinthewild.com/mcp
Show the connected MTW account before saving. Requires account connection; reads only the account name and email. Does not list private passages or saved words.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"additionalProperties": false
}Inspect the Mandarin word or pattern at a Unicode code-point offset in the exact supplied passage. Returns MTW’s contextual word card with expected pinyin, meaning status, parts and offered alternatives. Count Unicode code points, not UTF-16 units; preserve the original passage. A null card means no applicable Mandarin target. Does not save or grade learning.
| Argument | Type | Description |
|---|---|---|
| text* | string | Exact original Mandarin passage, including punctuation and whitespace; at most 4,096 Unicode code points. Do not translate or rewrite it. |
| title | string | |
| offset* | integer | Zero-based Unicode code-point position in the original text. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"text",
"offset"
],
"properties": {
"text": {
"type": "string",
"maxLength": 8192,
"minLength": 1,
"description": "Exact original Mandarin passage, including punctuation and whitespace; at most 4,096 Unicode code points. Do not translate or rewrite it."
},
"title": {
"type": "string",
"maxLength": 240
},
"offset": {
"type": "integer",
"maximum": 4095,
"minimum": 0,
"description": "Zero-based Unicode code-point position in the original text."
}
},
"additionalProperties": false
}Open an interactive reader for a Mandarin article excerpt, message or subtitle passage the user supplies. Hover or tap words for meaning in context, pinyin, parts and uncertainty. Keeps the original text; anonymous and does not save it. Use inspect_mandarin_word for one specific word. Does not fetch links or transcribe media.
| Argument | Type | Description |
|---|---|---|
| text* | string | Exact original Mandarin passage, including punctuation and whitespace; at most 4,096 Unicode code points. Do not translate or rewrite it. |
| title | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 8192,
"minLength": 1,
"description": "Exact original Mandarin passage, including punctuation and whitespace; at most 4,096 Unicode code points. Do not translate or rewrite it."
},
"title": {
"type": "string",
"maxLength": 240
}
},
"additionalProperties": false
}Save one word from the exact supplied passage to the connected MTW Backpack ONLY when the learner explicitly asks to save it. Re-inspects the word through MTW; for an ambiguous meaning, pass only the sense ID the learner selected from the offered choices. Preserve text, context and title. Use one operation UUID for this save and reuse it after a lost reply. Does not mark the word known, grade recall, or save the entire passage.
| Argument | Type | Description |
|---|---|---|
| text* | string | Exact original Mandarin passage, including punctuation and whitespace; at most 4,096 Unicode code points. Do not translate or rewrite it. |
| title | string | |
| choice | string | |
| offset* | integer | |
| confirm* | string | |
| operation* | string | |
| destination* | string | Destination returned by get_mandarin_account. A consistency check, never account authority. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"text",
"offset",
"operation",
"confirm",
"destination"
],
"properties": {
"text": {
"type": "string",
"maxLength": 8192,
"minLength": 1,
"description": "Exact original Mandarin passage, including punctuation and whitespace; at most 4,096 Unicode code points. Do not translate or rewrite it."
},
"title": {
"type": "string",
"maxLength": 240
},
"choice": {
"type": "string",
"maxLength": 300,
"minLength": 1
},
"offset": {
"type": "integer",
"maximum": 4095,
"minimum": 0
},
"confirm": {
"type": "string",
"const": "save"
},
"operation": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"destination": {
"type": "string",
"pattern": "^[a-f0-9]{64}$",
"description": "Destination returned by get_mandarin_account. A consistency check, never account authority."
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 5, 2026.