Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: get-yuque-doc retrieves a single document's details, get-yuque-toc fetches a knowledge base's table of contents, list-yuque-docs lists all documents in a knowledge base, and search-yuque-docs searches within a knowledge base. The descriptions clearly differentiate these operations, eliminating any ambiguity.

    Naming Consistency5/5

    All tool names follow a consistent verb-noun pattern with hyphens: get-yuque-doc, get-yuque-toc, list-yuque-docs, and search-yuque-docs. The naming is uniform, predictable, and readable, with no deviations in style or convention.

    Tool Count4/5

    With 4 tools, the server is well-scoped for basic document retrieval and navigation in Yuque, covering core operations like fetching, listing, searching, and getting TOC. However, it lacks CRUD operations (e.g., create, update, delete), making it slightly under-equipped for a full document management system, though reasonable for a read-only interface.

    Completeness3/5

    The tool set provides good read-only coverage for accessing and navigating Yuque documents and knowledge bases, but there are notable gaps in CRUD operations (no create, update, or delete tools) and other lifecycle actions like commenting or version management. This limits agents to retrieval tasks without full document management capabilities.

  • Average 3.1/5 across 4 of 4 tools scored.

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

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • 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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool returns a list with basic information (title, slug, update time), which is helpful. However, it doesn't disclose important behavioral traits like whether this is a read-only operation, pagination behavior, rate limits, authentication requirements, error conditions, or what happens when namespace isn't provided (though the schema mentions default namespace). For a list operation with zero annotation coverage, this leaves significant gaps.

    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 description is appropriately concise with two sentences that directly address purpose and return value. The first sentence states what the tool does, and the second describes the return format. There's no wasted text or unnecessary elaboration. However, it could be slightly more front-loaded by integrating the return information into the purpose statement for even tighter structure.

    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?

    Given the tool's moderate complexity (list operation with one optional parameter), no annotations, and no output schema, the description is minimally adequate. It covers the basic purpose and return format but lacks important contextual information about behavioral traits, usage guidelines, and error handling. The absence of output schema means the description should ideally provide more detail about the return structure, but it only mentions basic fields without format or examples.

    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?

    The schema description coverage is 100%, with the single parameter 'namespace' well-documented in the schema. The description doesn't add any parameter-specific information beyond what's in the schema. It mentions '指定知识库' (specified knowledge base) which aligns with the namespace parameter, but provides no additional context about format, examples, or usage. With high schema coverage, the baseline of 3 is appropriate as the description doesn't compensate but doesn't need to.

    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 clearly states the tool's purpose with a specific verb ('列出' meaning 'list') and resource ('指定知识库中的所有文档' meaning 'all documents in the specified knowledge base'). It distinguishes from sibling tools like 'get-yuque-doc' (retrieves a single document) and 'search-yuque-docs' (searches documents), but doesn't explicitly differentiate from 'get-yuque-toc' (which might list table of contents). The purpose is clear but sibling differentiation could be more explicit.

    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?

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to prefer 'list-yuque-docs' over 'search-yuque-docs' for filtering, or when 'get-yuque-toc' might be more appropriate. There's no discussion of prerequisites, context, or exclusions. The only implied usage is when you want to list all documents in a knowledge base, but no comparative guidance is given.

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

  • 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 burden. It mentions that searching occurs in document titles and descriptions, which adds some behavioral context. However, it lacks details on permissions, rate limits, pagination, or what happens if no matches are found. For a search tool with zero annotation coverage, this is insufficient.

    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 description is concise with two sentences that directly state the tool's function and scope. It's front-loaded with the main purpose, though it could be slightly more structured by explicitly mentioning parameters or usage context.

    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?

    Given the complexity of a search tool with no annotations and no output schema, the description is incomplete. It doesn't explain return values, error handling, or how results are formatted. The mention of keyword matching in titles and descriptions is helpful but insufficient for full contextual understanding.

    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%, so the schema already documents both parameters ('query' as search keywords and 'namespace' as knowledge base namespace). The description implies the 'namespace' parameter specifies the knowledge base but doesn't add meaning beyond what the schema provides. Baseline 3 is appropriate when schema does the heavy lifting.

    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 clearly states the tool's purpose: '在指定的知识库中搜索文档' (search for documents in a specified knowledge base). It specifies the verb '搜索' (search) and resource '文档' (documents), but doesn't explicitly differentiate from sibling tools like 'list-yuque-docs' or 'get-yuque-doc' beyond mentioning keyword matching in titles and descriptions.

    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?

    The description provides no guidance on when to use this tool versus alternatives like 'list-yuque-docs' (which might list all documents) or 'get-yuque-doc' (which retrieves a specific document). It mentions searching within a knowledge base but doesn't specify scenarios where searching is preferable to listing or getting.

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

  • 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 burden of behavioral disclosure. It describes what the tool does (gets TOC structure) but lacks critical behavioral details: it doesn't mention whether this is a read-only operation, potential rate limits, authentication requirements, error conditions, or the format of the returned data. For a tool with no annotation coverage, this is a significant gap in transparency.

    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 description is appropriately concise with two sentences that directly address the tool's function and capabilities. The first sentence states the core purpose, and the second adds useful context about what can be viewed. There's no wasted language, though it could be slightly more structured with explicit usage guidance.

    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?

    Given the tool has no annotations, no output schema, and the description lacks behavioral details, the description is incomplete. It adequately explains what the tool does but fails to address how it behaves, what it returns, or important contextual factors. For a tool that presumably returns structured data, the absence of output information is particularly problematic.

    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?

    The schema description coverage is 100%, with the single parameter 'namespace' fully documented in the schema. The description doesn't add any parameter-specific information beyond what's in the schema. According to the rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description, which applies here.

    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 clearly states the tool's purpose: '获取语雀知识库的完整目录结构(TOC)' (Get the complete table of contents structure for Yuque knowledge base). It specifies the verb ('获取' - get) and resource ('目录结构' - TOC structure), and distinguishes it from siblings by focusing on hierarchical structure rather than listing or searching documents. However, it doesn't explicitly differentiate from 'list-yuque-docs' which might also provide some structural information.

    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?

    The description implies usage context by mentioning '可以查看知识库中所有文档的层级结构、标题和 slug' (Can view the hierarchical structure, titles, and slugs of all documents in the knowledge base), suggesting it's for understanding document organization. However, it doesn't explicitly state when to use this tool versus alternatives like 'list-yuque-docs' or 'search-yuque-docs', nor does it provide any exclusions or prerequisites.

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

  • 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 key behavioral traits: it's a read operation (implied by '获取'), returns detailed information including content and stats, and supports multiple input formats. However, it lacks details on error handling, rate limits, authentication needs, or response structure. For a tool with no annotations, this is adequate but leaves gaps in operational context.

    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?

    The description is well-structured and concise. It starts with a clear purpose statement, then lists supported input formats with examples, and finally enumerates the returned information in a bulleted list. Every sentence adds value without redundancy, making it easy for an agent to parse quickly.

    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?

    Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is fairly complete. It covers the purpose, input methods, and return data. However, without an output schema, it could benefit from more detail on the response format (e.g., structure of '文档完整内容'). Still, it provides sufficient context for basic usage, justifying a score above minimum viable.

    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%, so the schema already documents all three parameters thoroughly. The description adds value by explaining the two input formats and how parameters interact (e.g., '如果提供了 docUrl 则忽略此参数' for namespace), but doesn't provide additional semantic meaning beyond what's in the schema. This meets the baseline for high schema coverage.

    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 clearly states the tool's purpose: '获取文档的详细信息' (get detailed information about a document) from Yuque. It specifies the resource (Yuque document) and the action (retrieve details). However, it doesn't explicitly differentiate from sibling tools like 'get-yuque-toc' (which likely gets table of contents) or 'list-yuque-docs' (which likely lists documents), so it's not a perfect 5.

    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?

    The description provides usage context by detailing two supported input formats (URL vs. namespace+slug), which implies when to use each format. However, it doesn't explicitly state when to use this tool versus alternatives like 'search-yuque-docs' or 'get-yuque-toc', nor does it mention any prerequisites or exclusions. This leaves some ambiguity for the agent in selecting between siblings.

    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

yuque-mcp MCP server

Copy to your README.md:

Score Badge

yuque-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/saoqixiaomm/yuque-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server