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.7/5 across 6 of 6 tools scored.
Each tool targets a distinct functionality: similarity, download, status polling, metadata, search, and stem separation. No overlap exists, ensuring clear agent selection.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., find_similar, get_download_url). No deviations or mixed conventions.
6 tools is well-scoped for a music library and audio processing server. Each tool serves a clear purpose without redundancy or unnecessary complexity.
Core workflows (search, metadata, download, stem separation) are covered. Minor gaps like missing cancellation for async stems jobs are acceptable given the scope.
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?
No annotations are provided, so the description must convey behavioral traits. It discloses the dependency on the caller's plan for download access, but does not mention rate limits, authentication beyond the api_key, or error conditions. Some transparency is present but not comprehensive.
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 very concise with two sentences, no redundant information, and front-loads the purpose. Every sentence earns its place.
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 parameter count of 3 and no output schema, the description is minimally adequate but lacks details on the response format, URL expiration, or error handling. It does not fully compensate for the missing output schema.
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 baseline is 3. The description does not add significant meaning beyond the schema's parameter descriptions; the only addition is the mention of plan dependency for the api_key. This does not elevate the score above baseline.
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 as 'Get a download URL for a Tonr track', using a specific verb and resource. It distinguishes itself from sibling tools like get_track and search_music by focusing on download URLs.
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 mentions that download access depends on the caller's plan, providing some context, but does not explicitly state when to use this tool versus alternatives or provide exclusions. Usage guidance is implied but incomplete.
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!