Claude Music MCP
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation5/5
Every tool has a clearly distinct purpose with no ambiguity. Tools like 'add_to_playlist', 'create_playlist', 'get_playlist', and 'list_playlists' each handle different aspects of playlist management, while 'search_music', 'get_song_info', and 'get_recommendations' cover distinct music discovery and information tasks. The descriptions reinforce these boundaries, making misselection unlikely.
Naming Consistency5/5All tool names follow a consistent verb_noun pattern using snake_case, such as 'add_to_playlist', 'create_playlist', 'get_playlist', 'get_recommendations', 'get_song_info', 'list_playlists', and 'search_music'. This predictable naming scheme enhances readability and usability, with no deviations in style or convention.
Tool Count5/5With 7 tools, this server is well-scoped for a music management domain. The count is appropriate, covering core operations like playlist management, music search, and recommendations without being overwhelming. Each tool earns its place by addressing a specific need, aligning with typical server sizes of 3-15 tools.
Completeness4/5The tool surface is largely complete for music management, covering key operations like creating, listing, and getting playlists, adding songs, searching music, and getting recommendations. A minor gap exists in update or delete operations for playlists or songs, which agents might need to work around, but core workflows are well-supported.
Average 2.8/5 across 7 of 7 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
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
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.jsonto 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. It only states the action ('获取播放列表信息') without detailing traits such as whether it's read-only (implied but not explicit), requires authentication, has rate limits, returns structured data, or handles errors. For a tool with no annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence ('获取播放列表信息') that is front-loaded with the core action. It avoids unnecessary words, making it concise. However, it could be more structured by including key details (e.g., 'Retrieves metadata and tracks for a specific playlist by ID'), but as-is, it is not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema, no annotations), the description is incomplete. It lacks information on return values (e.g., what 'playlist information' includes), error handling, or behavioral context. Without annotations or an output schema, the description should compensate by explaining these aspects, but it does not, leaving gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'playlistId' documented as '播放列表ID' (playlist ID). The description does not add any meaning beyond this, such as format examples (e.g., alphanumeric string) or sourcing guidance (e.g., from 'list_playlists'). 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.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The description '获取播放列表信息' (Get playlist information) states a clear verb ('获取' - get) and resource ('播放列表信息' - playlist information), establishing the basic purpose. However, it lacks specificity about what information is retrieved (e.g., metadata, tracks, owner details) and does not differentiate from sibling tools like 'list_playlists' (which likely lists multiple playlists) or 'get_song_info' (which focuses on songs). This makes the purpose somewhat vague but not misleading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 prerequisites (e.g., needing a playlist ID), exclusions (e.g., not for creating or modifying playlists), or comparisons to siblings like 'list_playlists' (for listing playlists without an ID) or 'get_song_info' (for song-specific data). This leaves the agent without context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/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 only states the basic action ('create new playlist') without any details on permissions required, whether the operation is idempotent, what happens on failure, or the expected response format. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Chinese that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy for an agent to parse quickly. Every part of the sentence earns its place by conveying the core action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a creation tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., side effects, error handling), usage context, and what the tool returns. While the schema covers parameters well, the overall context for safe and effective use is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter information beyond what the schema provides. However, schema description coverage is 100%, with clear descriptions for both parameters ('name' and 'description'), so the baseline score of 3 is appropriate. The description doesn't compensate but doesn't need to, as the schema adequately documents the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('创建新的' meaning 'create new') and resource ('播放列表' meaning 'playlist'), making the purpose immediately understandable. It distinguishes from siblings like 'add_to_playlist' or 'list_playlists' by focusing on creation rather than modification or retrieval. However, it doesn't specify the scope or context (e.g., for a user account or service), which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 prerequisites (e.g., authentication), when not to use it (e.g., for updating existing playlists), or refer to sibling tools like 'add_to_playlist' for post-creation actions. This lack of context leaves the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. '获取歌曲详细信息' implies a read-only operation, but it doesn't specify what '详细信息' (detailed information) includes, whether there are rate limits, authentication requirements, error conditions, or response format. For a tool with zero annotation coverage, this leaves significant behavioral gaps 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single phrase '获取歌曲详细信息' that directly states the tool's purpose. There's zero wasted language or unnecessary elaboration. It's appropriately sized for a simple lookup tool and front-loaded with the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given 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 output schema, no annotations), the description is incomplete. While concise, it doesn't provide enough context about what '详细信息' includes, how it differs from sibling tools, or behavioral aspects. For even a simple tool, more guidance would help an agent understand when and how to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage with 'songId' clearly documented as '歌曲ID' (song ID). The description doesn't add any parameter semantics beyond what the schema already provides. According to scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no parameter information in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The description '获取歌曲详细信息' (Get song details) clearly states the tool's purpose with a specific verb ('获取' - get) and resource ('歌曲详细信息' - song details). However, it doesn't distinguish this from potential sibling tools like 'search_music' or 'get_playlist' that might also retrieve song information in different contexts. The purpose is understandable but lacks 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/5Does 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 multiple sibling tools (search_music, get_playlist, get_recommendations) that might retrieve song-related information, but the description doesn't indicate this is for detailed metadata retrieval versus search results or playlist context. No explicit when/when-not instructions or alternative mentions are present.
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?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('add to') which implies a write/mutation operation, but doesn't disclose any behavioral traits such as required permissions, whether duplicates are allowed, error handling, or rate limits. This leaves significant gaps for an agent to understand how to use it safely and effectively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Chinese ('将歌曲添加到播放列表'), which translates directly to 'Add songs to a playlist'. It's front-loaded with the core action and resource, with zero wasted words or redundant information, 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.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a write operation with no annotations and no output schema, the description is incomplete. It doesn't address what happens on success (e.g., confirmation, updated playlist) or failure (e.g., errors for invalid IDs), nor does it provide context on permissions or side effects. For a mutation tool, this leaves critical gaps in understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does 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 ('playlistId' and 'songId') as required IDs. The description adds no additional meaning beyond this, as it doesn't explain parameter formats, sources, or relationships. Baseline score of 3 is appropriate since 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/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('add to') and resource ('playlist'), specifying it's for adding songs. It distinguishes from siblings like 'create_playlist' or 'list_playlists' by focusing on modification rather than creation or retrieval. However, it doesn't explicitly mention what type of resource 'songs' are (e.g., tracks, audio files), leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 prerequisites (e.g., needing an existing playlist and song), exclusions, or comparisons to siblings like 'create_playlist' for new playlists or 'search_music' to find songs first. Usage is implied 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.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only states what the tool does ('获取音乐推荐') without revealing any behavioral traits such as whether it's a read-only operation, if it requires authentication, rate limits, what the output format looks like (e.g., list of songs with details), or how recommendations are generated (e.g., based on history or explicit inputs). For a tool with no annotations, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Chinese: '根据用户喜好获取音乐推荐'. It's front-loaded with the core purpose, has zero waste, and is appropriately sized for a straightforward tool. Every word earns its place by specifying the action, resource, and basis for the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is incomplete. It lacks information on behavioral aspects (e.g., read-only vs. mutation, output format), usage guidelines, and how parameters affect results. Without annotations or an output schema, the description should do more to compensate, such as hinting at return values or operational constraints, but it doesn't, leaving gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning all parameters ('genre', 'mood', 'limit') are documented in the schema with descriptions ('音乐风格', '心情/氛围', '推荐数量'). The description adds no additional meaning beyond what the schema provides—it doesn't explain how these parameters interact (e.g., if 'genre' and 'mood' are combined or prioritized) or provide examples. 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/5Does the description clearly state what the tool does and how it differs from similar tools?
The description '根据用户喜好获取音乐推荐' (Get music recommendations based on user preferences) clearly states the verb '获取' (get) and resource '音乐推荐' (music recommendations) with the scope '根据用户喜好' (based on user preferences). It distinguishes from siblings like 'search_music' (which likely searches rather than recommends) and 'get_song_info' (which retrieves song details rather than recommendations). However, it doesn't explicitly differentiate from all siblings, such as 'add_to_playlist' or 'create_playlist', which are related but distinct operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 choose 'get_recommendations' over 'search_music' for finding music, or how it relates to playlist tools like 'add_to_playlist' or 'get_playlist'. There's no explicit context, exclusions, or prerequisites stated, leaving the agent to infer usage from the tool name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('list all playlists') but doesn't describe traits like whether this is a read-only operation, if it requires authentication, how results are returned (e.g., pagination), or any rate limits. This leaves significant gaps for a tool that likely interacts with a music service.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient phrase ('列出所有播放列表') that directly states the tool's purpose without unnecessary words. It's front-loaded and wastes no space, making it highly concise and well-structured for its simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'list all playlists' entails—such as the format of returned data, potential limitations (e.g., only lists user-owned playlists), or error conditions. For a tool with no structured context, this minimal description leaves too much undefined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, meaning there are no parameters to document. The description doesn't need to add parameter semantics, so it meets the baseline of 4 for having no parameters, as it doesn't introduce confusion or omissions in this area.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The description '列出所有播放列表' (List all playlists) clearly states the verb (list) and resource (playlists), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'get_playlist' (which might retrieve a specific playlist), leaving room for ambiguity about scope and specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 scenarios like needing all playlists versus a specific one (using 'get_playlist'), or how it relates to other siblings like 'search_music' for filtering. Without such context, the agent must 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.
- Behavior2/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. While it mentions the search functionality, it doesn't describe important behavioral aspects such as whether this is a read-only operation, what format results are returned in, whether there are rate limits, or if authentication is required. The description is minimal and lacks 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single sentence that efficiently communicates the core functionality. Every word earns its place with no wasted text. It's appropriately sized for a simple search tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what the tool returns (e.g., search results format), doesn't mention behavioral constraints, and provides minimal context about how the search works. The description should do more to compensate for the lack of structured metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does 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 three parameters thoroughly. The description mentions the search criteria (song name, artist, album) which aligns with the 'type' parameter's enum values, but adds no additional semantic meaning beyond what the schema provides. Baseline 3 is appropriate when 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/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as '搜索音乐' (search music) with specific search criteria (song name, artist, album). It distinguishes itself from siblings like 'add_to_playlist' or 'get_recommendations' by focusing on search functionality. However, it doesn't explicitly differentiate from potential similar search tools that might exist in other contexts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 this search tool is preferred over other tools like 'get_recommendations' or 'get_song_info', nor does it specify any prerequisites or exclusions for its use.
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
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/leehave/Claude-Music-Mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server