Tonr Music
Server Details
Free, copyright-safe AI music library for video creators and AI agents.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.6/5 across 6 of 6 tools scored.
Each tool has a clearly distinct purpose with no overlap. find_similar finds similar tracks, get_download_url provides downloads, get_stems_status checks job status, get_track retrieves metadata, search_music searches the library, and separate_stems initiates stem separation. The descriptions clearly differentiate their functions, making misselection unlikely.
All tool names follow a consistent verb_noun pattern using snake_case, such as find_similar, get_download_url, and separate_stems. This predictability makes the tool set easy to navigate and understand, with no deviations in naming conventions.
With 6 tools, this server is well-scoped for a music service, covering key operations like searching, retrieving metadata, downloading, and audio processing. Each tool earns its place without feeling excessive or insufficient for the domain.
The tool set covers core workflows for music discovery and processing, including search, metadata retrieval, downloads, and stem separation. A minor gap exists in lacking explicit tools for user account management or playlist operations, but agents can likely work around this with the provided tools.
Available Tools
6 toolsfind_similarBInspect
Find tracks similar to a given track using Tonr's semantic embeddings.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of similar tracks (max 10) | |
| track_id | Yes | Track ID to find similar tracks for |
Tool Definition Quality
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 mentions the method ('semantic embeddings') but doesn't disclose behavioral traits such as performance characteristics, rate limits, authentication needs, or what the output looks like (e.g., format, ordering). This is a significant gap for a tool with no 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste, front-loading the core purpose. 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (semantic similarity search), lack of annotations, and no output schema, the description is incomplete. It doesn't explain the return values, error conditions, or behavioral context needed for effective use, leaving gaps in understanding how the tool behaves.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 both parameters ('track_id' and 'limit' with default and max). The description adds no additional meaning beyond what the schema provides, such as explaining how similarity is calculated or the implications of the limit. 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('find') and resource ('tracks similar to a given track'), specifying the semantic embedding method ('using Tonr's semantic embeddings'). It distinguishes from siblings like 'get_track' (fetch single track) and 'search_music' (general search), but doesn't explicitly contrast with 'get_download_url'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when similarity based on embeddings is needed, but doesn't explicitly state when to use this tool versus alternatives like 'search_music' or provide exclusions. It lacks guidance on prerequisites or constraints beyond the parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_download_urlAInspect
Get a download URL for a Tonr track. Download access depends on the caller's plan.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Audio format | mp3 |
| api_key | No | Your Tonr paid API key (starts with tnr_). Required for download access. | |
| track_id | Yes | Track ID |
Tool Definition Quality
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 adds useful context about plan-dependent access, which is a key behavioral trait not evident from the schema. However, it lacks details on other aspects like rate limits, authentication needs, or what happens on failure (e.g., error messages), leaving gaps 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose and adds a crucial behavioral note without any wasted words. Every part 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description is adequate but incomplete. It covers the purpose and a key behavioral constraint (plan dependency), but lacks details on return values (since no output schema), error handling, or full usage scenarios, leaving room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents both parameters ('track_id' and 'format' with enum values). The description doesn't add any parameter-specific information beyond what's in the schema, such as explaining the significance of 'track_id' or format choices. Thus, it meets the baseline but doesn't enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'download URL for a Tonr track', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_track' (which likely retrieves metadata rather than a download URL), so it falls short of 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage context by mentioning 'Download access depends on the caller's plan', which suggests when this tool might fail or require specific conditions. However, it doesn't explicitly state when to use this tool versus alternatives like 'get_track' or 'search_music', nor does it provide clear exclusions or prerequisites beyond the plan dependency.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stems_statusAInspect
Poll the status of a stems separation job started with separate_stems. Returns stem URLs when status is 'done'.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job ID returned by separate_stems. | |
| api_key | Yes | Your Tonr API key (must be the same key that started the job). |
Tool Definition Quality
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 that this is a polling operation and mentions the return behavior ('Returns stem URLs when status is 'done''), which adds useful context beyond basic parameters. However, it doesn't cover other behavioral traits like rate limits, error handling, or what happens if the job isn't done (e.g., retry logic or status updates).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose and followed by return behavior. Every sentence earns its place by providing essential information without waste, making it highly efficient and well-structured for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (polling job status), no annotations, and no output schema, the description is adequate but has gaps. It explains the purpose and return condition, but lacks details on output format beyond 'stem URLs', error scenarios, or polling intervals. For a status-checking tool, more behavioral context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 both parameters ('job_id' and 'api_key') fully. The description adds minimal value beyond this, as it only implies the 'job_id' comes from 'separate_stems' and the 'api_key' must match, which is partially covered in the schema. Baseline 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Poll the status of a stems separation job started with separate_stems.' It specifies the verb ('poll') and resource ('stems separation job'), but doesn't explicitly differentiate from siblings like 'get_download_url' or 'get_track', which might also retrieve status or results. The mention of 'separate_stems' as the initiating tool provides context but not full sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by referencing 'separate_stems' as the tool that starts the job, suggesting this should be used after that operation. However, it doesn't provide explicit guidance on when to use this versus alternatives (e.g., 'get_download_url' for direct downloads) or any exclusions. The context is clear but lacks detailed alternatives or prerequisites beyond the job initiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trackAInspect
Get complete metadata for a specific Tonr track. Returns all details including mood arc, instruments, use cases, and preview URL.
| Name | Required | Description | Default |
|---|---|---|---|
| track_id | Yes | Track ID (starts with tnr_) |
Tool Definition Quality
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 describes the return data (metadata details) but does not cover aspects like error handling, rate limits, authentication needs, or whether it's a read-only operation. The description adds value by specifying the scope of metadata but lacks comprehensive 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose in the first sentence and efficiently lists the returned details in the second sentence. Every sentence earns its place by providing essential information without redundancy or unnecessary elaboration, making it appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is reasonably complete. It explains what the tool does and what data it returns, though it could benefit from more behavioral details like error cases or performance expectations. Without an output schema, it adequately covers the expected return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does 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 'track_id' documented as 'Track ID (starts with tnr_)'. The description does not add any additional meaning beyond this, such as format examples or validation rules, so it meets the baseline for high schema coverage without compensating further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get complete metadata') and resource ('for a specific Tonr track'), distinguishing it from sibling tools like 'find_similar' (similarity search), 'get_download_url' (download functionality), and 'search_music' (broad search). It specifies the scope of returned data including mood arc, instruments, use cases, and preview URL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when detailed metadata for a specific track is needed, but it does not explicitly state when to use this tool versus alternatives like 'search_music' for broader queries or 'find_similar' for related tracks. No exclusions or prerequisites are mentioned, leaving some ambiguity about optimal use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_musicBInspect
Search the Tonr music library. Use natural language queries like 'upbeat music for a cooking video' or structured filters. Returns tracks with preview URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| mood | No | Filter by mood (happy, sad, calm, dark, epic, romantic, energetic, mysterious, etc.) | |
| genre | No | Filter by genre (cinematic, electronic, ambient, acoustic, lo-fi, etc.) | |
| limit | No | Number of results (max 20) | |
| query | No | Natural language search query | |
| bpm_max | No | Maximum tempo in BPM | |
| bpm_min | No | Minimum tempo in BPM | |
| energy_max | No | Maximum energy between 0 and 1 | |
| energy_min | No | Minimum energy between 0 and 1 | |
| has_vocals | No | Filter for vocal (true) or instrumental (false) tracks | |
| instruments | No | Filter by one or more instruments | |
| video_theme | No | Filter by video type (travel, corporate, wedding, gaming, vlog, tutorial, etc.) | |
| duration_max | No | Maximum duration in seconds | |
| duration_min | No | Minimum duration in seconds |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions that the tool 'returns tracks with preview URLs', which gives some output information, but doesn't cover important behavioral aspects like rate limits, authentication requirements, pagination, error handling, or whether this is a read-only operation. The description is insufficient for a tool with 13 parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise with two sentences that each earn their place. The first sentence states the purpose and usage method, while the second specifies the return format. There's zero waste or redundancy in the wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex search tool with 13 parameters and no output schema, the description is incomplete. It doesn't explain the return format beyond 'tracks with preview URLs', doesn't mention result ordering, pagination, or error cases. With no annotations and rich parameter schema, the description should provide more behavioral and output context to be truly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 13 parameters thoroughly. The description adds minimal value beyond the schema by mentioning 'natural language queries' which relates to the 'query' parameter, but doesn't provide additional semantic context or usage examples for the parameters. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Search the Tonr music library'), the resource ('music library'), and distinguishes from siblings by specifying it returns tracks with preview URLs. It provides concrete examples of natural language queries, making the purpose immediately understandable and differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by mentioning natural language queries and structured filters, but doesn't explicitly state when to use this tool versus sibling tools like 'find_similar' or 'get_track'. It provides some guidance on query types but lacks explicit alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
separate_stemsAInspect
Split an audio file into 7 stems (vocals, drums, bass, guitar, piano, other, instrumental). Async — returns a jobId you poll with get_stems_status. Requires a Pro or Business plan.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | Yes | Your Tonr API key (starts with tnr_). Get one at tonr.app/settings/api-keys. | |
| audio_url | Yes | Public https:// URL to an audio file (MP3/WAV/OGG/FLAC/M4A, up to 50 MB). |
Tool Definition Quality
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 key behavioral traits: the operation is async (returns a jobId for polling), has plan requirements (Pro or Business), and implies a mutation (splitting audio). However, it doesn't mention rate limits, error handling, or what happens to the original file.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose in the first sentence, followed by critical behavioral details (async nature, polling method, plan requirements). Every sentence adds essential information with zero waste, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (async operation with polling) and no annotations or output schema, the description is mostly complete. It covers the purpose, usage, and key behavioral aspects, but lacks details on output format (e.g., what get_stems_status returns) and error cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 both parameters (audio_url and api_key) thoroughly. The description doesn't add any parameter-specific meaning beyond what the schema provides, such as explaining why these parameters are needed or their interaction.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('split an audio file') and the exact resources produced ('7 stems: vocals, drums, bass, guitar, piano, other, instrumental'). It distinguishes this tool from siblings like 'get_stems_status' (which polls results) and 'search_music' (which searches).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool ('split an audio file into 7 stems') and when not to use it (requires a Pro or Business plan). It also provides an alternative for checking results ('returns a jobId you poll with get_stems_status'), clearly differentiating from sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!