Skip to main content
Glama
lieyanqzu
by lieyanqzu

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools have distinct purposes: get_card_by_set_and_number retrieves a specific card, get_set and get_set_cards handle series data, get_sets lists all series, and search_cards performs general searches. However, get_set_cards and search_cards could be confused as both retrieve card lists, though their scopes differ (series-specific vs. general).

    Naming Consistency4/5

    Tools follow a consistent verb_noun pattern (e.g., get_card_by_set_and_number, get_set, get_set_cards, get_sets, search_cards), which is clear and predictable. The exception is 'hzls', which uses an acronym and lacks a verb, slightly deviating from the pattern but not severely impacting readability.

    Tool Count5/5

    With 6 tools, the server is well-scoped for Magic: The Gathering card data management. Each tool serves a specific function (e.g., retrieving cards, series, or generating images), and there are no redundant or missing tools for the apparent domain, making the count appropriate.

    Completeness4/5

    The tool surface covers core operations for MTG data: retrieving cards (by ID, series, or search), series information, and a creative image tool. Minor gaps exist, such as no explicit update or delete tools for data modification, but this is reasonable for a read-focused API, and agents can work around it with the provided search and retrieval functions.

  • Average 3.5/5 across 6 of 6 tools scored.

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

    • 0 of 1 community issues answered or closed in the last 6 months
    • 0 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • 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.

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

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 provide readOnlyHint=true and openWorldHint=true, indicating this is a safe read operation with potentially unpredictable outputs. The description adds useful context about the specific behavior (using card images to stitch text into a picture) and mentions the '活字乱刷' concept, but doesn't disclose important behavioral traits like output format, image dimensions, processing time, or error conditions that would help an agent use it effectively.

    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 just one sentence that directly states the tool's purpose. It's front-loaded with the core functionality and wastes no words. The Chinese name '活字乱刷' adds some cultural context but doesn't detract from clarity for a Chinese-speaking agent.

    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 has no output schema and annotations only cover basic safety hints, the description should do more to explain what the tool returns (presumably an image file/URL) and any important behavioral constraints. For an image generation tool with 3 parameters, the current description is minimally adequate but leaves significant gaps about output format, quality expectations, and practical usage considerations.

    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?

    With 100% schema description coverage, the input schema already documents all three parameters thoroughly. The description doesn't add any meaningful parameter semantics beyond what's in the schema - it mentions '输入的文本' (input text) which corresponds to target_sentence, but provides no additional context about parameter interactions, constraints, or usage patterns.

    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: '将输入的文本使用魔法卡牌图像拼接成图片' (use magic card images to stitch input text into a picture). It specifies both the action (stitching/拼接) and resource (card images/卡牌图像), though it doesn't explicitly differentiate from sibling tools which appear to be card lookup/search tools rather than image generation tools.

    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 any prerequisites, constraints, or comparison with sibling tools like get_card_by_set_and_number or search_cards. The only implied usage is when you want to create an image from text using card images.

    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?

    Annotations already declare readOnlyHint=true and openWorldHint=true, indicating this is a safe read operation with potentially incomplete data. The description adds no behavioral context beyond what annotations provide, such as rate limits, authentication needs, or response format. However, it doesn't contradict annotations, so it meets the baseline for tools with good annotation coverage.

    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 a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and every part of the sentence contributes to understanding the tool's function.

    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 low complexity (2 required parameters), high schema coverage (100%), and helpful annotations (readOnlyHint, openWorldHint), the description is adequate but minimal. It lacks output information (no output schema) and doesn't explain return values or error cases. For a simple lookup tool, it's complete enough but could be more informative.

    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 clear descriptions for both parameters ('collector_number' and 'set'). The description adds no additional parameter semantics beyond what the schema provides, such as format examples or constraints. With high schema coverage, the baseline score of 3 is appropriate.

    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 a single card by set code and collector number). It specifies the verb '获取' (get/retrieve) and the resource '单张卡牌' (single card). However, it doesn't explicitly differentiate from sibling tools like 'get_set_cards' or 'search_cards', which likely retrieve multiple cards or use different search criteria.

    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 'search_cards' or 'get_set_cards', nor does it specify prerequisites or exclusions. The usage is implied by the parameter requirements but not explicitly stated.

    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?

    Annotations already provide readOnlyHint=true and openWorldHint=true, so the agent knows this is a safe read operation that may return partial results. The description adds minimal behavioral context beyond this - it specifies this retrieves '详细信息' (detailed information) which suggests comprehensive data, but doesn't describe format, limitations, or what constitutes 'detailed' information. With annotations covering the safety profile, a baseline 3 is appropriate as the description adds some value but not rich behavioral 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 a single, efficient sentence that communicates the core purpose without any wasted words. It's appropriately sized for a simple retrieval tool with one parameter. The structure is front-loaded with the essential information - what the tool does and what it requires. Every word earns its place in this concise description.

    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?

    For a simple read operation with good annotations (readOnlyHint, openWorldHint) and complete schema coverage, the description is minimally adequate. However, without an output schema, the description doesn't explain what '详细信息' (detailed information) includes or the return format. Given the tool's simplicity and good annotation coverage, the description meets basic requirements but could better address what constitutes the returned 'detailed information'.

    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 'set_code' well-documented in the schema (including examples like 'NEO', 'MOM'). The description doesn't add any parameter semantics beyond what the schema already provides - it mentions '系列代码' (series code) which is already covered in the schema. With complete schema coverage, the baseline 3 is appropriate as the 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 action ('获取' - get/retrieve) and resource ('单个系列的详细信息' - detailed information of a single series), making the purpose immediately understandable. It doesn't specifically differentiate from sibling tools like 'get_sets' (which likely retrieves multiple series), but the focus on a single series is clear. The description avoids tautology by providing meaningful context beyond just the tool name.

    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 several sibling tools that appear related (get_sets, get_set_cards, get_card_by_set_and_number), but the description doesn't indicate when this specific single-series retrieval tool is appropriate versus those other options. No context about prerequisites, limitations, or appropriate scenarios is provided.

    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?

    The description adds minimal behavioral context beyond annotations. Annotations already declare readOnlyHint=true (safe read operation) and openWorldHint=true (data may change), so the agent knows it's non-destructive and dynamic. The description only adds sorting behavior ('按发布日期降序排列'), which is useful but limited. No other traits like rate limits, auth needs, or response format are disclosed, but with annotations covering safety, this meets baseline expectations.

    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 a single, efficient sentence in Chinese that conveys the core action, resource, and sorting behavior without any waste. It's front-loaded with the main purpose ('返回所有MTG卡牌系列的完整数据') and adds only essential detail. Every word earns its place, making it highly concise and well-structured.

    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, read-only with open-world hints, no output schema), the description is adequate but not fully complete. It explains what the tool does and sorting, but lacks details on response format (e.g., structure of returned data) or potential limitations (e.g., pagination). With annotations handling safety, it meets minimum viability, but could be more informative for an agent invoking it.

    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 tool has 0 parameters, with 100% schema description coverage (empty schema). The description doesn't need to explain parameters, as there are none. It appropriately focuses on the tool's function without redundant parameter info, earning a high score for this context.

    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: '返回所有MTG卡牌系列的完整数据' (returns complete data for all MTG card sets). It specifies the verb ('返回' - return) and resource ('MTG卡牌系列' - MTG card sets), and mentions the sorting order ('按发布日期降序排列' - sorted by release date descending). However, it doesn't explicitly distinguish this from sibling tools like 'get_set' (singular) or 'get_set_cards', which slightly limits 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. It doesn't mention sibling tools like 'get_set' (for a single set) or 'get_set_cards' (for cards within a set), nor does it specify use cases or exclusions. The agent must infer usage from the tool name and description alone, which is insufficient for optimal selection.

    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?

    Annotations already declare readOnlyHint=true and openWorldHint=true, indicating a safe read operation with potentially incomplete data. The description adds behavioral context by mentioning pagination and sorting support ('支持分页和排序'), which are useful operational details not covered by annotations. However, it doesn't disclose other behavioral traits like rate limits, authentication needs, or what happens with invalid set codes.

    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 a single, efficient sentence in Chinese that front-loads the core purpose ('获取特定系列的所有卡牌') and adds key operational features ('支持分页和排序'). There is no wasted wording, and every part of the sentence contributes directly to understanding the tool's functionality.

    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 (5 parameters, no output schema), the description covers the basic purpose and key features (pagination, sorting). However, with annotations providing safety hints but no output schema, the description doesn't explain return values or error behaviors. For a list operation with pagination, more context on response structure or limitations would be 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?

    Schema description coverage is 100%, with all parameters well-documented in the schema (e.g., 'set_code' as series code, 'page' as page number). The description adds minimal value beyond the schema by implying the tool uses these parameters for pagination and sorting, but doesn't provide additional semantic context like examples of sorting fields beyond what's in the 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?

    The description clearly states the tool's purpose: '获取特定系列的所有卡牌' (get all cards of a specific series). It specifies the verb (获取/get) and resource (卡牌/cards) with scope (特定系列/specific series). However, it doesn't explicitly differentiate from sibling tools like 'get_card_by_set_and_number' (which gets a specific card) or 'search_cards' (which searches across series).

    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 '特定系列' (specific series), suggesting this tool is for retrieving cards within a set rather than searching across sets. However, it doesn't provide explicit guidance on when to use this tool versus alternatives like 'search_cards' or 'get_card_by_set_and_number', nor does it mention 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.

  • Behavior4/5

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

    Annotations already provide readOnlyHint=true and openWorldHint=true, indicating safe read operations with open-ended queries. The description adds valuable behavioral context beyond annotations by specifying pagination limits (max 100 per page), default sorting ('name'), and priority for Chinese cards, which are not covered by annotations. No contradictions with annotations exist.

    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 appropriately sized, with clear sections for query syntax, pagination, sorting, and other parameters. Each sentence adds specific value (e.g., syntax examples, defaults, limits) without redundancy, making it efficient and easy to parse for an AI agent.

    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 complexity (6 parameters, query-based search) and lack of output schema, the description is mostly complete, covering key behaviors like syntax, pagination, and sorting. However, it does not describe the return format (e.g., structure of card results) or error handling, leaving a minor gap for an agent to infer output details.

    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 parameters thoroughly. The description adds some semantic context, such as query syntax examples and default values for pagination/sorting, but does not provide significant new information beyond what the schema describes (e.g., parameter meanings are already clear in schema). Baseline 3 is appropriate given high schema coverage.

    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 as searching cards via query strings with support for pagination and sorting. It specifies the exact action ('搜索卡牌') and resource ('卡牌'), distinguishing it from sibling tools like get_card_by_set_and_number (which fetches a specific card) or get_set_cards (which lists cards in a set without querying).

    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 usage by detailing query syntax, pagination, and sorting, which implicitly guides when to use this tool for flexible searches. However, it does not explicitly state when to use alternatives like get_set_cards for set-specific listings or when not to use this tool (e.g., for simple lookups), missing explicit exclusions or named alternatives.

    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

sbwsz-mcp MCP server

Copy to your README.md:

Score Badge

sbwsz-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/lieyanqzu/sbwsz-mcp'

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