Nôm Na Việt — Hán Nôm Dictionary
REMOTE · API.NOMNAVIET.COM · SCANNED SEP 22
Vietnamese Chữ Nôm & Hán: lookup, search, conversion, and original Đại Nam Quấc âm tự vị entries.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security69
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement. View diagnostics → Unverified
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability64
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2134 tokens (~533/item across 4 items; 4 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 4 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 5 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Nôm Na Việt — Hán Nôm Dictionary MCP server?
Nôm Na Việt — Hán Nôm Dictionary is a hosted endpoint at https://api.nomnaviet.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · api.nomnaviet.com
claude mcp add --transport http com-nomnaviet-han-nom 'https://api.nomnaviet.com/mcp'
{
"mcpServers": {
"com-nomnaviet-han-nom": {
"url": "https://api.nomnaviet.com/mcp"
}
}
} {
"servers": {
"com-nomnaviet-han-nom": {
"type": "http",
"url": "https://api.nomnaviet.com/mcp"
}
}
} [mcp_servers.com-nomnaviet-han-nom] url = "https://api.nomnaviet.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-nomnaviet-han-nom": {
"type": "remote",
"url": "https://api.nomnaviet.com/mcp",
"enabled": true
}
}
} openclaw mcp add com-nomnaviet-han-nom --url 'https://api.nomnaviet.com/mcp' --transport streamable-http
mcp_servers:
com-nomnaviet-han-nom:
url: "https://api.nomnaviet.com/mcp" {
"McpServers": {
"com-nomnaviet-han-nom": {
"Transport": "http",
"Url": "https://api.nomnaviet.com/mcp"
}
}
} assistant mcp add com-nomnaviet-han-nom -t streamable-http -u 'https://api.nomnaviet.com/mcp'
{
"mcpServers": {
"com-nomnaviet-han-nom": {
"type": "http",
"url": "https://api.nomnaviet.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 21 Sept 26 0
- Server version: 1.67.0 → 1.68.0 functional
- 18 Sept 26 +6
- Authorization: unverified → partial ▲ security
- The server rewrote its instructions, which are the text every model session reads security
- Tool “lookup_character” rewrote its description, which is the text the model reads security
- Tool “search_corpus” rewrote its description, which is the text the model reads security
- Schema quality: 270 → 533 ▼ functional
- Tool “convert_text” now declares an output schema ▲ functional
- Tool “lookup_character” now declares an output schema ▲ functional
- Tool “search_corpus” now declares an output schema ▲ functional
- First check of Tool coverage: 100 functional
- Server version: 1.66.0 → 1.67.0 functional
- New tool “lookup_dictionary_entry” functional
- 16 Sept 26 +55
- Injection markers: unverified → pass ▲ security
- Stability: unverified → pass ▲ security
- Transport: fail → pass ▲ security
- Authorization: Authorisation not fully verified: no authorisation is required to call this server, and 3 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. security
- Endpoint reachability: not serving MCP → reachable ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Server version: 1.65.1 → 1.66.0 functional
- 15 Sept 26 −55
- Endpoint reachability: reachable → not serving MCP ▼ security
- Stability: pass → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Transport: pass → fail ▼ security
- Authorization: Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the tool list to see what that exposes. security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 9 Sept 26 0
- Server version: 1.64.1 → 1.65.1 functional
- 8 Sept 26 0
- Server version: 1.63.3 → 1.64.1 functional
- 27 Aug 26 0
- Stability: 0.97 → pass security
- 26 Aug 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 22 Sept 2026 · Probed https://api.nomnaviet.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=nomnaviet.com | CN=YE2,O=Let's Encrypt,C=US | 28 Aug 2026 | 26 Nov 2026 | ECDSA 256 | ECDSA-SHA384 | 5ab70220f8bfe620096bdf4e33efb92d2df |
| SANs: *.nomnaviet.com, nomnaviet.com | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of api.nomnaviet.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| nomnaviet.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| content-security-policy | default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | no-referrer |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.nomnaviet.com/mcp | Verified | 200 | |
| http (plaintext) | http://api.nomnaviet.com/mcp | Inconclusive | 405 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
convert_text Convert between Vietnamese and Chữ Nôm ~214
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 120 characters.
| Name | Type | Req | Description |
|---|---|---|---|
| direction | string | – | "to_nom" (Vietnamese → Chữ Nôm, the default) or "to_viet" (Chữ Nôm → Vietnamese). |
| text | string | yes | The text to convert: Vietnamese quốc ngữ for "to_nom", Chữ Nôm for "to_viet". Up to 120 characters. |
| Name | Type | Req | Description |
|---|---|---|---|
| converted | string | yes | – |
| direction | string | yes | – |
| original | string | yes | – |
| segments | array | yes | – |
| truncated | boolean | – | – |
| unmatched | array | yes | Words with NO dictionary entry. Report as gaps; never fill them in. |
No examples provided.
lookup_character Look up a Hán Nôm character ~265
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.
| Name | Type | Req | Description |
|---|---|---|---|
| character | string | yes | A single Hán or Nôm character, e.g. 些 or 𡗶. Pass the character itself, not a codepoint. |
| Name | Type | Req | Description |
|---|---|---|---|
| character | string | yes | – |
| characterType | string | – | – |
| codepoint | string | yes | – |
| compounds | array | yes | – |
| decomposition | object | – | – |
| found | boolean | yes | – |
| historicalEntries | array | yes | Canonical entries from historical dictionaries that print this glyph. Summaries only — call lookup_dictionary_entry with an entryId for the full entry and its subentries. |
| isPrivateUseArea | boolean | yes | – |
| meanings | array | yes | – |
| middleChinese | object | – | – |
| radical | string | – | – |
| readings | array | yes | – |
| strokeCount | integer | – | – |
| variants | array | yes | – |
No examples provided.
lookup_dictionary_entry Retrieve an entry from a historical Vietnamese dictionary ~814
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 of…
| Name | Type | Req | Description |
|---|---|---|---|
| entryId | string | – | An entry id such as "B-0123", from lookup_character.historicalEntries or a headword search. Retrieves that one entry in full. Mutually exclusive with headword. |
| headword | string | – | A Quốc-ngữ headword such as "Bậu". Returns up to 20 matching entry summaries, exact matches first. Spelling is historical — do not modernize or strip accents. Mutually exclusive with entryId. |
| subentryLimit | integer | – | Subentries per call, 1-50. Defaults to 50. When "nextOffset" comes back, call again with it to continue. |
| subentryOffset | integer | – | First subentry to return, for continuing a large entry. Defaults to 0. Only used with entryId. |
| work | string | – | Which work to search. Defaults to "dnqatv" (Đại Nam Quấc âm tự vị). |
| Name | Type | Req | Description |
|---|---|---|---|
| entry | object | – | – |
| guidance | string | – | – |
| matchCount | integer | – | – |
| matches | array | – | Headword search results. Exact matches first, then prefix matches. |
| senses | array | – | Every sense of this entry, complete. Not paged — if the field is present, it is all of them. |
| subentries | object | – | – |
| truncated | boolean | – | True when headword results hit the 20-result cap. |
| work | object | yes | – |
No examples provided.
search_corpus Search characters by Vietnamese reading or meaning ~229
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum results, 1-20. Defaults to 10. |
| query | string | yes | A Vietnamese reading in quốc ngữ (e.g. "trăng") or a Vietnamese meaning fragment. |
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | yes | – |
| query | string | yes | – |
| results | array | yes | – |
| truncated | boolean | yes | True when the cap was reached. There is deliberately no pagination. |
No examples provided.
What is the Nôm Na Việt — Hán Nôm Dictionary MCP server?
Nôm Na Việt — Hán Nôm Dictionary is an MCP server listed in the public MCP registry as com.nomnaviet/han-nom. Vietnamese Chữ Nôm & Hán: lookup, search, conversion, and original Đại Nam Quấc âm tự vị entries. This page covers its hosted endpoint (https://api.nomnaviet.com/mcp).
Is the Nôm Na Việt — Hán Nôm Dictionary MCP server safe to use?
Nôm Na Việt — Hán Nôm Dictionary scores 81 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Nôm Na Việt — Hán Nôm Dictionary MCP server expose?
Nôm Na Việt — Hán Nôm Dictionary exposes 4 tools: lookup_character, search_corpus, lookup_dictionary_entry, convert_text. Their descriptions and schemas cost roughly 1,522 tokens of context every time the server is loaded.
Does the Nôm Na Việt — Hán Nôm Dictionary MCP server require authentication?
No. We connected to Nôm Na Việt — Hán Nôm Dictionary without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Nôm Na Việt — Hán Nôm Dictionary MCP server still maintained?
Nôm Na Việt — Hán Nôm Dictionary is still listed as active in the MCP registry. We last reached this channel on 22 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.