Artyfile Music Licensing
Server Details
Search & license real-orchestra music from your agent: EUR 29.90 one-time, WAV + certificate.
- Status
- Healthy
- Uptime
- 99.9% over 77 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
Most tools map to clearly distinct lifecycle steps: search, inspect, terms, checkout, poll status, and retrieve documents. There is some overlap between get_order_status, which returns download/invoice/certificate URLs once paid, and get_download_link, which retrieves those documents directly; the descriptions clarify polling versus retrieval, but the boundary is not perfectly sharp.
All tools use consistent snake_case with a clear verb_noun pattern: create_checkout, get_download_link, get_license_terms, get_order_status, get_track, and search_tracks. The use of create/get/search is predictable and readable throughout.
Six tools is well-scoped for a music licensing purchase flow. Each tool earns its place: catalog search, track detail, licence terms, checkout creation, order polling, and document retrieval.
The set covers the full buyer workflow from discovery through payment and post-purchase document access. Payment happens externally by design, and the tools provide the necessary status polling and re-issuable download/document URLs.
Available Tools
6 toolscreate_checkoutAInspect
Create a checkout for one track. Returns a Stripe hosted-payment URL that the USER must open and approve in a browser (EU PSD2 — payment is never completed by the agent) plus the order publicId for polling. The session and its price reservation expire after 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | "basic" = sync licence; "le" = Limited Edition master share(s) | basic |
| locale | No | en | |
| shares | No | LE only: number of 1% shares | |
| giftName | No | LE only: issue the ownership certificate to this name | |
| productId | Yes | id from search_tracks / get_track |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral detail beyond the annotations: the payment requires user browser approval due to EU PSD2, the agent cannot complete payment itself, and the session/reservation expires after 1 hour. This gives an agent a realistic model of the tool's side effects and limitations.
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 with no filler. It front-loads the core purpose, then packs the essential behavioral caveats and expiration policy into a compact, readable format.
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 checkout-creation tool with no output schema, the description adequately explains what is returned (Stripe URL and order publicId), what the agent should not do, and the 1-hour expiration. The main missing detail, explicit routing to get_order_status, is minor because the publicId-for-polling mention already signals the next step.
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 80%, so the schema already documents most parameters. The description adds no parameter-level detail beyond the schema, which is acceptable at this coverage level; locale remains undocumented in both schema and description.
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 action ('Create a checkout') and resource ('for one track'), and it distinguishes this tool from the read-oriented siblings by describing the Stripe hosted-payment URL and order publicId. An agent can tell this is the purchase-initiation tool without needing to inspect the schema.
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 gives clear operational context: the user must open the returned URL, approve payment in a browser, and the agent never completes payment. It implies polling with get_order_status via the publicId, but it does not explicitly name that sibling or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_download_linkARead-onlyIdempotentInspect
Download + document URLs for a PAID order: the WAV download (link re-issuable anytime, no cookies needed), the PDF invoice and the PDF licence/ownership certificate.
| Name | Required | Description | Default |
|---|---|---|---|
| publicId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, idempotent, and non-destructive; the description adds useful behavioral detail ('link re-issuable anytime, no cookies needed') and clarifies exactly which artifacts are returned. No contradiction with annotations.
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?
One dense sentence front-loads the main purpose and lists deliverables economically. Slightly busy, but there is no filler; it could add a publicId hint without much cost.
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 single-parameter read-only tool, the description covers invocation context and the key return artifacts. It does not describe the response shape or error conditions, but the absence of an output schema makes this a minor gap rather than a blocker.
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?
With 0% schema description coverage and only one parameter, the description should explain what publicId is and how to obtain it. It only implies it identifies the paid order; it does not state the expected value, format, or provenance.
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?
Description uses a specific verb and resource: it returns download and document URLs for a paid order, enumerating the WAV download, PDF invoice, and PDF licence/certificate. This clearly distinguishes it from siblings like get_order_status or get_track.
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 'PAID order' qualifier gives context that this is for completed purchases and that the link can be re-issued anytime, but it does not explicitly name alternatives or state when not to use this tool versus get_order_status or get_track.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_license_termsARead-onlyIdempotentInspect
Machine-readable summary of the Artyfile licence tiers: Basic (€29.90 one-time, worldwide perpetual sync licence) and Limited Edition (€69.90 per 1% numbered master share incl. revenue participation). Includes the Cover-Edition (master_only) restrictions and links to the binding Terms & Conditions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is read-only, idempotent, and non-destructive, lowering the bar. The description adds useful behavioral context by specifying what the summary contains, including that it is machine-readable and links to the binding Terms & Conditions. No hidden or surprising behavior is implied.
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-loads the core function, and packs pricing, licence types, restrictions, and external references into a tight, readable format. Every clause contributes meaningful information with no filler.
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 zero-parameter read-only tool with no output schema, the description covers the essential return contents well: tier names, prices, licence conditions, restrictions, and links to full terms. It stops short of describing the output format or field names, but that is a minor gap given the simple, informational nature of the tool.
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 tool has zero parameters, so there is no parameter semantics for the description to add. With an empty input schema and a 100% description coverage baseline, nothing is missing; the description appropriately focuses on the output rather than inputs.
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 a specific action and resource: retrieving a machine-readable summary of the Artyfile licence tiers. It goes beyond the name by enumerating the exact contents (prices, restrictions, links), and the content obviously differentiates it from siblings like create_checkout or search_tracks.
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 when to use the tool — whenever an agent needs licence terms, pricing, or Cover-Edition restrictions — but it does not explicitly state conditions, exclusions, or alternatives. Sibling tools are not referenced, so an agent must infer the appropriate context from the description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_order_statusARead-onlyIdempotentInspect
Poll an order by publicId. Once status is "paid" the payload carries downloadUrl (44.1 kHz WAV), invoiceUrl and certificateUrl (PDFs). Poll roughly every 15 seconds; a pending order older than 1 hour has expired.
| Name | Required | Description | Default |
|---|---|---|---|
| publicId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even though annotations already mark this as read-only, idempotent, and non-destructive, the description adds important behavioral context: the paid-state payload includes downloadUrl, invoiceUrl, and certificateUrl, and pending orders expire after 1 hour. This goes well beyond the annotations.
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?
Two sentences, front-loaded with the core action, then the conditional payload, then the polling cadence and expiry rule. Every sentence earns its place with no repetition or filler.
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?
Despite having no output schema, the description explains the important return fields when paid, the polling interval, and the expiration condition. For a simple one-parameter read-only poller, this is enough for an agent to invoke and interpret the result correctly.
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 has no description and there is only one parameter, publicId. The description restates that the tool polls an order by publicId but does not explain where this ID comes from or how to format it. Because the parameter name is self-describing and there is only one, this is adequate but not enriched.
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: poll an order by publicId. It also distinguishes this from siblings by describing the status-polling behavior and the conditional payload when paid, so an agent can tell it apart from get_download_link or get_track.
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 gives concrete usage guidance: poll roughly every 15 seconds, stop when paid, and treat orders older than 1 hour as expired. It does not explicitly name alternatives or state when not to use this tool, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trackARead-onlyIdempotentInspect
Full details for one track by productId or slug: metadata, prices, licence scope, preview URL, human product page.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | productId (from search_tracks) or the track slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds value by listing specific behavioral outputs (preview URL, human product page) and details of the response, but it does not add substantial new behavioral disclosures beyond what annotations provide. The safety traits are consistent with the 'read' nature of the tool.
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?
A single, front-loaded sentence that immediately states the core purpose and lists key elements. There is zero wasteful prose; every word contributes to understanding what the tool does and what it returns.
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 simple single-parameter lookup with no output schema, the description provides everything an agent needs: it explains input (productId or slug), output (full details including specific fields), and safety (via annotations). Nothing essential is missing for correct invocation.
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% because the only parameter 'id' already includes a description: 'productId (from search_tracks) or the track slug'. The description's mention of 'by productId or slug' simply reinforces the existing schema documentation without adding new semantic details. Baseline 3 is appropriate given the high 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 states a specific verb ('get'), a resource ('one track'), and explicitly enumerates the included content (metadata, prices, licence scope, preview URL, human product page). It clearly distinguishes this from siblings like search_tracks (search) and get_download_link (download) by focusing on 'full details' for a single track.
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 clearly implies the primary use case: retrieving full details for a specific track when you have a productId or slug. It does not explicitly mention alternatives or exclusions, but the specificity of 'Full details' and the parameter description reinforce the intended use. Given the sibling list, an agent can infer this is the detailed lookup vs. search or download tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_tracksARead-onlyIdempotentInspect
Search the Artyfile catalog of licensable music — real, human-made recordings by real orchestras and musicians. Returns ranked tracks with prices; each result id is the productId create_checkout accepts. Results with licenseScope "master_only" are Cover Editions with NO sync licence — do not pick them for film/video/media projects.
| Name | Required | Description | Default |
|---|---|---|---|
| mood | No | Optional mood filter, one of: Uplifting, Happy, Energetic, Playful, Groovy, Epic, Dramatic, Suspenseful, Dark, Mysterious, Dreamy, Calm, Tender, Romantic, Reflective, Nostalgic, Melancholic, Solemn, Festive, Elegant | |
| genre | No | Optional genre filter, one of: Cinematic, Classical, Pop, Rock, Electronic, Ambient, Folk, Jazz, Lounge, World, Choral, Hip-Hop, Funk & Soul, Country | |
| limit | No | ||
| query | Yes | Use case, mood, genre or instrumentation, e.g. "epic cinematic trailer" or "calm piano for a documentary" | |
| use_case | No | Optional use-case filter, one of: film, trailer, documentary, advertising, corporate, wedding, meditation, social, gaming, podcast, fashion, travel, sports, kids, christmas, party |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe, read-only, idempotent, closed-world search, so the description spends its words on things annotations can't say: results are ranked, prices are included, ids are checkout-ready, and master_only results carry a licensing trap. It stops short of describing pagination behaviour despite a limit parameter capped at 30.
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?
Three front-loaded sentences with no filler: what it searches, what it returns and how ids are consumed, then the licensing warning. The most dangerous detail (master_only) is placed last for emphasis without burying the core purpose.
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?
With no output schema, the description usefully characterises the return value (ranked tracks with prices and checkout-usable ids) and flags the one field that could cause a wrong selection. It leaves ranking logic, empty-result behaviour and result-size/paging guidance unstated, which is a minor gap for a 5-parameter search.
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 80% and the schema already enumerates mood, genre and use_case values and exemplar query strings. The description adds no filter semantics of its own, so the baseline 3 applies.
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?
States a specific verb and resource ('Search the Artyfile catalog of licensable music') plus what comes back (ranked tracks with prices). It also implicitly separates itself from get_track by describing a ranked multi-result search rather than a single-record lookup.
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?
Gives a concrete exclusion rule: tracks with licenseScope "master_only" are Cover Editions with no sync licence and must not be chosen for film/video/media work. It also routes downstream to create_checkout by saying each result id is the productId it accepts, though it never explicitly contrasts with siblings like get_track or get_license_terms.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
search_tracks1 field changed- added
Input schema / properties / use_caseAdded value: +{ + "description": "Optional use-case filter, one of: film, trailer, documentary, advertising, corporate, wedding, meditation, social, gaming, podcast, fashion, travel, sports, kids, christmas, party", + "maxLength": 30, + "type": "string" +}
1 tool update
- Changed
search_tracks2 fields changed- added
Input schema / properties / genre / descriptionAdded value: +"Optional genre filter, one of: Cinematic, Classical, Pop, Rock, Electronic, Ambient, Folk, Jazz, Lounge, World, Choral, Hip-Hop, Funk & Soul, Country" - added
Input schema / properties / mood / descriptionAdded value: +"Optional mood filter, one of: Uplifting, Happy, Energetic, Playful, Groovy, Epic, Dramatic, Suspenseful, Dark, Mysterious, Dreamy, Calm, Tender, Romantic, Reflective, Nostalgic, Melancholic, Solemn, Festive, Elegant"
6 tool updates
- First observed
create_checkout - First observed
get_download_link - First observed
get_license_terms - First observed
get_order_status - First observed
get_track - First observed
search_tracks
Related MCP Connectors
Search 2M+ licensed production-music tracks, find similar ones by track or audio, share pick lists.
Search 18,594 production-music cues by mood, sound and exact runtime. Instant preview links.
Royalty-free music fitted to your length: find, generate, adjust and download tracks and stems.
Human-made production music for sync — search by brief or reference, preview, score to picture.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to search, license, and pay for rights-clean music per use, returning a verifiable license certificate.5MIT
- AlicenseAqualityBmaintenanceEnables AI agents to search a catalog of 880+ artist-owned tracks by title, genre, mood, energy and musical key, audition previews, read live license prices, and build multi-track quotes that end in a pre-filled checkout page for social media, TV/streaming and film use. All tools are read-only with no API key, leaving payment and license request submission to the website.634 PyPIMIT
- FlicenseNot gradedqualityAmaintenanceEnables agents to analyze video footage for mood, pace, speech, and scene cuts, then return a ranked shortlist of license-safe royalty-free or Creative Commons tracks with the license printed on every row. Also supplies a 12–20s hook window, beat-aligned cut hints, and an ffmpeg ducking spec for mixing.-
- FlicenseNot gradedqualityAmaintenanceWatches video footage to return license-safe BGM shortlists, hook windows, beat/cut hints, and ffmpeg ducking or mix specs for agents, with license and attribution printed on every recommendation.-
Glama MCP Gateway
Add one secure layer between your agents and this server.