Skip to main content
Glama

calculate_royalty_split

Calculates royalty splits and estimated earnings for music rights deals. Handles songwriter/publisher splits, producer points, co-writer splits, sync fee splits, and streaming payout estimates. Works for any music — not limited to the OnChain Music catalog. Useful for artists, managers, agents, and label tools that need to model deal economics.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
streamsNoNumber of streams. Used for streaming_estimate.
writersNoArray of co-writers with their percentage splits. Used for co_writer_split. Each item: { name: string, percentage: number }. Percentages must sum to 100.
platformNoStreaming platform for payout estimate. Use "average" for a blended estimate across platforms.
sync_feeNoTotal sync licensing fee in USD. Used for sync_fee_split.
units_soldNoNumber of units sold. Used for producer_points calculation.
gross_royaltiesNoTotal gross royalties collected (in USD). Used for songwriter_publisher_split and co_writer_split.
producer_pointsNoNumber of producer points (percentage of master royalties). Used for producer_points calculation. Example: 3 for 3 points.
calculation_typeYesThe type of royalty calculation to perform.
artist_royalty_rateNoArtist royalty rate as a percentage of label revenue (0-100). Used for streaming_estimate. Example: 18 for a standard 18% royalty deal. Use 100 for independent artists keeping all revenue.
master_royalty_rateNoMaster royalty rate as a percentage (0-100). Used for producer_points. Example: 18 for an 18-point deal.
publisher_percentageNoPublisher's percentage of the songwriter share (0-100). Used for songwriter_publisher_split. Example: 50 for a 50/50 co-publishing deal.
suggested_retail_priceNoSuggested retail price of the album in USD. Used for producer_points calculation. Example: 9.99.
master_owner_percentageNoMaster rights owner's share of the sync fee as a percentage (0-100). Used for sync_fee_split. Typically 50% goes to master, 50% to publishing.
publisher_sync_percentageNoPublisher's share of the sync fee as a percentage (0-100). Used for sync_fee_split. The remainder goes to the songwriter.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It conveys that the tool is a read-only calculator ('Calculates', 'Handles') and discloses that streaming estimates are approximate ('estimated earnings'). It also mentions it works on any music, setting expectations for input scope. While it lacks details on output structure or error conditions, the core non-destructive, estimation-based behavior is clearly communicated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core action ('Calculates') and resource ('royalty splits'), followed by a list of supported types and a concise audience/scope statement. Every sentence serves a purpose, with zero fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (14 parameters, 5 calculation types) and the absence of an output schema, the description provides the essential overarching context: what the tool does, who it's for, and that it isn't limited to the OnChain catalog. The rich schema descriptions cover per-parameter details (e.g., 'Used for producer_points calculation'), so the description doesn't need to repeat that. A minor gap is the lack of expected output format, but the description is otherwise adequate.

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

Parameters3/5

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 adds high-level context by listing the calculation types, which maps to the calculation_type enum, but it does not add per-parameter meaning beyond the schema. The schema already thoroughly documents each parameter's purpose and the calculation type it supports.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Calculates royalty splits and estimated earnings for music rights deals.' It enumerates specific calculation types (songwriter/publisher splits, producer points, co-writer splits, sync fee splits, streaming payout estimates) and explicitly notes it works for any music, distinguishing it from sibling tools like search or genre conventions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool: 'Useful for artists, managers, agents, and label tools that need to model deal economics.' It also clarifies scope ('not limited to the OnChain Music catalog'). However, it does not explicitly name alternatives or state when not to use it, though the sibling tools are clearly unrelated lookup/search functions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation3/5

ai_search and search_catalog both search the OnChain Music catalog using natural language descriptions, making their boundaries unclear despite the descriptions. The other tools (get_track, calculate_royalty_split, get_genre_conventions, get_loudness_standards) are clearly distinct.

Naming Consistency4/5

Most tools follow a clear verb_noun snake_case pattern (calculate_royalty_split, get_genre_conventions, get_loudness_standards, get_track, search_catalog). ai_search deviates from this pattern by using a noun prefix instead of a verb, but the convention is otherwise consistent.

Tool Count5/5

With 6 tools, the server is well-scoped for its purpose: catalog searching, track retrieval, and music business utilities. Each tool contributes a distinct function without unnecessary bloat.

Completeness4/5

The tool set covers catalog search, track metadata retrieval, royalty calculation, genre conventions, and loudness standards. A direct licensing/purchase tool is absent, but the search results include a results_url for external licensing, so the core workflow is supported. Minor gaps like listing all genres or artists are easily worked around via search.

Resources