Skip to main content
Glama

Server Details

Write and generate complete songs with vocals from a description of the mood, genre and lyrics.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4/5.0

Scored across 5 tools

Disambiguation4/5

Most tools have clearly distinct roles in a linear workflow (prepare → update → generate → poll → render). However, get_song_job and render_song_widget both surface job status, and prepare_song_project vs update_song_project both write project state, which could cause minor misselection. The verbose descriptions largely resolve these overlaps.

Naming Consistency5/5

All five tools follow a consistent snake_case verb_noun pattern (generate_song, get_song_job, prepare_song_project, render_song_widget, update_song_project). The domain noun is applied predictably across the set with no convention mixing.

Tool Count5/5

Five tools is well-scoped for a song generation workflow: prepare, edit, generate, poll, and display. Each tool earns its place without redundancy or bloat.

Completeness4/5

The core create-and-generate lifecycle is fully covered, including draft preparation, editing, generation, job polling, and widget rendering. Minor gaps exist: no cancel-job, delete-project, or list-projects operation, though these are workable around. Out-of-scope audio features (covers, stems, cloning) are explicitly disclaimed rather than missing.

Available Tools

5 tools
generate_songGenerate SongA
Destructive
Inspect

Render the prepared song in the user's Abracadabrax account. Call this only after the user explicitly asked to generate, never on your own initiative: it spends the user's credits and sends the generation inputs to the configured model provider. Optional settings overwrite the saved project. Repeating with unchanged settings reuses a running or completed job, but a failed job can start a new paid attempt. Returns the job id and status; poll get_song_job for the audio. It needs the user's Abracadabrax account: the client asks the user to sign in when it is missing. Use this only to create a new song from a style description and (optional) lyrics. Do not use it for uploaded or existing audio: covers, remixes, extending or editing a track, stem separation, voice cloning or transcription.

NameRequiredDescriptionDefault
styleNoGenre, mood, tempo, instruments and vocal style, e.g. 'upbeat indie pop, female vocals, 120 bpm, bright guitars'.
titleNoSong title.
lyricsNoFull lyrics with section tags such as [Verse], [Chorus], [Bridge]. Write them with the user first; omit for an instrumental.
model_idNoAbracadabrax song model id: minimax-music (default, vocals + lyrics), acestep-create (fast, lyrics, chosen length), elevenlabs-music (studio, no lyrics), stable-audio (instrumental).
model_nameNo
project_idYes
duration_secNoSong length in seconds for models that support it (30, 60, 120, 180, 300).
instrumentalNoTrue for a track without vocals.

Output Schema

NameRequiredDescription
jobNo
stateYes
balanceNo
messageYes
projectYes
dashboard_urlYes
credits_requiredYes

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare destructive/non-readonly/non-idempotent, but the description supplies the substance behind them: it spends the user's credits, transmits generation inputs to a third-party model provider, optional settings overwrite the saved project, a repeated call with unchanged settings reuses a job while a failed job can trigger a new paid attempt, and sign-in is required. That is far more than the annotations convey.

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

Conciseness4/5

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

Front-loaded with the action and the credit-spend warning, and nearly every sentence carries routing or side-effect information. It runs long and the final 'Use this only to create a new song from a style description' sentence partially restates the opening, which is the only real redundancy.

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

Completeness5/5

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

An output schema exists so return values needn't be detailed, yet the description still notes the job id/status return and the get_song_job polling path. Auth, cost, provider exposure, overwrite behavior, idempotency nuance, and scope exclusions are all covered for an 8-parameter mutating tool.

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

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75% and the schema already documents style, lyrics, model_id, duration_sec and instrumental well. The description still adds non-obvious semantics for the optional parameters ('Optional settings overwrite the saved project') and frames style/lyrics as the creation inputs, though it says nothing about the undocumented model_name parameter.

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?

States a specific verb and resource ('Render the prepared song') and then narrows it precisely: 'Use this only to create a new song from a style description and (optional) lyrics.' It is clearly distinguishable from get_song_job (polling), prepare_song_project, and update_song_project without opening any schema.

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

Usage Guidelines5/5

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

Explicit when-to-use ('only after the user explicitly asked to generate, never on your own initiative'), explicit alternatives ('poll get_song_job for the audio'), and a long explicit exclusion list (covers, remixes, extending, editing, stem separation, voice cloning, transcription). Nothing about routing is left to inference.

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

get_song_jobCheck Song StatusB
Read-onlyDestructiveIdempotent
Inspect

Return the status and saved output URLs of an existing song job owned by the linked account. A queued or running job older than ten minutes can be marked failed and its credits refunded once. This changes job and credit records; it never starts a generation.

NameRequiredDescriptionDefault
job_idYes

Output Schema

NameRequiredDescription
jobNo
stateYes
messageYes
dashboard_urlYes

TDQS

B3.3/5.0
Behavior1/5

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

The description asserts 'This changes job and credit records,' while the annotations declare readOnlyHint=true. That is a direct contradiction: a read-only tool by definition does not modify its environment, yet this one can mutate job and credit state. Although the description's disclosure of the timeout/refund behavior is otherwise valuable, the conflict with the structured safety hint makes the tool's actual mutability profile unsafe to rely on. (destructiveHint=true is consistent with the disclosure, which deepens the readOnlyHint inconsistency.)

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

Conciseness4/5

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

Three sentences, front-loaded with the purpose, then the edge-case behavior, then the negative scoping. Nothing is padded, though the middle sentence packs timeout, failure marking, and refund semantics into one dense clause that could be split for clarity.

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?

An output schema exists, so return values need not be re-explained, and the description covers the read purpose, the conditional side effect, and what it does not do. What is missing is the interaction between the mutation and the readOnlyHint annotation, and whether the timeout/refund is automatic or caller-induced.

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?

One parameter (job_id) with 0% schema description coverage, so the description must carry some load. It adds the constraint that the job must already exist and be owned by the linked account, but it never says where job_id comes from or its format, so an agent still has to guess whether a generation id, project id, or job handle is expected.

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 states a specific verb and resource — 'Return the status and saved output URLs of an existing song job' — and scopes it to jobs 'owned by the linked account.' It also closes off the sibling ambiguity with 'it never starts a generation,' which separates it from generate_song without needing to open either schema.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer you call this to poll an existing job for status/output URLs. There is no explicit statement of when to prefer it (e.g., 'call after generate_song returns a job_id') and no named alternatives among the sibling tools.

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

prepare_song_projectPrepare SongAInspect

Prepare an Abracadabrax song from a style brief (genre, mood, vocals) and optional lyrics or title. Write the lyrics in the conversation first and pass them here. Saves a new draft and renders the review widget; repeated calls create separate drafts. Nothing is generated and no credits are spent. No sign-in is needed to prepare. Use this only to create a new song from a style description and (optional) lyrics. Do not use it for uploaded or existing audio: covers, remixes, extending or editing a track, stem separation, voice cloning or transcription.

NameRequiredDescriptionDefault
styleYesGenre, mood, tempo, instruments and vocal style, e.g. 'upbeat indie pop, female vocals, 120 bpm, bright guitars'.
titleNoSong title.
lyricsNoFull lyrics with section tags such as [Verse], [Chorus], [Bridge]. Write them with the user first; omit for an instrumental.
model_idNoAbracadabrax song model id: minimax-music (default, vocals + lyrics), acestep-create (fast, lyrics, chosen length), elevenlabs-music (studio, no lyrics), stable-audio (instrumental).
model_nameNo
duration_secNoSong length in seconds for models that support it (30, 60, 120, 180, 300).
instrumentalNoTrue for a track without vocals.

Output Schema

NameRequiredDescription
jobNo
stateYes
balanceNo
messageYes
projectYes
dashboard_urlYes
credits_requiredYes

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations, the description discloses concrete side effects: a draft is saved, a review widget is rendered, repeated calls create separate drafts (concretizing idempotentHint=false), and crucially that no credits are spent and no sign-in is required. It resolves the tension between readOnlyHint=false and destructiveHint=false by explaining the write is a non-costly draft.

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

Conciseness4/5

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

Front-loaded with the core action and its cost/auth guarantees, and the exclusion list is compact. The later sentence 'Use this only to create a new song from a style description and (optional) lyrics' partially restates the opening, a minor redundancy that keeps it from a 5.

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

Completeness5/5

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

For a 7-parameter tool with an output schema and full annotation coverage, the description supplies everything an agent needs: cost, auth, side effects, idempotency semantics, prerequisites, and routing exclusions. Return values need not be explained because an output schema exists.

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 86%, above the high-coverage threshold, so the schema already documents style, lyrics, model_id, duration_sec and instrumental well. The description only adds the workflow hint that lyrics should be authored in-conversation first, and leaves model_name's relationship to model_id unexplained. Baseline 3 is appropriate.

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?

States a specific verb+resource (prepare an Abracadabrax song from a style brief with optional lyrics/title) and immediately distinguishes it from generation ('Nothing is generated'). It also carves out what it is not, which lets an agent separate it from generate_song and update_song_project without opening a schema.

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

Usage Guidelines5/5

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

Explicit when-to-use ('only to create a new song from a style description and (optional) lyrics'), explicit workflow prerequisite ('write the lyrics in the conversation first'), and an explicit exclusion list (covers, remixes, extending, editing, stem separation, voice cloning, transcription). Nothing is left to inference.

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

render_song_widgetShow Song ProjectA
DestructiveIdempotent
Inspect

Show a saved Abracadabrax song project and its existing job. A queued or running job older than ten minutes can be marked failed and its credits refunded once. This changes job and credit records; it never starts a generation. Requires a project_id returned by prepare_song_project.

NameRequiredDescriptionDefault
project_idYes

Output Schema

NameRequiredDescription
jobNo
stateYes
balanceNo
messageYes
projectYes
dashboard_urlYes
credits_requiredYes

TDQS

A4.2/5.0
Behavior5/5

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

With annotations only giving destructiveHint/idempotentHint flags, the description carries the real behavioral detail: it changes job and credit records, a stale (>10 min) queued/running job can be marked failed with a one-time credit refund, and it never starts a generation. That is exactly the 'what gets destroyed / under what conditions' context an agent needs, and it actively resolves the misleading 'Show' framing.

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

Conciseness4/5

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

Four short sentences, front-loaded with the purpose, each adding distinct information (side effect, boundary, prerequisite) with no filler. Slightly dense, but nothing is redundant.

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?

An output schema exists so return values need no explanation, and annotations cover the safety profile. The description adds the side-effect conditions and the prerequisite, leaving only minor gaps such as behavior when no stale job exists. Adequate for a single-parameter mutation tool.

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

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does add real meaning by specifying the provenance of project_id ('returned by prepare_song_project'), which tells the agent how to obtain a valid value. It does not add format or constraint details, but provenance is the salient semantic here.

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

Purpose4/5

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

The description states a specific verb and resource ('Show a saved Abracadabrax song project and its existing job') and explicitly draws a boundary against one sibling by saying it 'never starts a generation' (vs generate_song). It does not distinguish itself from get_song_job or update_song_project, so sibling differentiation is only partial. The verb 'Show' also undersells the mutation, but the purpose is still identifiable.

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?

It supplies the key prerequisite ('Requires a project_id returned by prepare_song_project') and one explicit exclusion ('it never starts a generation'), which routes the agent away from generate_song. It stops short of stating when to prefer this over get_song_job or update_song_project, so guidance is clear but not exhaustive.

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

update_song_projectUpdate Song SettingsA
DestructiveIdempotent
Inspect

Overwrite the saved widget settings (title, style, lyrics, instrumental, length, model) to a prepared song before generating. Changing generation settings detaches the prior job from this project without deleting that job or its media. Intended for the widget UI; no credits are spent. Use this only to create a new song from a style description and (optional) lyrics. Do not use it for uploaded or existing audio: covers, remixes, extending or editing a track, stem separation, voice cloning or transcription.

NameRequiredDescriptionDefault
styleNoGenre, mood, tempo, instruments and vocal style, e.g. 'upbeat indie pop, female vocals, 120 bpm, bright guitars'.
titleNoSong title.
lyricsNoFull lyrics with section tags such as [Verse], [Chorus], [Bridge]. Write them with the user first; omit for an instrumental.
model_idNoAbracadabrax song model id: minimax-music (default, vocals + lyrics), acestep-create (fast, lyrics, chosen length), elevenlabs-music (studio, no lyrics), stable-audio (instrumental).
model_nameNo
project_idYes
duration_secNoSong length in seconds for models that support it (30, 60, 120, 180, 300).
instrumentalNoTrue for a track without vocals.

Output Schema

NameRequiredDescription
jobNo
stateYes
balanceNo
messageYes
projectYes
dashboard_urlYes
credits_requiredYes

TDQS

A4.3/5.0
Behavior4/5

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

Goes beyond the annotations by disclosing that changing generation settings detaches the prior job from the project without deleting the job or its media, and that no credits are spent. This gives real substance to destructiveHint=true and idempotentHint=true. It doesn't explicitly address the overwrite semantics for fields omitted from the call, which is the one remaining gap.

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?

Front-loaded with the verb and resource, then the behavioral consequence, then the use/do-not-use routing. No filler sentences and every clause carries information an agent needs.

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

Completeness5/5

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

For an 8-parameter idempotent mutation with an output schema and full annotations, the description supplies the missing pieces: what gets detached, that no credits are spent, and the exclusion list. An agent could invoke this correctly from the definition alone.

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 coverage is 75% and the schema already documents style, lyrics, model_id, duration_sec and instrumental well. The description's parenthetical field list (title, style, lyrics, instrumental, length, model) merely echoes parameter names and adds no format or constraint detail. Baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb and resource: overwrite the saved widget settings (title, style, lyrics, instrumental, length, model) on a prepared song before generating. That distinguishes it from generation and from prepare_song_project, though it never names the siblings directly. Clear and unambiguous overall.

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

Usage Guidelines5/5

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

Explicit positive scope ("use this only to create a new song from a style description and optional lyrics") plus an enumerated negative list: covers, remixes, extending/editing, stem separation, voice cloning, transcription. The agent knows exactly which request routes here versus elsewhere.

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. 5 tool updates
    • First observedgenerate_song
    • First observedget_song_job
    • First observedprepare_song_project
    • First observedrender_song_widget
    • First observedupdate_song_project

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    18 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources