Skip to main content
Glama
Wanyi424
by Wanyi424

Server Quality Checklist

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

  • Disambiguation4/5

    The tools are mostly distinct with clear platform-specific purposes: extract_douyin_text focuses on text extraction, while parse_douyin_link, parse_xhs_link, and parse_generic_link handle resource parsing for different platforms. However, parse_generic_link overlaps with the platform-specific tools as a fallback, which could cause confusion about when to use it versus the dedicated tools.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with snake_case, using 'extract' or 'parse' as verbs and specifying the target (e.g., douyin_text, douyin_link, xhs_link, generic_link). This makes the naming predictable and easy to understand across the set.

    Tool Count5/5

    With 4 tools, the count is well-scoped for the server's purpose of watermark removal and content extraction from social media links. Each tool serves a clear function without being excessive or insufficient for the domain.

    Completeness4/5

    The tool set covers key operations for parsing links and extracting text from major platforms like Douyin and Xiaohongshu, with a generic fallback. A minor gap is the lack of tools for other common platforms (e.g., TikTok, Instagram) or advanced features like batch processing, but core workflows are adequately supported.

  • Average 4.3/5 across 4 of 4 tools scored. Lowest: 3.6/5.

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

    • 1 of 1 community issues answered or closed in the last 6 months
    • 10 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 Apache 2.0.

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It reveals the tool performs extraction (likely involving video processing and speech recognition), mentions an optional model parameter with default, and discloses the API key requirement. However, it doesn't describe rate limits, error conditions, processing time, or what happens with invalid links. The behavioral information is basic but not comprehensive.

    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 well-structured with clear sections (purpose, parameters, return, note) and appropriately sized. Each sentence adds value: the purpose statement, parameter explanations, return specification, and environment requirement. It's front-loaded with the core functionality. Minor improvement could be making the purpose statement slightly more distinctive from siblings.

    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 has 2 parameters (1 required), 0% schema description coverage, no annotations, but has an output schema, the description provides good contextual coverage. It explains both parameters' semantics, mentions the return value, and discloses the API key requirement. The output schema existence means the description doesn't need to detail return structure. For a tool of this complexity, it's reasonably complete though could benefit from more behavioral context.

    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 description adds significant semantic value beyond the 0% schema description coverage. It explains that share_link accepts '抖音分享链接或包含链接的文本' (Douyin share link or text containing link), clarifying it's not just a URL but can include surrounding text. For the model parameter, it specifies '语音识别模型' (speech recognition model) with default 'paraformer-v2', explaining its purpose when the schema only shows it as optional string/null. This compensates well for the schema's lack of descriptions.

    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: '从抖音分享链接提取视频中的文本内容' (extract text content from Douyin video share links). It specifies the verb '提取' (extract) and resource '文本内容' (text content) from Douyin videos. However, it doesn't explicitly differentiate from sibling tools like parse_douyin_link, which might parse metadata rather than extract text.

    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 through the parameter explanation and note about API key requirements, but doesn't explicitly state when to use this tool versus alternatives like parse_douyin_link or parse_generic_link. The mention of '需要设置环境变量 DASHSCOPE_API_KEY' (requires setting DASHSCOPE_API_KEY environment variable) provides some prerequisite guidance, but no explicit when/when-not instructions.

    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 the full burden of behavioral disclosure. It effectively describes key behaviors: automatic type detection (video/image), returns JSON with resource links and info, includes fallback to generic logic on failure, and specifies output formatting requirements (plain text with specific fields). It also notes that Douyin only returns caption fields, and titles need to be supplemented by the caller. However, it doesn't cover potential rate limits, authentication needs, or error handling details beyond the fallback mention.

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

    Conciseness3/5

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

    The description is appropriately sized but not optimally structured. It front-loads the core purpose but mixes parameter details, return format instructions, and behavioral notes in a somewhat dense paragraph. Sentences like '调用完成后,请将结果整理为以下纯文本格式并反馈给用户(禁止使用Markdown)' are verbose and could be streamlined. However, all content is relevant, with no redundant information.

    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 1 parameter, no annotations, and an output schema (implied by '返回' details), the description is mostly complete. It covers purpose, parameter semantics, return format, and key behaviors like fallback logic. The output schema existence means it doesn't need to fully explain return values, but it still provides useful formatting instructions. Minor gaps include lack of error details or performance considerations.

    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 1 parameter with 0% description coverage, so the description must compensate. It adds meaningful semantics: 'share_link: 抖音分享链接或包含链接的文本' (Douyin share link or text containing a link), clarifying that the parameter can accept either a raw link or embedded text. This goes beyond the schema's basic 'string' type, though it doesn't detail format constraints like URL patterns.

    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's purpose: '解析抖音分享链接,自动识别视频或图文类型并返回无水印资源' (parse Douyin share links, automatically identify video or image/text types, and return watermark-free resources). It specifies the exact resource (Douyin share links) and distinguishes from siblings like parse_xhs_link (for Xiaohongshu) and parse_generic_link (generic fallback).

    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 for when to use this tool: for parsing Douyin share links to get watermark-free resources. It mentions that if dedicated parsing fails, it will try generic fallback logic, implying parse_generic_link as an alternative. However, it doesn't explicitly state when NOT to use it versus siblings like extract_douyin_text (which might handle text extraction differently).

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

  • Behavior5/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 thoroughly describes key behaviors: automatic type detection (video/image), fallback to generic parsing on failure, output format requirements (pure text with specific fields), and instructions to preserve full content without truncation. This covers operational traits beyond basic functionality.

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

    Conciseness3/5

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

    The description is appropriately sized but not optimally structured. It front-loads the core purpose but includes extensive formatting instructions in the middle, which could be separated. Some sentences, like the note about Douyin's caption field, are relevant but slightly disrupt flow. Overall, it's clear but could be more streamlined.

    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?

    Given the tool's complexity (parsing, type detection, fallback logic) and no annotations, the description provides comprehensive context. It covers purpose, usage, behavior, parameters, and output handling. With an output schema present, it appropriately focuses on operational details rather than return value specifics, making it complete for effective use.

    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 compensate. It explains the single parameter 'share_link' as '小红书分享链接或包含链接的文本' (Xiaohongshu share link or text containing a link), adding semantic context about acceptable input formats. However, it does not detail constraints like link validation or examples, leaving some gaps in parameter understanding.

    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's purpose: '解析小红书分享链接,自动识别视频或图文类型并返回无水印资源' (Parse Xiaohongshu share links, automatically identify video or graphic types and return watermark-free resources). It specifies the verb ('parse'), resource ('Xiaohongshu share links'), and distinguishes from siblings by focusing on Xiaohongshu specifically, unlike generic or Douyin-focused tools.

    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 for when to use this tool: for parsing Xiaohongshu links to extract resources. It implies alternatives by mentioning '若专用解析失败,将自动尝试 generic 兜底逻辑' (if dedicated parsing fails, it will automatically try generic fallback logic), which suggests generic_link as a fallback, but does not explicitly name when to choose this tool over siblings like parse_douyin_link or extract_douyin_text. No explicit exclusions are provided.

    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. It discloses: 1) output format requirements ('整理为以下纯文本格式并反馈给用户'), 2) content preservation rules ('完整保留标题与文案的全部内容'), 3) error conditions ('若未能解析,将返回错误说明'), and 4) formatting restrictions ('禁止使用Markdown'). It doesn't mention rate limits or authentication needs, but covers key behavioral aspects.

    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 well-structured with clear sections (purpose, parameters, returns, formatting instructions). Every sentence adds value: the opening states purpose, parameter section explains input, return section details output format and formatting rules. It could be slightly more concise in the formatting instructions but remains efficient.

    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?

    Given 1 parameter with 0% schema coverage and no annotations, the description provides complete context. It explains what the tool does, when to use it, parameter semantics, output format, formatting requirements, content handling rules, and error conditions. The existence of an output schema means it doesn't need to detail return structure, and it appropriately focuses on usage context.

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

    Parameters5/5

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

    With 0% schema description coverage (schema only has title 'Share Link'), the description fully compensates. It explains the parameter accepts '任意平台的分享链接或包含链接的文本' (any platform's share link or text containing links) and specifically mentions '抖音/小红书亦可传入' (Douyin/Xiaohongshu can also be passed). This adds crucial semantic context beyond the bare 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's purpose: '解析任意短视频/图文链接' (parse any short video/image-text link) with 'generic 兜底逻辑' (generic fallback logic). It specifically distinguishes from siblings by handling '任意平台' (any platform) including Douyin/Xiaohongshu, unlike the sibling tools which are platform-specific (extract_douyin_text, parse_douyin_link, parse_xhs_link).

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

    Usage Guidelines5/5

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

    The description provides explicit usage guidance: '直接启用 generic 兜底逻辑' (directly enable generic fallback logic), implying this should be used as a fallback when platform-specific tools aren't appropriate. It mentions specific platforms (抖音/小红书) that can be handled, and the sibling tool names clearly show this is the generic alternative to platform-specific parsers.

    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

wanyi-watermark MCP server

Copy to your README.md:

Score Badge

wanyi-watermark 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/Wanyi424/wanyi-watermark'

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