Skip to main content
Glama
YeTor53

chinese-char-counter-mcp

by YeTor53

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation4/5

    The three tools have related but fairly distinguishable purposes: single counting, batch counting, and Chinese-only extraction. There is some overlap between count_chinese_characters and count_chinese_characters_batch, but the batch version is clearly scoped for multiple texts.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun-ish snake_case pattern: count_chinese_characters, count_chinese_characters_batch, extract_chinese_text. The relationship between the count tools is also clearly signposted by the _batch suffix.

    Tool Count4/5

    Three tools is a reasonable, focused set for a Chinese character counter server. It is not thin for the core purpose, though batch counting could arguably be folded into the main count tool.

    Completeness4/5

    The server covers counting, batch counting, and extracting Chinese characters, which is solid for the domain. There are minor gaps around broader text-processing needs such as normalization or validation, but the stated purpose is well covered.

  • Average 3.7/5 across 3 of 3 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 5 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is failing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior3/5

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

    Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: a 200,000-character input limit and the fact that failures surface via an 'error' field rather than throwing. That is useful but not rich; no mention of performance implications at the upper length bound.

    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?

    Front-loads the one-line purpose, then separates Args and Returns cleanly. The Returns block is somewhat long given an output schema already exists, which is mild redundancy, but every element remains readable and no sentence is pure filler.

    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 counting tool with annotations and an output schema, the definition covers input limits, scope of the count, and error signaling. The main gap is sibling disambiguation, which the description leaves entirely to the agent.

    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?

    Schema description coverage is 0%, so the description must carry the parameter alone, and it does: it defines 'text' as the text to be counted and gives a concrete 200,000-character upper bound. That is the key semantic an agent needs before calling, though nothing is said about encoding or multibyte handling.

    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?

    The description states a specific verb+resource (counting Chinese characters in a text) and precisely scopes what counts (CJK ideographs including extensions and '〇', excluding punctuation, spaces, letters, digits). It does not, however, distinguish itself from its siblings count_chinese_characters_batch or extract_chinese_text, so an agent must infer the division of labor.

    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 implied by the narrowly defined scope of what gets counted, letting an agent infer this is the single-text counter. But there is no explicit when-to-use statement, no mention that a batch sibling exists for multiple texts, and no guidance on selection versus extract_chinese_text.

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

  • Behavior4/5

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

    Annotations already establish that this is a safe, read-only, idempotent, closed-world operation, and the description does not contradict them. The description adds genuinely useful context beyond the annotations: a hard input length cap of 200000 characters and the semantics of the error field (empty string on success). This is meaningful behavioral disclosure.

    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?

    The purpose is front-loaded in the first line, followed by cleanly separated Args and Returns sections. The Returns section slightly duplicates the existing output schema, but the structure is tight and each line 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?

    For a single-parameter, non-destructive utility with an output schema, the definition covers everything needed: purpose, the input constraint, and the meaning of the returned fields including the error indicator. Since an output schema exists, the Returns prose is redundant rather than necessary, which keeps this just short of a 5.

    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?

    Schema description coverage is 0%, so the input schema alone carries no meaning for the sole parameter. The description compensates by defining 'text' as the text to be processed and stating its maximum length (200000 characters), which is exactly the information an agent needs before invoking.

    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?

    The description gives a specific verb (抽取/extract) and resource (中文字符/Chinese characters), and it enumerates precisely what is excluded: punctuation, spaces, English, numbers and other characters. An agent understands the transformation unambiguously. It does not, however, explicitly distinguish itself from the sibling tools count_chinese_characters / count_chinese_characters_batch.

    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?

    There is no when-to-use guidance: the description never states the conditions under which this extraction is preferred over the sibling counting tools, nor any prerequisites or exclusions. The purpose is clear, but routing guidance is entirely absent.

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

  • Behavior4/5

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

    Annotations already cover safety (readOnly, idempotent, non-destructive, closed world), so the bar is lower. Beyond them the description adds concrete operational limits (max 500 texts, 200000 chars each) and failure semantics via the 'error' field, which are genuinely useful and not derivable from annotations.

    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?

    Front-loaded one-line purpose followed by tightly organized Args and Returns sections. Every sentence carries information (limits, ordering, aggregate field, error field) with no filler.

    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?

    Even though an output schema exists, the description usefully enumerates the result fields and the error convention, and supplies the input limits. The only minor gap is no explicit statement of when to prefer this over the single-text sibling.

    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?

    Schema coverage is 0% (the schema only says 'array of strings'), so the description must compensate — and it does, documenting that texts is a list capped at 500 items with a 200000-character per-item ceiling. That constraint meaningfully exceeds the bare schema.

    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?

    It states a specific verb and resource ('批量统计多条文本的中文字数') plus the aggregation behavior ('给出合计'), so the operation is unambiguous. It does not explicitly name the singular sibling count_chinese_characters, but '批量' (batch) clearly separates it from that sibling by inference.

    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 via the word '批量' — an agent can infer this is for multiple texts versus the single-text sibling, but there is no explicit when-to-use, when-not-to-use, or alternative routing. No mention of extract_chinese_text as a related option.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

chinese-char-counter-mcp MCP server – quality and maintenance score on Glama

Copy to your README.md:

Score Badge

chinese-char-counter-mcp MCP server – quality and maintenance score on Glama

Copy to your README.md: