Skip to main content
Glama
wangkezun

qq-music-mcp

by wangkezun

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools map to distinct resources and actions, but get_song_quality duplicates part of get_song_detail (which already includes available qualities), and get_album_cover is a subset of get_album_detail. This creates some ambiguity about which tool to use for quality/cover information.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in snake_case: search_music, get_song_detail, get_song_url, get_album_cover, etc. No mixed conventions.

    Tool Count5/5

    10 tools falls comfortably in the ideal range for a music API server. Each tool addresses a specific aspect of music discovery, metadata, and playback without being bloated.

    Completeness4/5

    Core music workflows (search, song detail, quality, URL, lyrics, album info, playlist info) are covered. However, search_music supports MV and user searches but there are no corresponding get_mv_detail or get_user_profile tools, creating dead ends for those search types.

  • Average 3.7/5 across 10 of 10 tools scored. Lowest: 2.9/5.

    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?

    The description discloses the return format (JSON string) but does not mention whether the operation is read-only, potential side effects, error conditions, or authentication requirements. With no annotations, this leaves significant behavioral aspects unspecified.

    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, with a clear purpose statement and well-organized Args and Returns sections. It contains no redundant information and is easy to parse.

    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?

    The tool is simple with one parameter, and the description covers its basic purpose and return value. However, it lacks usage guidelines, alternative tool references, or any caveats, making it only minimally complete for a selection/decision scenario.

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

    Parameters2/5

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

    The description restates the schema's type information (numeric ID) without adding deeper semantic context, such as how to obtain the ID or any constraints. Given 0% schema description coverage, this is minimal compensation.

    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 fetches playlist details and the song list, using a specific verb and resource. It inherently distinguishes from sibling tools that target songs or albums, though it does not explicitly contrast with them.

    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 instead of alternatives, nor any mention of prerequisites or exclusions. It simply states what the tool does.

    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 alone must disclose behavioral traits. However, it only states that it returns a JSON string of search results. It does not mention authentication requirements, rate limits, pagination behavior beyond page parameters, or whether the operation is read-only. This lack of behavioral context leaves the agent uncertain about side effects or prerequisites.

    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 exceptionally well-structured: a one-line purpose statement followed by a clean Args block and a Returns line. Every sentence is informative with no redundancy or fluff. The front-loaded purpose and clear sectioning make it easy to scan and understand.

    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 moderate complexity (4 parameters, 1 required) and the presence of an output schema, the description covers all necessary inputs and the return type. It explains the search types and pagination parameters. However, it lacks any additional context such as whether results are limited by default or how to handle errors, so it falls just short of 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 schema has no descriptions for any parameters (coverage 0%), so the description carries the full burden. It explains each parameter in Chinese: keyword as search keyword, search_type with enumerated valid values, page starting from 1, and page_size defaulting to 20. This adds meaning beyond the raw schema titles and enums, though it could mention the default for page explicitly and clarify the return structure slightly more.

    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: '搜索 QQ 音乐' (Search QQ Music). It specifies a concrete verb (search) and resource (QQ Music), and the Args list further clarifies it supports multiple search types (song, album, playlist, mv, lyric, user). While it does not explicitly differentiate from sibling tools like get_song_detail or get_lyric, the distinct search operation and resource are unambiguous.

    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 does not mention that this is the entry point for finding content before fetching details, nor does it reference sibling tools or exclusion scenarios. Usage is only implied by the tool name and sibling getter functions, which is insufficient for effective decision-making.

    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?

    With no annotations, the description partially discloses output behavior by listing return fields (album name, artist, release date, description, song count). However, it does not mention whether the operation is read-only, if authentication is needed, or any error/rate-limit behavior, leaving common concerns unaddressed.

    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 compact and well-structured with an Args/Returns layout. The purpose is front-loaded in the first line, and every sentence provides necessary information without filler.

    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?

    The tool is simple and has an output schema, so the description need not detail return structure. However, it omits usage guidelines and fails to contextualize album_mid sufficiently, making it only minimally viable for a single-parameter read tool.

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

    Parameters2/5

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

    The schema coverage is 0%, so the description must compensate. It explains 'album_mid' as '专辑的 MID 标识符' (album's MID identifier), which is only slightly more informative than the schema title. It does not explain what a MID is or how to obtain it, leaving a significant gap.

    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 begins with '获取专辑详情' (get album details), a specific verb+resource pair that clearly distinguishes it from siblings like get_album_songs and get_album_cover. It leaves no ambiguity about what the tool does.

    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 guidance is given on when to use this tool versus alternatives. Given the set of sibling tools (e.g., get_album_songs, get_song_detail), the description should explicitly differentiate or state selection criteria, but it does not.

    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 are provided, so the description carries the full burden. It discloses the return value (JSON with original and translated lyrics) but does not explicitly state that this is a read-only operation or discuss error handling, permissions, or side effects. The expected output is somewhat transparent, but more context would be beneficial.

    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 very concise, using a clear 'Args' and 'Returns' structure. It is front-loaded with the main action and each line provides necessary information without redundancy. No filler or irrelevant content.

    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 one-parameter get tool, the description covers the purpose, parameter, and return format. It is adequate for basic use, but lacks guidance on edge cases, prerequisites, or when to opt for alternative tools. The presence of an output schema reduces the need to explain return values, but usage context is still missing.

    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 only provides the title 'Song Mid' with no description. The tool description adds '歌曲的 MID 标识符' (song's MID identifier), which gives the parameter clear meaning and purpose. This compensates for the schema's lack of detail, making the parameter understandable.

    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 starts with '获取歌词' (Get lyrics), which clearly identifies the action and resource. The parameter 'song_mid' further specifies the target. However, it does not explicitly differentiate from sibling tools like get_song_detail, though the resource is distinct.

    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 does not mention any context, exclusions, or alternatives such as get_song_detail. Users are left to infer usage from the name alone.

    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?

    With no annotations provided, the description carries the full burden. It discloses the output format (JSON string with specific fields) and the input requirement. However, it does not mention edge cases like missing/invalid song_mid, authentication requirements, or any rate limits. While 'get' implies a read-only operation, this is not explicitly stated. The description provides adequate but not complete transparency.

    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 one-line purpose statement followed by two short sections for Args and Returns. Every sentence contributes useful information, and the format is well-structured with clear labels. No fluff or 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?

    The tool is simple with a single parameter, and the description covers purpose, input, and output. It does not provide examples or error scenarios, but given the low complexity and the presence of an output schema, the description is sufficiently complete. A slightly fuller description might mention expected error behavior, but this is 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?

    The schema provides only the parameter name and type (string), with no description. The tool description fills this gap by explaining song_mid as '歌曲的 MID 标识符' (the song's MID identifier), which gives meaningful context about what the parameter represents. This adds value 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 '获取歌曲详情' (get song details) and enumerates the return fields (song name, singer, album, duration, available quality), making it distinct from sibling tools like get_song_quality and get_song_url. The verb-resource pairing is specific and unambiguous.

    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 when-to-use or when-not-to-use guidance is provided. The description does not mention alternatives or situations where get_song_quality, get_song_url, or get_lyric would be more appropriate. The only implication is that this tool is for general details, but that is 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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It notes that high-quality audio may require VIP permission, which is useful. However, it does not disclose error behavior, rate limits, or authentication needs. The return format is mentioned, but additional operational details are missing.

    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 with Args and Returns sections, each fact earning its place. It is concise, uses bullet points for enum values, and avoids unnecessary prose. The inclusion of the default in both schema and description is a minor redundancy but does not detract from overall clarity.

    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 simplicity (two params, one with enum) and the presence of an output schema, the description is fairly complete. It covers parameter meanings, the VIP caveat, and return format. It does not explain why a single-song URL would be preferred over batch retrieval, but that is not critical for basic usage.

    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 substantial meaning beyond the schema by explaining each quality enum value (e.g., m4a: AAC, 128: 128kbps MP3) and clarifying song_mid as the song's MID identifier. While the schema already lists enums and defaults, the description enriches the semantic understanding, compensating for the 0% 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 verb '获取' (get) and resource '单首歌曲的播放链接' (single song's playback link), distinguishing it from siblings like get_batch_song_urls (batch) and get_song_quality (quality info). It is specific and leaves no ambiguity about what the tool does.

    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 guidance is provided on when to use this tool versus alternatives. The description does not mention compatibility with other functions, prerequisites, or exclusion criteria. While the single-song scope is implied, there is no explicit when-to-use or when-not-to-use guidance.

    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 exist, so the description must carry the behavioral disclosure burden. It states the tool returns a URL, implying a read-only operation, but it does not address error cases, URL persistence, or any prerequisites. This is adequate but not rich for a simple getter.

    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 concise and well-structured with an Args/Returns format. It front-loads the primary purpose and includes only necessary details without any fluff.

    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 simple tool, the description covers purpose, parameters, and return value adequately. It is complete for a read-only URL getter. Minor gaps include not referencing sibling tools or explaining where album_mid originates, but these do not significantly hinder usability.

    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 schema has zero description coverage, but the description explains album_mid as the album MID identifier and lists common size values (150, 300, 500). This adds meaningful semantics beyond the schema, though the default size is not mentioned in the description.

    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 '获取专辑封面图片 URL' (Get album cover image URL), naming a specific verb and resource. This distinguishes it from sibling tools like get_song_url or get_album_detail.

    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 retrieving album cover URLs but does not explicitly state when to use this tool over alternatives. No exclusions or cross-references to siblings are provided, making the usage guidance merely implied.

    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 disclose behavior. It explains the return format (JSON string listing qualities) and defines each quality type (m4a, 128, 320, flac, ape, hires, atmos). However, it does not mention error behavior, empty results, or any permission/membership requirements for high-quality formats.

    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 concise and well-structured: a one-line main purpose, followed by Args and Returns sections. The quality type enumeration adds valuable context without redundancy or fluff.

    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 simple single-parameter tool, the description covers purpose, parameter meaning, and return value semantics thoroughly, including the quality type lexicon. The existence of an output schema reduces the need to describe the return structure. It only omits edge-case behavior like invalid song_mid or empty list.

    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 schema provides no description for song_mid (0% coverage). The description compensates by stating 'song_mid: 歌曲的 MID 标识符' (song's MID identifier), which is key semantic information. It lacks a format example but is sufficient for this simple parameter.

    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 states a specific verb '获取' (get) and a clear resource: '歌曲可用的音质列表' (song's available quality list). This clearly distinguishes it from siblings like get_song_url and get_batch_song_urls, which deal with actual URLs rather than quality options.

    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: call this tool when you need the available audio quality list for a song, given a song_mid. However, it does not explicitly mention alternatives or when not to use it, such as 'use get_song_url to obtain the actual playback URL'.

    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 are provided, so the description carries the full burden. It discloses the return format (JSON string of the song list) which is useful, but does not mention any side effects, authentication requirements, or error conditions. For a simple read-only getter, this is minimally transparent but not rich.

    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 succinct, with a clear title, Args, and Returns sections. It contains no redundant information and is well-structured for quick comprehension.

    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 low complexity (one required parameter, no nested objects) and the presence of an output schema, the description is nearly complete. It covers the input and output format adequately, though it could briefly mention usage context or alternatives to fully round out the picture.

    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?

    The only parameter album_mid is described in the Args section as '专辑的 MID 标识符' (album's MID identifier), adding clear meaning beyond the schema's bare title. This fully compensates for the 0% schema description coverage, leaving no ambiguity about the parameter's purpose.

    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 '获取专辑的歌曲列表' (get album song list), using a specific verb and resource. It distinguishes itself from sibling tools like get_album_detail and get_album_cover by focusing on the song list rather than album details or cover art.

    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 by naming the input (album MID) and output (song list), but provides no explicit guidance on when to use this tool versus siblings like get_song_detail or search_music. There are no exclusions or alternative suggestions, so it falls to implied usage.

    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 are provided, so the description carries the full burden. It discloses the return type (JSON string) and input format, which is useful. However, it does not mention error handling, partial success behavior for invalid MIDs, authentication requirements, or potential rate limits, leaving some behavioral uncertainty for a batch operation.

    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 with a concise summary, Args section, and Returns section. Every line delivers essential information (parameter syntax, quality options, return format) without unnecessary text or repetition.

    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 tool with two parameters and a simple return, the description covers all necessary invocation details: how to provide mids, quality choices, and the response format. It lacks information on failure modes or edge cases (e.g., what happens if a MID is invalid), but it is adequate for a straightforward batch URL fetcher.

    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?

    Schema description coverage is 0%, but the description thoroughly explains both parameters: mids is comma-separated and quality has a full enum with human-readable meanings (e.g., 128 as 128kbps MP3, hires as 臻品母带). This adds significant meaning beyond the raw schema, which only lists enum values without explanations.

    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 ('批量获取' - batch get), the resource ('播放链接' - playback URLs), and the scope (multiple songs). It distinguishes itself from sibling get_song_url by emphasizing batch operation, so the purpose is unambiguous.

    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 conveys the tool is for fetching multiple song URLs at once (批量), which implies it should be used when you need several links in one call, whereas single-link retrieval would use get_song_url. It provides clear context but does not explicitly mention alternatives or exclusion cases.

    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

qq-music-mcp MCP server

Copy to your README.md:

Score Badge

qq-music-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/wangkezun/qq-music-mcp'

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