Skip to main content
Glama
js713-lab

io.github.js713-lab/sonicmatch-mcp

by js713-lab

recommend_bgm

Rank license-safe background music by analyzing video assets or profiles, then return scored tracks with in/out points and platform licensing.

Instructions

Rank license-safe BGM. Pass asset_id and/or a VideoSonic profile.

Defaults instrumental_only=True when speech_coverage > 0.25. catalog: auto | seed | jamendo | freesound | library auto = seed always, plus Jamendo/Freesound/user-library when configured.

Each recommendation includes score, reason, suggested song in/out (12–20s high-energy slice), ducking hint, and license_ok_for_platform. max_results is clamped to 3–7. brand_kit: name previously saved with save_brand_kit.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
moodNo
genreNo
catalogNoauto
profileNo
asset_idNo
brand_kitNo
max_resultsNo
platform_hintNo
instrumental_onlyNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.6/5.0
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/5

Is 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/5

Given 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/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 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/5

Does 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/5

Does 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.