Skip to main content
Glama
YinshawnRao

hearthstone-decks-mcp

by YinshawnRao

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: get_card_info retrieves details for a specific card ID, parse_deck_code processes deck codes to return deck information, and search_cards searches by card name. There is no overlap in functionality, making it easy for an agent to select the correct tool without confusion.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern (get_card_info, parse_deck_code, search_cards), using snake_case throughout. This predictability enhances readability and usability for agents, with no deviations in naming style.

    Tool Count3/5

    With only 3 tools, the server feels thin for a domain like Hearthstone decks, which might involve more operations such as creating, updating, or managing decks. While the tools cover basic retrieval and parsing, the count is borderline for the apparent scope, potentially limiting agent capabilities.

    Completeness2/5

    The tool set is significantly incomplete for a Hearthstone deck management domain. It lacks essential CRUD operations like creating, updating, or deleting decks, and does not cover lifecycle aspects such as deck validation or sharing. Agents will face dead ends when trying to perform common deck-related tasks beyond basic lookup and parsing.

  • Average 3/5 across 3 of 3 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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. While it indicates this is a read operation ('获取' - get), it doesn't describe any behavioral traits such as error handling (e.g., what happens if cardId is invalid), performance characteristics, rate limits, authentication requirements, or what 'detailed information' specifically includes. The description is minimal and lacks context beyond the basic purpose.

    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 states the purpose clearly without unnecessary words. It's appropriately sized for a simple lookup tool and front-loaded with the core action. However, it could be slightly more structured by including basic usage context, but it earns high marks for zero waste.

    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's simplicity (1 parameter, no annotations, no output schema), the description is incomplete. It doesn't explain what 'detailed information' includes (e.g., card stats, effects, rarity), how errors are handled, or any dependencies. For a tool with no structured output schema, the description should provide more context about return values to be fully helpful to an agent.

    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 cardId documented as '炉石传说卡牌ID' (Hearthstone card ID). The description adds no additional parameter semantics beyond what the schema provides—it doesn't explain format, examples, or constraints for cardId. With high schema coverage, the baseline is 3, as the schema does the heavy lifting without extra value from 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 clearly states the verb ('获取' - get/retrieve) and resource ('炉石传说卡牌信息' - Hearthstone card information) with specificity about what information is retrieved ('详细的' - detailed). It distinguishes from parse_deck_code (which likely parses deck codes) and search_cards (which likely searches multiple cards) by focusing on single-card lookup by ID. However, it doesn't explicitly contrast with siblings beyond the inherent difference in operation type.

    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 get_card_info versus search_cards (e.g., when you have a specific card ID vs. when you need to search by name/attributes) or parse_deck_code. There's no context about prerequisites, limitations, or typical use cases beyond the basic operation.

    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 mentions '支持模糊搜索' (supports fuzzy search) in the schema, but the description itself doesn't elaborate on this or other behaviors like response format, error handling, or rate limits. For a search tool with zero annotation coverage, this leaves significant gaps in understanding how it operates 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.

    Conciseness5/5

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

    The description is a single, efficient sentence: '根据卡牌名称搜索炉石传说卡牌信息' (Search for Hearthstone card information by card name). It's front-loaded with the core purpose, has zero wasted words, and is appropriately sized for a simple search tool. Every part of the sentence contributes directly to understanding the tool's function.

    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's moderate complexity (search functionality with fuzzy matching) and lack of annotations and output schema, the description is incomplete. It doesn't explain what the search returns (e.g., card details, IDs, or partial matches), how results are ordered, or any limitations. Without an output schema, the description should provide more context about the response to help the agent use the tool effectively.

    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, clearly documenting both parameters: 'cardName' (with fuzzy search support) and 'limit' (with default and range). The description doesn't add any additional meaning beyond what the schema provides, such as examples of fuzzy search behavior or context for the limit parameter. With high schema coverage, the baseline score of 3 is appropriate as the schema handles parameter documentation adequately.

    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 Hearthstone card information by card name). It specifies the verb ('搜索' - search), resource ('炉石传说卡牌信息' - Hearthstone card information), and key input ('卡牌名称' - card name). However, it doesn't explicitly differentiate from sibling tools like 'get_card_info' or 'parse_deck_code', which likely have different purposes.

    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_card_info' (which might retrieve specific card details) or 'parse_deck_code' (which likely handles deck codes). There's no context about when this search tool is preferred over other methods or any prerequisites for its use.

    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 the tool parses deck codes and returns detailed information, but doesn't describe behavioral traits such as error handling (e.g., for invalid codes), performance characteristics, rate limits, authentication needs, or output format specifics. For a tool with no annotation coverage, this leaves significant gaps in understanding how it behaves 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.

    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 and output. It's front-loaded with the core action (parsing deck codes) and includes key details (card details and cover images) without unnecessary elaboration. Every word contributes to understanding the tool's function, 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 moderate complexity (parsing deck codes with optional stats) and lack of annotations and output schema, the description is minimally adequate. It covers what the tool does but lacks details on behavioral aspects, error handling, and output structure. Without an output schema, the description should ideally hint at return values, but it only mentions 'detailed deck information' vaguely, leaving gaps in completeness for effective agent use.

    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 clear documentation for both parameters (deckCode and includeStats). The description doesn't add any parameter-specific semantics beyond what the schema provides—it mentions returning card details and cover images but doesn't explain how parameters influence this. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

    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: '解析炉石传说卡组代码,返回详细的卡组信息,包括卡牌详情和封面图' (Parse Hearthstone deck codes, return detailed deck information including card details and cover images). It specifies the verb (parse), resource (deck codes), and output (detailed deck info with card details and cover images). However, it doesn't explicitly distinguish from sibling tools like get_card_info or search_cards, which appear to be about individual cards rather than deck parsing.

    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 (get_card_info, search_cards) or specify contexts where this tool is appropriate (e.g., for analyzing deck compositions vs. looking up individual cards). There's no indication of prerequisites or exclusions, leaving usage entirely implicit.

    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

hearthstone-decks-mcp MCP server

Copy to your README.md:

Score Badge

hearthstone-decks-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/YinshawnRao/hearthstone-decks-mcp'

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