io.github.js713-lab/sonicmatch-mcp
Server Quality Checklist
Latest release: v0.2.0
- Disambiguation4/5
Most tools have clearly distinct roles in the pipeline (ingest, analyze, recommend, search, render, export, cuts, bed generation). However, preview_mix and export_mix_spec overlap significantly since export_mix_spec with render=true is explicitly 'same as preview_mix', and recommend_bgm vs search_music both perform music lookup with some boundary overlap.
Naming Consistency4/5All tools follow the snake_case verb_noun pattern (ingest_video, recommend_bgm, suggest_cuts, save_brand_kit, etc.), except for the noun-only 'status'. That minor inconsistency is the only deviation, making the set predictable.
Tool Count5/512 tools map directly to a coherent music-video workflow: video ingest, analysis, BGM recommendation/search, track details, mixing, export, cutting, generated beds, brand kit, and batch analysis. Every tool has a clear purpose and the count fits squarely in the well-scoped range.
Completeness4/5The toolkit covers the essential lifecycle from video input to analysis, music selection, mix preview, specification export, and batch operation. Minor gaps exist like management of saved assets (e.g., updating brand kits or deleting generated beds), but the core workflow has no dead ends and agents can complete a full pipeline.
Average 3.7/5 across 12 of 12 tools scored. Lowest: 2.3/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 5 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must carry the burden of behavioral disclosure. It only states the search scope and does not mention return format, ordering, pagination, or that it is a read-only operation. No side effects or limitations are disclosed, which is insufficient for an 8-parameter tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is superficially concise but under-specifies the tool. It omits essential information about filters and output, making it an incomplete specification rather than a well-structured concise description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters, no annotations, and an output schema that is not shown, the description is severely incomplete. An agent cannot determine how to set filters, what results look like, or any constraints on usage. The tool's complexity demands a far richer description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the schema provides no explanations for any parameter. The description fails to explain the meaning or effect of limit, bpm_min, bpm_max, duration_min, duration_max, instrumental, or catalog. It only alludes to source catalogs indirectly without mapping them to the catalog parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('Free-text search') and resource ('seed + optional Jamendo / Freesound / user library'), which distinguishes it from sibling tools like get_track (fetch specific track) and recommend_bgm (AI-driven recommendation). It doesn't fully define 'seed' but the intent 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 Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention that it should be used for free-text queries, nor does it exclude cases better handled by recommend_bgm or get_track. The agent is left to infer from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It states what is returned but does not mention read-only nature, authentication requirements, error handling, or side effects. The description is minimal and adds little beyond the obvious 'return' semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler. It front-loads the action and lists the return contents efficiently. Every word earns its place, and the structure is clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter with an output schema, the description is minimally adequate. It specifies the kinds of returned data, so an agent knows what to expect. However, it does not mention the need for track_id (though in schema) or differentiate from siblings, leaving contextual gaps for correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, and the description does not explain track_id. It implies that a track is identified, but does not specify the format, source, or any constraints. The description adds no meaning beyond the parameter name and type, failing to compensate for the schema's lack.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Return' and the resource 'one track', listing the types of data (metadata, license string, attribution text, URLs). It is specific and not a tautology, but it does not explicitly differentiate from siblings like search_music or status, which could also involve track data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, such as having a track_id, nor any comparison with sibling tools like search_music (which likely returns multiple tracks) or status. The usage context is entirely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full behavioral burden, and it does disclose the key side effect: render=true writes preview files, default render=false produces no files. But it doesn't clarify the shape of the returned spec/recipe/attribution, whether the export is synchronous, or what happens to existing mix data. The presence of an output schema mitigates return-value opacity somewhat, but the description itself stays thin on behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, purpose front-loaded, no filler. The first line states the core function immediately, and the second adds the render toggle and editor context efficiently. Minor deduction for packing two distinct concepts (editor companion + render synonym) into one sentence, which slightly buries the preview_mix equivalence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter tool with zero param descriptions and no annotations, the description leaves critical gaps: the meaning of 'attribution,' the format of the 'ffmpeg recipe,' and how the editor companion output is consumed remain undefined. The output schema likely covers return values, which is the main redeeming factor, but the agent cannot confidently craft parameters or interpret the export without more context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across all 6 parameters, and the description only clarifies render (writes preview files same as preview_mix). The other five parameters (bgm_db, voice_db, ducking, asset_id, track_id) get no semantic explanation — an agent cannot infer that bgm_db/voice_db are gain levels or what ducking modifies. At 0% coverage, the description was obligated to compensate and only addressed one param.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Export the mix spec + ffmpeg recipe + attribution') plus the key distinction 'without requiring a render.' It names the likely confusable sibling preview_mix, which helps an agent separate the two. Slightly short of 5 because it doesn't contrast against non-render siblings like generate_bed or analyze_video_music, but the core purpose 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/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description identifies the use case ('editor companion output') and explains the render=true relationship to preview_mix, giving the agent a decision hint. However, it never says when NOT to use export_mix_spec versus preview_mix directly (only the render=true synonym), and gives no conditions for choosing generate_bed or suggest_cuts instead. The guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 of behavioral disclosure. It does disclose that the tool saves a named configuration with BPM, vocal, and mood constraints, but it does not say whether saving an existing name overwrites the kit, whether the operation is idempotent, what permissions are required, or what side effects occur. For a mutation tool with zero annotation coverage, this is a notable 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The core action and constraints are front-loaded, and the cross-reference to recommend_bgm is directly useful for an agent deciding how to chain calls.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description establishes the brand kit concept and its relation to recommend_bgm, which covers the main workflow context. However, with 8 parameters, no annotations, and 0% schema description coverage, the description leaves important operational details (overwrite behavior, optional-field semantics, allowed values) unspecified. An output schema exists, so return values need not be explained, but the overall guidance is only minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does 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 maps 'BPM lock' to bpm_min/bpm_max, 'no vocals' to instrumental_only, and 'mood whitelist' to moods. But name, avoid, genres, and notes are left undocumented beyond their parameter titles, and the description gives no accepted values or format hints for array/string parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Save') and resource ('brand kit'), and the parenthetical clarifies what the brand kit encodes: BPM lock, no vocals, and mood whitelist. It also names the intended downstream consumer, recommend_bgm. It does not explicitly contrast itself with sibling tools such as search_music or generate_bed, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The instruction 'Pass brand_kit=name to recommend_bgm' gives a clear workflow hint: save the kit first, then reference it by name during recommendation. However, it never explicitly says when to use this tool versus alternatives like recommend_bgm or search_music, so the usage guidance is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It explains the dual backend (Gemini when key is set, else local heuristics) and guarantees search_queries are always populated even for weak analysis. However, it does not mention whether the operation is read-only, has side effects, or any rate limits. The analysis nature is implied but not explicitly flagged, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose. It then lists platform_hint values, explains backend behavior in one sentence, and clarifies extra_notes. Each sentence adds distinct value with no filler, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema covers return values, so that is handled. The description includes backend behavior and parameter hints, but misses explicit usage routing to siblings and any prerequisites (e.g., that the video must already be ingested). Without guidance on when to choose this over recommend_bgm or search_music, the context is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains platform_hint by listing allowed values and clarifies extra_notes as a hint, not a replacement. However, asset_id is only described by its name, leaving its origin (e.g., from ingest_video) unspecified. While two of three params are clarified, the one required param lacks semantic detail, justifying a 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
States a specific, actionable purpose: 'Produce a structured VideoSonic profile for BGM matching.' This clearly identifies the resource (video) and intent (BGM matching), distinguishing it from siblings like search_music (search for tracks) or recommend_bgm (suggest music). The verb 'produce' and the structured-output nature make it unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context like platform_hint and extra_notes, but does not explicitly state when this tool should be used vs alternatives. No mention of prerequisites (e.g., that asset_id must come from ingest_video) or conditions that would favor another sibling (e.g., search_music). The guidance is entirely implicit, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It does disclose a useful behavioral default (bpm fallback based on suggested_bpm or track_id). It does not mention whether the operation is read-only, persistent, or requires authentication, so the disclosure is partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: one sentence states purpose, one sentence states output, and the third covers parameter behavior. It contains no filler or redundant restating of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description and output schema cover the core result shape, but the tool appears to depend on a prior pipeline step to have 'detected scene cuts'. It does not explicitly state what asset_id should reference or what earlier analysis step, if any, needs to have run first.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does 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 explains that bpm defaults to the VideoSonic suggested_bpm midpoint, or the track BPM when track_id is set. But it does not explain the required asset_id parameter, leaving some of the burden on the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource—snap detected scene cuts to a beat grid—and names concrete outputs (EDL-ish spans, intro/peak/outro acts). It is not a tautology and is clear enough to identify the tool's role. However, it does not explicitly differentiate from any sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'detected' implies the tool must be used after scene-cut detection has occurred, so there is an implicit usage context. The description does not say when to choose it over alternatives such as analyze_video_music or preview_mix, nor does it give prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description must convey behavior. It discloses a hard limit (20 clips), the clustering of moods, and the return of a single playlist, but does not mention handling of failure, performance implications, or side effects. This provides some transparency but not enough detail about what happens during analysis or how the output is structured beyond a mini-playlist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately states the key constraint (up to 20 clips) and the primary action (analyze and cluster moods), followed by the outcome. There is no wasted words, and the most important information is presented first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While an output schema exists, the tool description does not cover parameter semantics, potential constraints, or usage conditions. For a tool with four parameters and no schema descriptions, it relies entirely on the description to explain usage, which it fails to adequately do. The description omits guidance on parameters like max_seconds and platform_hint, making the definition incomplete for correct invocation without external knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no parameter descriptions (coverage 0%), and the description only indirectly addresses the 'sources' parameter by mentioning 'clips'. It does not explain 'extra_notes', 'max_seconds', or 'platform_hint', leaving their semantics to inference from titles. This is insufficient given the 0% coverage and the need for the description to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Analyze'), the resource ('up to 20 clips'), and the output ('one consistent mini-playlist'), including specifics like mood clustering for a series. This distinguishes it from sibling tools such as analyze_video_music (single-video) and recommend_bgm (music recommendation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for batch analysis of multiple clips for a series (up to 20 clips) and producing a cohesive playlist, which suggests when to prefer it over per-clip tools. However, it does not explicitly state when not to use it or mention alternatives, though the batch limit and series context provide clear situational guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It discloses meaningful behavior: ffmpeg sidechaincompress for ducking, a synthesized CC0 demo bed for seed tracks without audio, and path/command/spec returns. It does not state whether original assets are modified, but for a preview operation the named behaviors are adequately transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact paragraphs front-load the action, then the output contract, then edge-case behavior. Every sentence adds a new fact; there is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers outputs, intentional audio-processing details, and an offline fallback, so an agent can form a good mental model. It is less complete on parameter semantics and selection criteria, and never points the agent to which sibling supplies asset_id/track_id – a notable gap at 0% schema coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description adds almost no parameter-level meaning. It implies the ducking boolean and mentions 'BGM' and 'speech', but does not explain bgm_db/voice_db units or values, nor clarify asset_id/track_id beyond their names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Mix BGM under the video' – a specific verb and resource – and expands with hook trim, looping, ducking, and returned artifacts. This clearly distinguishes it from nearby siblings like export_mix_spec or generate_bed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use/when-not-to-use statement appears. The 'preview' nature is implied by the name and the returned preview mp3/mp4, but the description never contrasts with export_mix_spec or explains when an agent should choose it over another sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden, and it delivers: it reveals refusal behavior, a 'sine-tremolo demo' fallback, the source=generated tagging, and catalog-exclusion side effects. These are exactly the non-obvious behaviors an agent needs to know before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The first line states purpose and the primary side effect, and every subsequent sentence adds a distinct constraint or context. The structure is dense but scannable, with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers invocation conditions, legal caveats, fallback behavior, and integration with recommend_bgm, which is strong given no annotations. It falls just short of full completeness because optional parameters like asset_id are left unexplained and 'bed' is assumed domain knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only the i_understand_not_commercially_cleared parameter is meaningfully tied to behavior ('Refuses unless...true'). Since schema description coverage is 0%, the description does not compensate by explaining prompt, bpm, energy, asset_id, or duration_sec beyond their names and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Generate a bed') and the exact trigger condition ('when the catalog misses'), clearly distinguishing this generation tool from sibling search/recommendation tools. It also adds the key invariant 'Always marked source=generated', which pins down the tool's role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly defines the precondition ('Refuses unless i_understand_not_commercially_cleared=true'), the exclusion ('NOT cleared for ads'), and the downstream consequence ('excluded from recommend_bgm auto catalogs'). This gives an agent clear routing and when-not-to-use instructions, including mentioning external alternatives (Suno/Stable Audio/Lyria).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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. The verb 'Show' conveys a read-only operation)Skip even though it does not spell out 'non-mutating', and it names the exact reported dimensions. An output schema covers the return shape, so the description provides sufficient behavioral context for a simple status check.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence communicates the complete purpose without wasted words. Every phrase adds information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for a no-parameter status tool: it specifies what is checked and that an output schema defines the result structure. There are no hidden inputs or prerequisites an agent would need clarified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing for the description to document beyond what the empty input schema already shows. Baseline 4 is appropriate because no parameter ambiguity exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Show') and concrete resources (ffmpeg/yt-dlp availability, music adapter keys). This clearly distinguishes status from the media-processing sibling tools and leaves no ambiguity about what the tool reports.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes clear context: this is an environment-readiness/diagnostic tool, in contrast to the ingest/analyze/recommend actions listed as siblings. It does not explicitly say 'use before X', but for a zero-parameter status command the intended usage is strongly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it delivers: it discloses the extraction pipeline (ffprobe, 16kHz wav, keyframes, 360p proxy), the output contract (asset_id, never video bytes), security hardening (SSRF, size cap), and the yt-dlp behavior. This is unusually transparent and would let an agent predict side effects accurately.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise yet information-dense: a clear opening sentence, followed by constraints, extraction behavior, output contract, and pipeline ordering. Every sentence adds necessary operational detail that the schema and annotations do not provide, without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no annotations, this covers nearly everything needed to call it correctly: accepted inputs, rejected inputs, output format, next step, and processing behavior. The only notable gaps are the exact meaning of max_seconds and the vague 'size-capped' threshold, which prevent a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does 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 richly explains the source parameter (filesystem path or HTTPS URL plus security exclusions), but says nothing about max_seconds, leaving that parameter's meaning and limits entirely to the schema's name and default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Ingest a local video path or public http(s) URL.' It also clarifies what the tool returns (an asset_id) and how it fits into the workflow, making it easy to distinguish from the downstream analyze_video_music sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says 'Call this first' and then points to analyze_video_music as the next step, giving an agent clear pipeline guidance. It also provides firm input constraints and exclusions: rejects file://, loopback, and private IPs for SSRF reasons, and disables yt-dlp unless an environment variable is set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and delivers: it discloses the instrumental_only default condition, catalog resolution behavior, output item fields, max_results clamping, and the brand_kit prerequisite. This is unusually transparent about hidden behavior beyond what the schema shows.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the core purpose, and uses an efficient bullet-like structure for defaults, catalog, output, and limits. Every line adds operational value with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, return values need no further explanation. The description covers defaults, catalog semantics, output fields, clamping, and brand_kit dependency. Minor gaps remain around how mood, genre, and platform_hint influence results, but overall the tool is callable with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does 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 adds real meaning for asset_id, profile, catalog values and behavior, max_results clamping, and brand_kit provenance. It does not explain mood, genre, or platform_hint, but these are reasonably inferable from names and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Rank license-safe BGM', a specific verb-resource pair that clearly distinguishes recommendation from sibling tools like search_music or generate_bed. It further clarifies input requirements ('Pass asset_id and/or a VideoSonic profile') and output contents, leaving no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: pass asset_id and/or a profile, catalog options with explicit 'auto' semantics, and max_results clamping. It does not explicitly state when NOT to use this tool or name alternative siblings, so it falls short of fully explicit exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md: