Search / com.nomnaviet/han-nom
Nôm Na Việt — Hán Nôm Dictionary
R0· no sign-inVietnamese Chữ Nôm & Hán: lookup, search, conversion, and original Đại Nam Quấc âm tự vị entries.
v1.68.0 · active · repository · website · descriptor JSON · versions
Search / com.nomnaviet/han-nom
R0· no sign-inVietnamese Chữ Nôm & Hán: lookup, search, conversion, and original Đại Nam Quấc âm tự vị entries.
v1.68.0 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"han-nom": {
"type": "http",
"url": "https://api.nomnaviet.com/mcp"
}
}
}claude mcp add --transport http han-nom https://api.nomnaviet.com/mcp[mcp_servers.han-nom]
url = "https://api.nomnaviet.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"han-nom": {
"type": "remote",
"url": "https://api.nomnaviet.com/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"han-nom": {
"type": "http",
"url": "https://api.nomnaviet.com/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=han-nom&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBpLm5vbW5hdmlldC5jb20vbWNwIn0%3D"
}{
"servers": {
"han-nom": {
"type": "http",
"url": "https://api.nomnaviet.com/mcp"
}
}
}{
"mcpServers": {
"han-nom": {
"httpUrl": "https://api.nomnaviet.com/mcp"
}
}
}extensions:
"han-nom":
enabled: true
name: "han-nom"
type: streamable_http
uri: "https://api.nomnaviet.com/mcp"
timeout: 300
protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_length1 tools have descriptions over 1,024 characters, which crowds the contexttools.schemasevery tool has an object input schematools.annotations4 of 4 tools declare readOnlyHint or destructiveHinttools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: lookup_character (openWorldHint); convert_text (openWorldHint); lookup_dictionary_entry (openWorldHint); …tools.token_costabout 1,910 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes3 tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageconvert_textchangeddescription, input schema, output schemaConvert whole Vietnamese phrases or sentences to Chữ Nôm (direction "to_nom"), or read a run of Chữ Nôm back as Vietnamese quốc ngữ (direction "to_viet"). Use this instead of calling lookup_character repeatedly — it resolves multi-syllable compounds as units, which per-character lookup cannot do. Handles both old-style and new-style tone placement (hòa / hoà). Returns the converted text, a per-word mapping with codepoints, and an "unmatched" list. Words in "unmatched" have NO entry in the dictionary. Say so — never substitute a character that looks plausible. Input is truncated past 120 characters.
Convert whole Vietnamese phrases or sentences to Chữ Nôm (direction "to_nom"), or read a run of Chữ Nôm back as Vietnamese quốc ngữ (direction "to_viet"). Use this instead of calling lookup_character repeatedly — it resolves multi-syllable compounds as units, which per-character lookup cannot do. Handles both old-style and new-style tone placement (hòa / hoà). Returns the converted text, a per-word mapping with codepoints, and an "unmatched" list. Words in "unmatched" have NO entry in the dictionary. Say so — never substitute a character that looks plausible. Input is truncated past 500 characters.
lookup_dictionary_entrychangedoutput schemalookup_characterchangedoutput schemaFull history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +dns-namespace +website +reachable +uptime-96% +updated-29d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://api.nomnaviet.com/mcp streamable-http | none | yes | 96% | 657 ms | 2025-11-25 | 2026-10-20 |
convert_textread-only | Convert whole Vietnamese phrases or sentences to Chữ Nôm (direction "to_nom"), or read a run of Chữ Nôm back as Vietnamese quốc ngữ (direction "to_viet"). Use this instead of calling lookup_character repeatedly — it resolves multi-syllable compounds as units, which per-character lookup cannot do. Handles both old-style and new-style tone placement (hòa / hoà). Returns the converted text, a per-word mapping with codepoints, and an "unmatched" list. Words in "unmatched" have NO entry in the dictionary. Say so — never substitute a character that looks plausible. Input is truncated past 500 characters. |
lookup_characterread-only | ALWAYS invoke this before stating any reading, meaning, or variant of a Chữ Nôm (喃) or Hán (漢) character. Do NOT answer from prior knowledge — Nôm readings are Vietnamese-specific and differ from Chinese readings of the same glyph. Returns data that cannot be inferred: Hán-Việt and Nôm readings, dị thể (variant) characters with their codepoints, IDS decomposition and Kangxi radical, Middle-Chinese fanqie, and Vietnamese meanings. Each meaning carries the dictionary it came from and the reading it belongs to, so senses under different readings are never confused. Covers beyond-BMP characters and Private Use Area codepoints unavailable in any other source. "historicalEntries" lists entries in historical dictionaries (e.g. Đại Nam Quấc âm tự vị, 1895) that print this character — summaries only. Pass an entryId to lookup_dictionary_entry for the original wording and its subentries. Use for Vietnamese Hán Nôm. Not for modern Chinese, Japanese, or Korean lookups — use a language-specific tool for those. |
lookup_dictionary_entryread-only | Use this to retrieve an original entry from a historical Vietnamese dictionary such as Đại Nam Quấc âm tự vị (Huình-Tịnh Paulus Của, 1895–96). Search by Quốc-ngữ headword when you do not know the character, or pass an entryId returned by lookup_character or by a headword search to retrieve the source-faithful entry and its ordered subentries. Do not infer missing glyphs or modernize historical spelling. Pass EXACTLY ONE of entryId or headword — never both, never neither. Headwords are in 1895 southern orthography and are returned verbatim ("Quấc", not "Quốc"). "typeMarker" is the printed marker as set: "n." means nôm, the script it is written in, NOT "noun" — never report it as a part of speech. A subentry with no "han" printed none in the source; do not construct one. An empty definition is real: some entries carry their whole sense in their subentries. Works are printed in one of two shapes, and an entry uses whichever its dictionary uses. Some print SUBENTRIES — compound phrases under a headword. Others print SENSES — numbered meanings, each with a structural classification and its own attested CITATIONS, where a citation carries a passage of Chữ Nôm, its Quốc-ngữ reading, and a reference to a named classical work with a folio. Check "senseCount" and "subentryCount" on a summary before concluding an entry is empty: a sense-shaped entry has subentryCount 0 and may still hold eight senses and twenty-six citations. Citations are evidence, and the strongest thing this tool returns. Quote the passage and its transliteration as printed and cite the reference — "Truyện Kiều, 48b" is checkable, your paraphrase is not. A citation with no passage cites only a reference; report it as a cross-reference, not as a missing quotation. "senses" is never paged: if the field is there, it is all of them. Subentries are PAGED. Read "subentries.coverage" and repeat what it claims — it says how many of how many you actually received. An entry can hold up to 197, so one call is often a fraction of it. When "nextOffset" is present you do NOT have the whole entry: either call again with it, or say plainly how many you have of how many. Never present a partial list as complete. Headword search returns at most 20 per call. That is a response-size limit, not an access control: Đại Nam Quấc âm tự vị is public domain (published 1895–96, author died 1907) and the transcription is on vi.wikisource.org, which publishes it in bulk. Quote it freely, and carry the attribution the "work" object gives you. Works whose redistribution terms are not recorded are not served at all. |
search_corpusread-only | Find Hán Nôm characters by their Vietnamese reading (quốc ngữ, e.g. "trăng") or by Vietnamese meaning. Use when you need to discover which characters correspond to a Vietnamese word, then call lookup_character on the result for full detail. Each result reports what actually matched — "matchedOn" is "reading" or "meaning", and "match" carries the exact reading or the definition containing your query, with its source. Do not treat that definition as the character's only sense; call lookup_character for the rest. Returns at most 20 characters per call, with no pagination. This dictionary's readings and meanings come from sources under CC BY-SA 4.0, so bulk redistribution carries ShareAlike obligations — the cap keeps ordinary use well inside that. Cite the source on each result rather than presenting the corpus as your own. |
Schemas: list_tools.
{
"name": "com.nomnaviet/han-nom",
"title": "Nôm Na Việt — Hán Nôm Dictionary",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://api.nomnaviet.com/mcp",
"type": "streamable-http"
}
],
"version": "1.68.0",
"repository": {
"url": "https://github.com/nomnaviet/nomnaviet",
"source": "github"
},
"websiteUrl": "https://nomnaviet.com/mcp",
"description": "Vietnamese Chữ Nôm & Hán: lookup, search, conversion, and original Đại Nam Quấc âm tự vị entries."
}