Skip to main content
Glama

Suno MCP Server

An MCP music workbench for turning vague creative ideas into structured, generation-ready music briefs.

Design Music DNA, write stronger Suno Style fields, explore prompt patterns, and keep your creative workflow inside Claude Code, Cursor, Hermes, or any MCP client.

MCP TypeScript Suno License


What this is

Suno MCP Server is a prompt strategy and music ideation layer for AI-assisted music creation.

It helps an agent move from:

“I want a nostalgic night-drive song that feels cinematic but still moves.”

to:

  1. structured Music DNA

  2. clearer creative constraints

  3. a focused Suno Style field

  4. optional lyrics and arrangement direction from the surrounding agent workflow

  5. reusable prompt patterns for iteration

The current release is intentionally text-first and provider-independent. It prepares high-quality inputs for Suno; it does not claim to be an official Suno API or directly generate audio in Suno.

Related MCP server: playlist-agent

Why it exists

AI music tools are easy to use but difficult to direct consistently. A short prompt often leaves important decisions implicit:

  • What is the emotional center?

  • What genre or hybrid is intended?

  • Which instruments and textures should lead?

  • How should energy develop from intro to outro?

  • What vocal persona fits the idea?

  • What styles should be avoided?

This server gives an MCP client a shared vocabulary and repeatable workflow for answering those questions before generation.

Current status

Capability

Status

Intent → structured Music DNA

Available

Music DNA → Suno-compatible Style field

Available

Keyword and vibe suggestions

Available

Intent clarity analysis

Available

Prompt and pattern matching

Available

Seed prompt resources

Available

Lyrics workflow

Planned

Song/project memory

Planned

Generation provider adapters

Planned

Direct Suno audio generation

Not currently included

Important: This is a community project and is not affiliated with, endorsed by, or sponsored by Suno. Suno generation remains a future integration area and should only use a supported provider interface or an explicitly user-controlled workflow.

The golden path

creative intent
  → analyze_intent
  → map_music_dna
  → refine the creative direction
  → build_style_field
  → compare against library://prompts
  → paste or route the generation brief to a supported music provider
  → iterate using feedback

Install

Requirements:

  • Node.js 22+

  • pnpm

  • an MCP-compatible client

pnpm install --frozen-lockfile
pnpm run build
pnpm start

The server uses stdio transport. Add it to an MCP client using the built entry point:

{
  "music-mcp": {
    "command": "node",
    "args": ["/absolute/path/to/suno-mcp-server/dist/index.js"]
  }
}

Phase 1 runs offline and requires no Suno credentials.

MCP tools

Tool

Purpose

map_music_dna

Convert free-text intent into structured emotion, genre, mood, textures, energy arc, vocal persona, production, and exclusions.

build_style_field

Compose a concise, generation-ready Suno Style field from Music DNA and optional dynamics instructions.

suggest_keywords

Suggest high-signal vocabulary for a vibe, genre, and mood.

analyze_intent

Score how complete an idea is across the Music DNA dimensions and identify what is missing.

match_top_patterns

Find related producer patterns and seed-library examples.

Example workflow

First, map a creative idea:

{
  "text": "Neon night drive, nostalgic but driving, 80s retro-futuristic synthwave, male baritone with a slight rasp, sparse pulsing bass intro that grows into a wide cinematic chorus",
  "bpm_hint": 128
}

Then pass the returned DNA into build_style_field:

{
  "dna": { "...": "result from map_music_dna" },
  "max_chars": 450,
  "include_bpm_key": true
}

The style composer follows this structure:

Genre + Mood + Era + Instruments + Vocal Persona + Production + Dynamics Journey

Resources

The server exposes reusable local resources for an agent to inspect:

URI

Description

library://prompts

Seed prompt library index.

library://prompts/{id}

Individual prompt-library entry.

musicdna://vocab

Music DNA keyword taxonomy.

musicdna://vibe-maps

Vibe-to-DNA mappings.

musicdna://top-patterns

Producer and prompt pattern cards.

MCP prompts

Prompt

Purpose

intent_to_dna

Guide an agent through clarifying a vague musical idea.

emotion_image_to_style

Turn an image or visual description into Music DNA and a Style field.

Architecture direction

The intended long-term architecture is a music workbench, not a thin wrapper around one provider:

Song concept
  → Music DNA
  → lyrics and arrangement
  → provider-ready generation package
  → generation result
  → critique and revision
  → version history

Future provider adapters can implement a stable interface for generation, status, and result import without changing the MCP tools used by the client. Until a supported Suno integration is available, the practical workflow is to use this server to create a polished generation package and then generate through the user’s chosen interface.

Development

pnpm run typecheck
pnpm run test:phase1
pnpm run build

Current constraints:

  • text-first

  • stdio transport only

  • no HTTP gateway

  • no bulk media downloads

  • no credentials required for the current phase

  • image URLs are accepted as text hints only; they are not fetched

Project layout

src/
  index.ts                 # stdio entry point
  server.ts                # MCP server, tools, resources, and prompts
  schemas/                 # Zod validation schemas
  engine/                  # DNA mapping, style composition, matching, and library logic
  tools/                   # validated MCP tool handlers
  data/                    # seed vocabulary, vibe maps, and prompt patterns

docs/
  PHASE1.md               # Phase 1 contracts and implementation notes

tests/
  phase1.test.ts          # Phase 1 tests

Roadmap

  • Phase 1 — Prompt Strategy: Music DNA, Style fields, vocabularies, and prompt resources. Current.

  • Phase 2 — Lyrics: Structured songwriting and section-aware lyric development.

  • Phase 3 — Composition: Arrangement, dynamics, transitions, and sonic identity.

  • Phase 4 — Song Projects: Persistent concepts, variants, feedback, and version history.

  • Phase 5 — Generation Providers: Provider-neutral adapters and importable generation results.

  • Phase 6 — Assets and Analytics: Covers, videos, catalogs, and creative analytics.

Ecosystem

  • Music architecture: music-ecosystem/docs/MUSIC_ECOSYSTEM_ARCHITECTURE.md

  • Phase specifications: music-ecosystem/mcp-specs/MCP_PHASES.md

  • Seed library: music-ecosystem/prompt-library/SEED_PROMPT_LIBRARY.md

  • Related skills: suno-e2e-workflow, songwriting-and-ai-music

License

MIT

Provider-neutral session preparation (0.3+)

prepare_music_session validates an approved style/lyric session and compiles Suno supervised, Lyria clip/full, Eleven Music or fal MiniMax Music 3 packets. It preserves lyrics, enforces provider duration/instrumental constraints, bounds candidate count and estimates the render cost. It makes no network request and cannot authorize credits, submit jobs, download audio, listen or publish. Its owner field is a planning label; an executor must authenticate the owner and reserve a host-approved budget.

Craft fundamentals and provider guidance are maintained in the public frankxai/agentic-music-producer-os docs. The packet compiler is canonical here in src/engine/session-compiler.cjs; an operated factory can vendor this pure compiler with a source revision/hash and parity tests. It contains no private canon or credentials.

Modular MCP runtime (0.4)

The server uses the official @modelcontextprotocol/server package and Zod4. Its runtime dependency graph contains the server and shared protocol implementation; the modular client is a development dependency. The legacy SDK is installed only in the isolated compatibility consumer, not in the project or published runtime. No HTTP gateway or authorization service is started.

The stdio entry uses serveStdio, which accepts legacy initialize clients and clients pinned to protocol2026-07-28. Tool names, Music DNA, prompt resources and prepared-only provider packets retain their existing contracts. For code that imports createMusicMcpServer, the returned SDK class now belongs to the v2 server package; v1 and v2 SDK instances must not be mixed. Version0.4 is a pre-1.0 compatibility boundary.

From a source checkout, run pnpm build followed by npm run verify:package. Verification packs the real artifact, installs it in an empty consumer and exercises legacy SDK1.32.1, modular v2 legacy mode and modular v2 modern mode. It checks constrained briefs, denial and recovery, prepared-only authority, strict inputs, resources, prompts and process exit. No provider credentials or audio-generation requests are used. CI runs this on Windows and Linux with Node22 and24. The resulting receipt and tarball are retained as job artifacts; a passing run verifies that matrix, not a public npm release or an audio result.

Available Tools

6 tools
analyze_intentC

Score clarity of user intent vs Music DNA dimensions and seed library; return missing dimensions and suggestions.

ParametersJSON Schema
NameRequiredDescriptionDefault
intent_textYes

TDQS

C2.7/5.0
Behavior2/5

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 hints at a read-only scoring operation by promising 'missing dimensions and suggestions', but says nothing about whether this reads or mutates session state, what permissions or session context it needs, or whether the seed library dependency must be set up first.

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?

A single dense sentence that front-loads the operation and appends the return values. Nothing is redundant, though domain jargon ('Music DNA dimensions', 'seed library') is used without definition.

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

Completeness2/5

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

For a tool with no annotations, no output schema, an undocumented parameter, and undefined domain terms, the description leaves too much unspecified. It never explains what 'Music DNA' or the 'seed library' refer to, so an agent cannot reliably decide when this analysis is appropriate.

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

Parameters2/5

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

Schema description coverage is 0%, with only type and length constraints on intent_text. The description implies the parameter is a free-text statement of user intent but gives no guidance on expected content, format, or length, leaving an undocumented 4000-char string field to the agent's guesswork.

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 ('Score clarity of user intent') against a specific domain resource ('Music DNA dimensions and seed library') and describes what it returns. It does not distinguish itself from siblings like map_music_dna or match_top_patterns, which also operate on Music DNA concepts.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of alternative sibling tools. An agent cannot tell from this description whether to call analyze_intent before, after, or instead of map_music_dna or suggest_keywords.

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

build_style_fieldC

Compose a full Suno Custom Style field from Music DNA (+ optional journey overrides). Quality target: seed library Neon Horizons / Liminal Tides.

ParametersJSON Schema
NameRequiredDescriptionDefault
dnaYesStructured Music DNA from map_music_dna
journeyNoOptional dynamics journey overrides
max_charsNo
include_bpm_keyNo
include_excludeNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses very little. The 'Quality target: seed library Neon Horizons / Liminal Tides' line gives a useful calibration reference for output quality, but there is no statement on side effects, determinism, permissions, or how max_chars affects the result.

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?

Two tightly written sentences with the core action front-loaded and no filler. The quality-target clause is somewhat opaque to a reader without the referenced seed library, but it earns its place as a calibration hint.

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

Completeness2/5

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

For a tool with a deeply nested DNA schema, optional overrides, and three formatting toggles, and with no output schema or annotations, the description is far too thin. An agent cannot tell how DNA fields map to the produced Style field, how truncation via max_chars works, or what the returned artifact looks like.

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

Parameters2/5

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

Schema description coverage is 40% and the description adds no per-parameter detail. 'Music DNA' and 'journey overrides' loosely map to the dna and journey params, but max_chars, include_bpm_key, and include_exclude are neither documented in the schema nor explained here, leaving the toggles' effect on output unclear.

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 artifact: 'Compose a full Suno Custom Style field from Music DNA.' The input source ('Music DNA') implicitly links it to the map_music_dna sibling, so the agent can distinguish producer from consumer. It stops short of explicitly contrasting with siblings like suggest_keywords, but the resource is unambiguous.

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 phrase 'from Music DNA (+ optional journey overrides)' implies the upstream dependency and the optional-input condition, but there is no explicit when-to-use, when-not-to-use, or named alternative. Usage must be inferred from the data-flow phrasing rather than stated.

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

map_music_dnaC

Extract structured Music DNA from free text (optional image_url as text hint only — no media download). Returns emotion, genre, textures, energy arc, vocal persona, exclude styles, confidence.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesFree-text intent, vibe description, or image caption
bpm_hintNo
image_urlNoOptional image URL — Phase 1 text-hint only
genre_hintNo
instrumentalNo

TDQS

C2.9/5.0
Behavior2/5

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 usefully discloses that image_url is treated purely as a text hint with 'no media download', but omits permissions, determinism, latency, and any failure behavior. Listing returned fields is helpful but doesn't substitute for behavioral disclosure.

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?

Two dense, front-loaded sentences with no filler; the operation and its output fields lead. The parenthetical about no media download is worth its space.

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

Completeness3/5

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

With no output schema, listing the returned attributes (emotion, genre, textures, energy arc, etc.) is genuinely necessary and present. However, with 5 parameters, 40% coverage, and zero annotations, the definition leaves parameter behavior and operational caveats under-specified.

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 only 40% (text and image_url documented; bpm_hint, genre_hint, instrumental undocumented). The description clarifies the image_url semantics and reiterates 'free text', which partially compensates, but does not explain the three hint/flag parameters.

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 ('Extract') and a concrete resource ('structured Music DNA from free text'), so the agent knows the transformation. It does not distinguish itself from siblings like analyze_intent or suggest_keywords, which occupy overlapping semantic space.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance, and no routing to alternatives among the six sibling tools. The 'image_url as text hint only' note is a behavior detail rather than selection guidance.

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

match_top_patternsC

Find similar high-rated pattern cards and library entries for a free-text query.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations exist, so the description carries the full behavioral burden. It does disclose that results are restricted to 'high-rated' items, which is genuine behavioral context, but says nothing about ranking, result count behavior, or latency/limits.

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?

A single front-loaded sentence with no filler, but the extreme brevity is under-specification rather than true efficiency for a tool with an undocumented schema.

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

Completeness2/5

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

With no annotations, no output schema, and 0% parameter coverage, the description leaves key gaps: how many results come back, how matches are ranked, and what 'pattern cards' versus 'library entries' means in the result set.

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

Parameters2/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 covers only the 'query' parameter implicitly ('free-text query') and gives no hint about the 'limit' parameter's default of 3 or maximum of 10.

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 ('Find similar') and resource ('high-rated pattern cards and library entries') with the input mode ('free-text query'). An agent knows what the tool returns, but the description never contrasts it with plausible siblings like suggest_keywords or analyze_intent.

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

Usage Guidelines2/5

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

No when-to-use, when-not-to-use, or alternative guidance is given. The phrase 'for a free-text query' weakly implies the input condition, but nothing tells an agent how to choose between this and the other five pattern/music tools.

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

prepare_music_sessionB

Prepare a validated provider-neutral music packet; no API calls, credit authorization or audio verdict.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYes
styleYes
engineYes
lyricsYes
work_idYes
sectionsNo
budget_usdYes
candidatesYes
duration_sYes
instrumentalYes
artist_profile_refYes

TDQS

B3.1/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden, and it does disclose real behavioral facts: no network calls, no credit spend, no audio evaluation — i.e. a pure local validation step. It stops short of stating what validation runs, whether anything is persisted, or how invalid input is reported, which matters for a 10-required-param 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?

A single front-loaded sentence that separates what the tool does from what it does not, with no filler. Every clause carries information.

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

Completeness2/5

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

For a tool with 11 parameters, 10 of them required, no annotations, no output schema, and zero schema descriptions, this one-liner is far too thin. The agent knows the tool's scope but nothing about the inputs it must supply or what it receives back.

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

Parameters1/5

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

Schema description coverage is 0% across 11 parameters, and the description compensates for none of it. Constraints like the owner/engine enums, the 1-8 candidate range, the USD budget semantics, and the role of 'artist_profile_ref' versus 'work_id' are entirely undocumented.

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 concrete verb ('prepare') and a named artifact ('validated provider-neutral music packet'), and it defines the boundary of the operation by listing what it does not do. 'Music packet' is internal jargon, but no sibling (map_music_dna, build_style_field, suggest_keywords, analyze_intent, match_top_patterns) plausibly covers the same ground, so an agent can still route here correctly.

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 exclusions ('no API calls, credit authorization or audio verdict') implicitly tell the agent this is the pre-execution, zero-cost preparation step, which is useful routing context. However, it names no alternative tool, states no preconditions, and never says what to do with the packet afterwards.

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

suggest_keywordsC

Suggest vibe/DNA keywords for a vibe string, optional genre, and mood list.

ParametersJSON Schema
NameRequiredDescriptionDefault
moodNo
vibeYes
genreNo
limitNo

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Suggest' implies a read-only generative operation, but nothing states whether output is deterministic, how many keywords come back beyond the 'limit' param, whether mood/genre meaningfully change results, or any latency/cost characteristics.

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?

A single tight sentence with no filler, front-loading the verb and the produced artifact. It is efficient, though brevity is achieved partly by omission rather than by precision.

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

Completeness2/5

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

A four-parameter tool with no annotations, no output schema, and 0% schema description coverage needs the description to explain inputs and return shape. Instead it gives one line, leaving the agent without enough to call it confidently or to know what the returned keywords look like.

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

Parameters2/5

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

Schema description coverage is 0% and there are four parameters, so the description must compensate — it does not. It names vibe, genre and mood (restating schema property names) but adds no format, example, or constraint semantics, and it omits the 'limit' parameter entirely.

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 ('Suggest') and resource ('vibe/DNA keywords') plus the inputs that shape the suggestion, so an agent can tell what it produces. It does not, however, differentiate itself from similarly-themed siblings such as map_music_dna or build_style_field, which also operate on vibe/DNA concepts.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no conditions, and no mention of any alternative. With five overlapping siblings in the keyword/DNA/style space, the agent gets no signal about which tool to pick for which intent.

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. 6 tool updatesv0.4.0
    • First observedanalyze_intent
    • First observedbuild_style_field
    • First observedmap_music_dna
    • First observedmatch_top_patterns
    • First observedprepare_music_session
    • First observedsuggest_keywords

TDQS

B3.2/5.0

Scored across 6 tools

Disambiguation4/5

Each tool targets a distinct stage: DNA extraction, style field composition, keyword suggestion, intent scoring, pattern matching, and session prep. There is mild overlap in the text-analysis family (map_music_dna vs analyze_intent vs suggest_keywords), but the descriptions clarify the boundaries well enough for correct selection.

Naming Consistency5/5

All six tools use a consistent snake_case verb_noun pattern (prepare_music_session, map_music_dna, build_style_field, suggest_keywords, analyze_intent, match_top_patterns). Naming is predictable and readable throughout with no mixed conventions.

Tool Count4/5

Six tools is a reasonable, well-scoped set for a music-prompt preparation pipeline. It is slightly lean — no persistence or session-retrieval tool — but nothing feels padded or redundant.

Completeness4/5

The surface covers a coherent pipeline from raw intent through DNA extraction, style-field construction, and validated session prep. Minor gaps exist (no save/persist or re-open a prepared session, no actual generation step), but these may be intentionally out of scope.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers