Skip to main content
Glama

Lacuna Music

Server Details

Generate AI music via the Lacuna Music API from MCP clients like Claude Desktop & Code.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
JOYLINK-LTD/lacuna-toolkit
GitHub Stars
4
Server Listing
lacuna-mcp

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 4.3/5 across 3 of 3 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool addresses a distinct stage of the workflow: list_models for discovery, generate_music for task creation, and get_generation for status/results. There is no overlap between them.

Naming Consistency5/5

All tool names follow the same verb_noun pattern in lowercase snake_case: generate_music, get_generation, list_models. This is perfectly consistent and predictable.

Tool Count5/5

Three tools is well-scoped for a music generation API. Each tool has a clear, necessary role, and none are redundant or missing.

Completeness5/5

The tool surface covers the complete user workflow: list available models, create a generation task, and retrieve the finished output. No obvious gaps exist.

Available Tools

3 tools
generate_musicGenerate musicAInspect

Create an AI music generation task on Lacuna. Returns immediately with a pending task; poll get_generation to retrieve the finished tracks and their audio URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoGeneration model. Defaults to `aether`. Call `list_models` for what each one covers.
styleYesStyle description, e.g. "pop, female vocal, 120 bpm, energetic".
titleYesTrack title.
lyricsNoLyrics in plain text. Required unless `instrumental` is true.
audio_weightNoAudio reference weight 0–1 (aether only).
instrumentalNoGenerate an instrumental track (no lyrics). Defaults to false.
style_weightNoStyle weight 0–1 (aether only).
vocal_genderNoLead vocal gender hint (aether only).
negative_tagsNoNegative style tags to avoid (aether only).
weirdness_constraintNoWeirdness constraint 0–1 (aether only).
Behavior4/5

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

The description discloses a key behavioral trait not captured by annotations: the operation is asynchronous, returning immediately with a `pending` task and requiring polling. This adds value beyond the annotations (readOnlyHint=false, openWorldHint=true, destructiveHint=false), which only hint at mutability. It doesn't mention failure modes or other side effects, but the critical async nature is clearly stated.

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 a single sentence of 29 words, front-loaded with the action and then immediately explaining the return behavior. Every word is informative, with no filler or repetition.

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?

The description covers the essential workflow—initiate the task, receive a pending response, and poll get_generation for results—which is adequate for a complex tool given the rich schema. It does not mention model selection or prerequisites, but those are already in the schema, and the async pattern is the most critical aspect. Minor gap: it could hint that more detailed model guidance is in list_models, but that is referenced in the schema anyway.

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%, and the description itself adds no parameter-level detail beyond the schema (e.g., it never mentions style, title, or model). Since the schema fully documents all 10 parameters, the baseline of 3 applies; the description contributes nothing extra here.

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 uses the specific verb 'Create' and identifies the resource as 'an AI music generation task on Lacuna', clearly distinguishing it from the sibling tools. It also contrasts with get_generation by stating it returns a pending task immediately, making the tool's role unambiguous.

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?

The description explicitly names the alternative `get_generation` for retrieving finished tracks and audio URLs, establishing a clear when-to-use this tool (initiate generation) and when-to-use the sibling (poll for results). This provides direct usage guidance beyond the schema.

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

get_generationGet generationA
Read-only
Inspect

Retrieve the current state of a music generation task by id. Status is pending, ready, or failed; audio URLs appear on ready.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesGeneration task id, returned by generate_music.
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral detail beyond annotations: the possible statuses (pending, ready, failed) and that audio URLs only appear on 'ready'. This helps the agent interpret the response and understand the lifecycle. It doesn't describe error responses or behavior for unknown ids, but that is a minor 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?

Two concise sentences convey the purpose and key behavioral details without fluff. Every word adds value: the verb, the resource, the status set, and the audio URL note. Front-loaded with the core action and then elaborates efficiently.

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?

Given the tool's simplicity (one parameter, no output schema), the description is complete. It covers what the tool does, the status values, and when audio URLs appear. Annotations handle safety hints, and sibling names provide context for the tool's role. No critical information is missing.

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%; the parameter 'id' is already described as 'Generation task id, returned by generate_music.' The description adds little beyond the schema, only implicitly referencing 'by id'. Therefore, the baseline of 3 is appropriate since the schema handles the parameter meaning.

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 verb 'Retrieve' and the resource 'current state of a music generation task by id'. It also differentiates from siblings: generate_music creates tasks, list_models lists models, while this tool fetches task state. The mention of statuses and audio URLs makes the function unambiguous.

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 implies usage context: after generating music with generate_music, one polls this tool with the returned id to check status. It explains what statuses mean and that audio URLs appear when ready, giving clear context for when to call it. However, it does not explicitly name alternatives or state when not to use it, so it falls 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.

list_modelsList modelsA
Read-only
Inspect

List the music models available through the API, with their credit cost per task, tracks produced per task, and language coverage.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

The annotations already indicate a safe read-only operation (readOnlyHint: true, destructiveHint: false). The description adds useful context about what information is returned (credit cost, tracks produced, language coverage), but it does not disclose additional behavioral traits such as pagination, rate limits, or authentication requirements. This matches the baseline for a read-only list tool.

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 a single, well-structured sentence that is front-loaded with the core purpose ('List the music models') and immediately provides the key details of what is included. There is no redundant or extraneous information.

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 zero-parameter, read-only list tool with no output schema, the description is sufficiently complete. It names the resource and explicitly enumerates the main return fields (credit cost per task, tracks produced per task, language coverage), giving the agent a clear expectation of what the result contains.

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?

The tool has zero parameters, and the schema is empty with 100% coverage by definition. The description does not need to explain parameters, and the baseline score for zero parameters is 4. It 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.

Purpose5/5

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

The description clearly states the action ('List') and the resource ('music models available through the API'), and explicitly distinguishes it from sibling tools like generate_music and get_generation by focusing on listing available models rather than creating or retrieving generations.

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?

The description implies the tool is used to see available models and their metadata, but it does not explicitly state when to use it versus alternatives. For instance, it does not mention 'Use this before generate_music to select a model.' The context of sibling tools suggests usage, but there is no direct guidance.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.