Skip to main content
Glama
onigeya
by onigeya

Server Quality Checklist

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

  • Disambiguation5/5

    The three tools have clearly distinct purposes: executeCommand performs actions, help provides documentation, and queryCommands lists available commands. There is no overlap in functionality, making it easy for an agent to select the correct tool for each task.

    Naming Consistency4/5

    The tool names follow a consistent verb_noun pattern (executeCommand, queryCommands) with one minor deviation (help is a noun-only name). This small inconsistency does not significantly impact readability or predictability, as the naming is still clear and logical.

    Tool Count3/5

    With only 3 tools, the server feels thin for a note-taking domain, as it lacks operations for creating, reading, updating, or deleting notes directly. While the tools provide a command-based interface, the count is borderline low for the apparent scope of managing notes in SiYuan.

    Completeness2/5

    The tool surface is significantly incomplete for a note-taking server. There are no tools for core CRUD operations on notes (e.g., create_note, get_note, update_note, delete_note), which are essential for agent workflows. The current tools only support command execution and help, leaving major gaps in functionality.

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

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

  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • 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

  • Behavior1/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. '执行指定的命令' (Execute the specified command) implies a potentially destructive or mutating operation, but provides zero information about permissions required, side effects, safety considerations, rate limits, or what happens upon execution. This leaves the agent completely in the dark about critical behavioral traits.

    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 extremely concise - a single phrase in Chinese. While this represents severe under-specification rather than ideal conciseness, according to the scoring framework, conciseness is evaluated separately from completeness. The description contains zero wasted words and is front-loaded with its limited information.

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

    Completeness1/5

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

    Given the complexity of a command execution tool with no annotations, no output schema, and a description that provides almost no useful information, this description is completely inadequate. The agent cannot understand what commands are available, what they do, what permissions are required, what happens upon execution, or how to interpret results. This represents a critical failure in contextual completeness for a potentially powerful/destructive 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?

    The schema description coverage is 100%, with both parameters ('type' and 'params') having descriptions in the schema. The tool description adds no additional meaning about parameters beyond what the schema already provides. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no parameter information in the description.

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

    Purpose2/5

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

    The description '执行指定的命令' (Execute the specified command) is a tautology that essentially restates the tool name 'executeCommand' in Chinese. It provides no specific information about what kind of commands are executed, what resources are affected, or how this differs from sibling tools like 'queryCommands'. The purpose remains vague and indistinguishable from alternatives.

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

    Usage Guidelines1/5

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

    The description provides absolutely no guidance on when to use this tool versus alternatives like 'queryCommands' or 'help'. There is no mention of appropriate contexts, prerequisites, or exclusions. The agent receives no help in determining when this tool is the correct choice among available options.

    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. The description only states what the tool does ('get help information') without adding context on behavioral traits such as whether it's read-only, if it requires specific permissions, what the output format might be, or any rate limits. It's minimal and doesn't compensate for the lack of annotations.

    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 a single sentence ('获取命令的帮助信息'), which is appropriately sized and front-loaded. It's concise with no wasted words, though it could be more informative. The structure is clear but minimal, earning a high score for efficiency.

    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 (a help tool with one parameter) and lack of annotations or output schema, the description is incomplete. It doesn't explain what 'help information' includes, how it relates to sibling tools, or what the tool returns. For a tool with no structured output and minimal behavioral context, it should provide more guidance to be fully helpful.

    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 input schema has 100% description coverage, with the parameter 'type' described as '命令类型' (command type). The description adds no meaning beyond this, as it doesn't explain what 'type' entails or provide examples. With high schema coverage, the baseline is 3, and the description doesn't enhance or detract from the schema's information.

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

    Purpose3/5

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

    The description '获取命令的帮助信息' translates to 'Get help information for commands,' which states a purpose but is vague. It specifies a verb ('获取' - get) and resource ('帮助信息' - help information), but doesn't clarify what 'commands' refer to or how this differs from siblings like 'executeCommand' or 'queryCommands.' It's not tautological, but lacks specificity for sibling differentiation.

    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. There are sibling tools like 'executeCommand' and 'queryCommands,' but the description doesn't mention them or suggest contexts for usage (e.g., when you need help vs. executing a command). It's a basic statement of function with no exclusions or alternatives implied.

    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. The description only states what the tool does ('查询可用的命令列表') without revealing any behavioral traits such as whether this is a read-only operation, what format the output returns, whether there are rate limits, authentication requirements, or error conditions. For a tool with no annotation coverage, this is a significant gap.

    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 extremely concise - a single phrase '查询可用的命令列表' that directly states the tool's purpose with zero wasted words. It's appropriately sized for a simple query tool and front-loaded with the essential information.

    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 that there are no annotations and no output schema, the description is incomplete. While the tool appears to be a simple read operation (querying available commands), the description doesn't explain what the return format looks like, whether results are filtered/paginated, or any other behavioral aspects. For a tool with 2 parameters and no structured output documentation, the description should provide more context about what users can expect.

    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 input schema has 100% description coverage (both parameters 'namespace' and 'type' are documented in the schema as '命令命名空间过滤' and '命令名称过滤' respectively). The tool description adds no parameter information beyond what the schema already provides. According to the rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description.

    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 '查询可用的命令列表' (Query available command list) clearly states the tool's purpose with a specific verb ('查询' - query) and resource ('可用的命令列表' - available command list). It distinguishes from the sibling 'executeCommand' (which executes commands rather than listing them) and 'help' (which likely provides documentation rather than listing). However, it doesn't explicitly differentiate from 'help' which might overlap in functionality.

    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 use 'queryCommands' versus 'executeCommand' or 'help', nor does it specify any prerequisites or contexts where this tool is particularly appropriate. The user must infer usage from the tool name alone.

    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

siyuan-mcp-server MCP server

Copy to your README.md:

Score Badge

siyuan-mcp-server 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/onigeya/siyuan-mcp-server'

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