Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: deployment, listing, details, deletion, and domain check/set/clear. No two tools overlap in functionality.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in snake_case (e.g., deploy_website, set_custom_domain), making them predictable and easy to understand.

    Tool Count5/5

    7 tools is well-scoped for a website management server, covering core operations without unnecessary complexity.

    Completeness4/5

    The tool set covers essential CRUD (deploy, list, get, delete) and domain management, but lacks an explicit update operation for website metadata, though redeploy can serve as a workaround.

  • Average 3.6/5 across 7 of 7 tools scored. Lowest: 2.9/5.

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

    • No community issues in the last 6 months
    • No commit activity data available
    • Last stable release on
    • 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.

  • This repository includes a glama.json configuration file.

  • This server has been verified by its author.

  • 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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. The description states it '获取详细信息' (gets detailed information), implying a read-only operation, but doesn't explicitly confirm this or disclose other traits like authentication needs, rate limits, error conditions, or response format. For a tool with zero 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 concise and front-loaded in a single sentence: '获取指定网站的详细信息,包括文件列表、部署历史等'. It efficiently states the purpose and key details returned. However, it could be slightly more structured by explicitly separating purpose from returned data for clarity.

    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 read operation with one parameter), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what '详细信息' (detailed information) includes beyond a partial list (file list, deployment history), nor does it cover behavioral aspects like response format or error handling. For a tool with no structured support, the description should do more to compensate.

    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 description adds minimal value beyond the input schema. The schema has 100% coverage with one parameter ('websiteId'), fully described as '要查询的网站 ID' (the website ID to query). The description implies the parameter is used to specify a website but doesn't provide additional context like format examples or constraints. With high schema coverage, the baseline is 3.

    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 specified website, including file list, deployment history, etc.). It specifies the verb ('获取' - get) and resource ('网站' - website), and lists specific details returned. However, it doesn't explicitly differentiate from sibling tools like 'list_websites' (which likely lists multiple websites vs. getting details for one).

    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 sibling tools like 'list_websites' (for listing websites) or 'delete_website'/'deploy_website' (for other operations), nor does it specify prerequisites or contexts for usage. The agent must infer usage from the tool name and description alone.

    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 states this is a read operation ('获取' - get/list), implying it's non-destructive, but doesn't clarify permissions, rate limits, pagination, or error handling. For a list tool with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves beyond its basic function.

    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, efficient sentence that clearly states what the tool does and what information it returns. It's front-loaded with the core purpose and avoids redundancy. However, it could be slightly more structured by explicitly separating purpose from output details, but it's still highly concise.

    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 simplicity (0 parameters, no output schema, no annotations), the description is adequate but has clear gaps. It covers the basic purpose and output fields, but lacks behavioral context (e.g., permissions, pagination) and usage guidelines relative to siblings. For a list tool, this is minimally viable but not 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 input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here. Baseline is 4 for 0 parameters, as the description focuses on the tool's purpose without unnecessary parameter clutter.

    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: '获取用户在 Demox 平台上的所有网站列表' (get all websites list for the user on the Demox platform). It specifies the verb ('获取' - get/list) and resource ('网站列表' - websites list), and includes what information is returned (ID, name, URL, creation time). However, it doesn't explicitly differentiate from sibling tools like 'get_website' (which likely gets a single website), so it misses the highest score.

    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 sibling tools like 'get_website' (for single website details) or 'delete_website'/'deploy_website' (for other operations), nor does it specify any prerequisites, contexts, or exclusions for usage. The agent must infer usage from the purpose alone.

    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 the effect of priority display but does not disclose key behaviors such as whether it overrides existing settings, triggers validation, requires permissions, or is idempotent. This is insufficient for a mutation 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?

    The description is two short sentences with no wasted words. It is front-loaded with the action and efficiently communicates the core purpose.

    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 no output schema, no annotations, and sibling tools that check and clear, the description lacks important context. It does not cover idempotency, side effects, or prerequisites, leaving the agent with insufficient information to use the tool correctly in various scenarios.

    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 100%, so baseline is 3. The description adds minimal value beyond the schema; the phrase '设置自定义子域名前缀' loosely aligns with the subdomain parameter but does not provide additional detail. The example in the schema description is more helpful.

    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 sets a custom subdomain prefix for a specified website and mentions the effect of priority display. It is specific about the verb and resource. However, it does not explicitly differentiate from siblings like check_custom_domain or clear_custom_domain, though the distinction is implicit from the name.

    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 for setting a custom subdomain, but lacks explicit guidance on when to use this tool versus checking or clearing. No alternative tools are mentioned, and no context about prerequisites or typical workflows is provided.

    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 provided, so description must carry full behavioral disclosure. It only states the check action and domain format, omitting side effects, auth needs, or that it's read-only.

    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?

    Single sentence is efficient and front-loaded with purpose. No waste, but could add slight usage guidance without verbosity.

    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?

    Minimal for a simple check tool, but missing output format description (e.g., returns boolean). Sibling tools exist, but no guidance on how this fits into workflow. Adequate but not 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?

    Schema coverage is 100%, but description adds value: explains domain format for subdomain parameter and clarifies that websiteId, if matching a bound prefix, makes it available. This goes beyond raw schema.

    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?

    The description clearly states the tool checks availability of a custom subdomain prefix, specifying the domain format. It distinguishes from siblings like set_custom_domain and clear_custom_domain.

    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?

    No explicit guidance on when to use this tool or alternatives. The description implies a checking purpose but lacks context like 'use before set_custom_domain' or scenarios where it's not needed.

    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 provided, so the description must cover behavioral traits. It explains PDF/document conversion and create vs. update behavior based on websiteId. However, it omits whether deployment is synchronous, permission requirements, or error conditions.

    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 sentences with no filler. The first sentence states the core action and supported types; the second adds conversion details. Every word is informative.

    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?

    Covers input types, optional parameters, and conversion logic. Missing details about output (e.g., returns website URL or ID), sync/async nature, and potential errors. For a deploy tool with no output schema, these gaps are notable but not critical.

    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 100%, but the description adds significant value beyond field names: it clarifies that zipFile accepts multiple formats, explains auto-packaging for directories, and details templateId's scope (only for documents) and fileName fallback.

    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?

    The description clearly states 'deploy static website to Demox platform' and lists supported input types (directory, ZIP, PDF, documents) with conversion behavior. This distinguishes it from sibling tools focused on domain management and website CRUD operations.

    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 when to use this tool (for deployment), but does not explicitly contrast with siblings like check_custom_domain or list_websites. No guidance on when NOT to use it or alternatives.

    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?

    Despite no annotations, the description discloses a key behavioral trait: the website remains accessible via default domain after clearing. This adds value beyond the input schema.

    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?

    Single, concise sentence with no unnecessary words, front-loading the main action and consequence.

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

    Completeness5/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, the description covers the operation and its impact on website accessibility, making it fully sufficient.

    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 the parameter description essentially repeats the tool's description, adding no new meaning. Baseline score of 3 is appropriate.

    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?

    The description clearly states the action (clear custom subdomain prefix) and the resource (specified website), and notes the site remains accessible via default domain, distinguishing it from siblings like set_custom_domain or check_custom_domain.

    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?

    No explicit guidance on when to use vs alternatives is provided; the context is implicit from sibling names but not stated in the description.

    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?

    With no annotations provided, the description carries full burden and does well by disclosing critical behavioral traits: it's destructive ('删除' - delete), irreversible ('不可撤销' - irreversible), and affects all associated files ('及其所有文件' - and all its files). It also includes a safety warning. The only gap is lack of information about permissions needed or error conditions.

    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 perfectly concise with two sentences: the first states the action and scope, the second provides the critical warning. Every word earns its place, and the warning is appropriately positioned for emphasis without redundancy.

    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 destructive tool with no annotations and no output schema, the description does well by covering the irreversible nature and scope of deletion. However, it doesn't mention what happens on success (e.g., confirmation message) or failure (e.g., error if website doesn't exist), which would be helpful given the high-stakes nature of the operation.

    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% with the single parameter 'websiteId' documented as '要删除的网站 ID' (website ID to delete). The description doesn't add any additional parameter semantics beyond what the schema already provides, such as format examples or where to find the ID. 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.

    Purpose5/5

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

    The description clearly states the action ('删除指定的网站及其所有文件' - delete specified website and all its files) and the resource ('网站' - website), making the purpose specific and unambiguous. It distinguishes from siblings like get_website (read) and deploy_website (create/update) by focusing on permanent removal.

    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?

    The description provides clear context about when to use this tool ('删除指定的网站' - delete specified website) and includes an important caution ('此操作不可撤销,请谨慎使用' - this operation is irreversible, use with caution). However, it doesn't explicitly mention when NOT to use it or name specific alternatives like using get_website first to verify.

    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

mcp-server MCP server

Copy to your README.md:

Score Badge

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/demox-site/mcp-server'

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