Skip to main content
Glama

HSK Studio MCP

A read-only MCP server that gives an AI agent HSK vocabulary, graded Chinese readings, and an HSK level estimate for any Chinese text. It needs no API key.

Endpoint: https://hsk.fulinlabs.com/api/agent/mcp (streamable HTTP, stateless)

Use it when a learner asks an agent things like "what level is this article?", "give me HSK 3 words I should know", or "find me a short reading at my level".

Connect

Claude Code:

claude mcp add --transport http hsk-studio https://hsk.fulinlabs.com/api/agent/mcp

Any other client that supports remote MCP servers: add the endpoint above with no authentication.

Related MCP server: mcp-china-ecosystem

Tools

Tool

What it returns

lookup_word

Pinyin, meaning and HSK level for a Chinese word, a pinyin string or an English word, plus related words

list_words_by_level

Words of one HSK level (1 to 7, where 7 is the HSK 7-9 band) in syllabus order

list_readings

The graded Chinese readings, each with a computed HSK level

get_reading

The text, level and vocabulary of one reading

check_text_level

An HSK level estimate for up to 5000 characters of Chinese text

get_level_check_link

The HSK Studio page where a learner can check their own text and share the result

Results carry a url field. Show it to the learner so they can open the text in HSK Studio, where they tap any word for pinyin, meaning and audio.

REST API

The same data is available over plain HTTP. GET https://hsk.fulinlabs.com/api/agent returns an index of the endpoints.

Run it yourself

The repository also holds a small stdio server that forwards the six tools to the hosted API. It needs Node 22 or newer.

npm ci && npm run build
node dist/index.js

Set HSK_STUDIO_API_URL to point it at another API base. A Dockerfile is included.

The product itself runs at https://hsk.fulinlabs.com.

License

MIT, for the files in this repository.

Available Tools

6 tools
check_text_levelC

Estimate the HSK level of Chinese text (up to 5000 characters).

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full behavioral burden but only restates the 5000-character limit, which is already in the schema. It does not disclose return format, accuracy, whether the operation is read-only, or any side effects or processing traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that wastes no words. It is appropriately terse, though the extreme brevity means it omits information needed elsewhere rather than being overly verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool with no output schema and no annotations, the description should at least hint at the return format (e.g., what HSK level output looks like) and confirm the read-only nature. It instead provides only the input constraint, leaving key contextual gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the single required parameter, so the description must compensate. It adds only that the input should be 'Chinese text (up to 5000 characters),' but the length constraint duplicates the schema and it omits expected format details such as simplified vs. traditional characters or handling of mixed-language text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Estimate') and resource ('HSK level of Chinese text'), which clearly identifies the tool's function. It does not explicitly differentiate itself from siblings like get_level_check_link or list_words_by_level, but the purpose is distinct enough for an agent to understand.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides no guidance on when to use this tool versus alternatives such as get_level_check_link or lookup_word. There are no prerequisites, exclusions, or contextual triggers mentioned; usage is only implied by the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_readingA

Get one graded reading: text, HSK level and the vocabulary in it. Ids come from list_readings.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden. It usefully discloses the shape of the payload (text, HSK level, embedded vocabulary), but says nothing about auth, error handling for a missing/invalid id, or response size, which is a real gap for a lookup tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no waste; the purpose and return contents are front-loaded, and the id-provenance note follows. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly compensates by naming what comes back, which is what an agent needs for a one-parameter lookup. Minor omissions (error cases, output ordering) keep it from being fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter has 0% schema description coverage, so the description must explain it — and it does, clarifying that the id is a reading id sourced from list_readings rather than a word id or level. It still does not state the id format, so not a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Get') and resource ('one graded reading') and enumerates the returned fields (text, HSK level, vocabulary). The singular 'one' plus the pointer to list_readings makes it clearly distinct from the sibling list_readings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells the agent how to obtain the required input: 'Ids come from list_readings', which routes it to the sibling listing tool as the prerequisite step. It does not state a when-not condition or failure behavior for unknown ids, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_readingsB

List the graded Chinese readings with their computed HSK level.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden. It implies a read-only listing but says nothing about ordering, pagination, result count limits, or whether the HSK level is always present versus computed on demand.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no filler, and the resource and its distinguishing output field are front-loaded. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a trivial no-parameter list tool the description is nearly sufficient, but with no output schema the agent still lacks any sense of what a 'reading' record contains or how large the listing is. The mention of the computed HSK level is the one piece of return-value context provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is no parameter semantics to document; the baseline for a 0-param tool applies. The description correctly avoids inventing filtering options that the empty schema cannot honor.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb ('List') plus resource ('graded Chinese readings') with the notable attribute that the result includes a computed HSK level. It is distinguishable from get_reading by the plural/list framing, though it never names that sibling to make the contrast explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer this is for enumerating all readings rather than fetching one, but the description offers no explicit when-to-use, no conditions, and no pointer to get_reading as the single-item alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_words_by_levelA

List dictionary words of one HSK level (1 to 7; 7 is the HSK 7-9 band), in syllabus order.

ParametersJSON Schema
NameRequiredDescriptionDefault
levelYes
limitNo
offsetNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does contribute one behavioral fact: results come back in syllabus order. However, it is silent on pagination behavior, default limit, and whether the list is exhaustive or capped at 100.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One well-formed sentence with the resource and level semantics front-loaded and zero filler; every clause adds information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema and no annotations, yet the description doesn't say what a returned word entry looks like or how limit/offset interact. The core purpose and ordering are covered, but an agent still has gaps for a 3-parameter list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the schema only gives raw integer bounds with no meaning. The description rescues the most important parameter by defining the level range and the special 7 = HSK 7-9 semantic, but limit and offset (pagination, cap of 100) are left entirely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) plus resource (dictionary words) and scopes it to a single HSK level, so it is distinguishable from lookup_word/list_readings. It also resolves a real ambiguity by explaining that level 7 means the HSK 7-9 band. It stops short of naming the sibling tools to route against.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer this is for enumerating a whole level, but the description never states when to prefer it over lookup_word, list_readings, or check_text_level. No prerequisites or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lookup_wordA

Look up a Chinese word, pinyin or English word in the HSK Studio dictionary. Returns pinyin, meaning, HSK level and related words.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesA Chinese word, a pinyin string or an English word

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses return contents (pinyin, meaning, HSK level, related words), which is useful since there is no output schema, but it says nothing about ambiguous/multi-match behavior, exact vs fuzzy matching, or permission/auth requirements of the dictionary service.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences: the first front-loads purpose and query scope, the second covers returns. No filler, and the ordering puts the most important information first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only lookup with an output-schema-free response, the description covers both input forms and the shape of the result set. It is nearly complete; only edge-case behavior (multiple matches, no match) is unspecified, which is minor at this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and there is only one parameter, so the schema already documents the accepted query types. The description restates those same three forms (Chinese word, pinyin, English) without adding format guidance such as tone-mark handling or matching behavior, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Look up a Chinese word, pinyin or English word in the HSK Studio dictionary" gives a specific verb (look up), a concrete resource (word/dictionary), and enumerates the accepted query forms. This clearly distinguishes it from sibling browsing tools like list_words_by_level, though it never names them explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer this is the right tool for resolving a known query into a definition, versus siblings that list or check content. There is no explicit when-to-use, when-not-to-use, or alternative routing (e.g., list_words_by_level for browsing by level).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv0.1.0
    • First observedcheck_text_level
    • First observedget_level_check_link
    • First observedget_reading
    • First observedlist_readings
    • First observedlist_words_by_level
    • First observedlookup_word

TDQS

B3.4/5.0

Scored across 6 tools

Disambiguation4/5

Most tools target clearly distinct operations: word lookup, level-based listing, reading listing, reading retrieval, and text level estimation. The only mild overlap is between check_text_level and get_level_check_link, but the descriptions make it clear one computes a result directly while the other returns an external web link.

Naming Consistency4/5

All names use snake_case and lead with a verb, forming a predictable pattern (lookup_word, list_readings, get_reading, check_text_level). The mix of lookup/list/get verbs for retrieval is semantically justified but slightly breaks a single tight convention.

Tool Count4/5

Six tools is well-scoped for a focused dictionary and graded-reading service, with each tool earning its place. It sits comfortably in the reasonable range without bloat or obvious padding.

Completeness4/5

For a read-only reference domain, the surface covers lookup, per-level word listing, reading listing/retrieval, and text level checking, with no dead ends for core workflows. Minor gaps like search-by-pinyin-prefix or character-level detail are workable around via lookup_word.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

  • PDF, image, video, OCR, screenshot, SQL, QR and text tools for agents. No API key, no signup.

  • 30+ marketing data tools for AI agents: keywords, SERP, backlinks, AI visibility, app store & commerce intelligence, Reddit/LinkedIn/Facebook/YouTube research, web search, page extraction, site audit, image & video generation, one-shot marketing apps. Bring your own API key from supamarketers.com — per-tool pricing in Credits.

  • Discover, inspect and run 63,000+ agent tools from one balance. Pay per call, no subscriptions.

  • TikTok research for AI agents: real TikTok search data, trends, videos, creators and comments in ChatGPT, Claude, Cursor, Codex or any MCP client. 45 tools. See what people search on TikTok each week (Creator Search Insights search volume and 7-day trends), find content gaps with no videos yet, check if a product is trending for TikTok Shop, analyze competitor creators and posts, read comments and replies, pull video transcripts, search hashtags and sounds, and pick fair giveaway winners. Built for marketers, agencies, TikTok Shop sellers and creators. Sign in with OAuth or an API key; 50 free credits.

Related MCP Servers