Skip to main content
Glama

StudioSphere Pulse — Audio Intelligence

search_open_loops

Read-onlyIdempotent

Find original synthesis kits and individually auditioned source samples by keyword, pack, BPM, key, role, review_basis and licence. project_bpm with bpm_tolerance (default 5) returns closest-tempo candidates and project_match reasons; do not combine it with bpm_min/max. Project keys need explicit mode. Optional include_unkeyed_percussion includes percussion hints with unspecified key, requiring audition; this is not proof of harmonic fit. Automated checks are not listening review. Free; no account or tokens required. Keywords match any term; read search_match.missing_terms before claiming a full match or genre. Key abbreviations such as Am are accepted; hard filters stay exact. Source tags are creator hints. Preserve attribution when required and follow each sample’s licence.

Input Schema

NameRequiredDescriptionDefault
qNoSearch sample titles, pack names and source tags.
keyNo
packNo
roleNo
limitNo
offsetNo
bpm_maxNo
bpm_minNo
licenseNo
project_bpmNoProject tempo; cannot combine with bpm_min/max.
review_basisNo
bpm_toleranceNoProject tempo tolerance; default 5 BPM.
include_unkeyed_percussionNoProject mode only: include percussion tag hints with unspecified key; audition required.

Output Schema

NameRequiredDescriptionDefault
errorNoMachine-readable error code.
itemsNo
limitNo
totalNo
offsetNo
detailsNoAdditional structured context from Pulse.
messageNoHuman-readable recovery guidance.
retryableNoWhether the caller may retry after changing state or waiting.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • addedInput schema / properties / bpm_tolerance
      Added value: +{
      +  "description": "Project tempo tolerance; default 5 BPM.",
      +  "maximum": 40,
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / include_unkeyed_percussion
      Added value: +{
      +  "description": "Project mode only: include percussion tag hints with unspecified key; audition required.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / project_bpm
      Added value: +{
      +  "description": "Project tempo; cannot combine with bpm_min/max.",
      +  "maximum": 400,
      +  "minimum": 1,
      +  "type": "number"
      +}
    • addedInput schema / properties / review_basis
      Added value: +{
      +  "enum": [
      +    "individually_auditioned",
      +    "original_synthesis"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / role
      Added value: +{
      +  "enum": [
      +    "percussion",
      +    "bass",
      +    "chords",
      +    "melody",
      +    "fx",
      +    "vocal",
      +    "mixed",
      +    "unknown"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / items / items / properties / metadata_export_url
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / items / items / properties / project_match
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "key_relation": {
      +      "enum": [
      +        "exact",
      +        "not_requested",
      +        "unspecified_percussion"
      +      ],
      +      "type": "string"
      +    },
      +    "reasons": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "review_basis": {
      +      "enum": [
      +        "individually_auditioned",
      +        "original_synthesis"
      +      ],
      +      "type": "string"
      +    },
      +    "tempo_delta_bpm": {
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "tempo_delta_bpm",
      +    "key_relation",
      +    "review_basis",
      +    "reasons"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / items / items / properties / provenance_url
      Added value: +{
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • addedOutput schema / properties / items / items / properties
      Added value: +{
      +  "search_match": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "complete": {
      +        "type": "boolean"
      +      },
      +      "matched_terms": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "missing_terms": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "mode": {
      +        "const": "any_term",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "mode",
      +      "matched_terms",
      +      "missing_terms",
      +      "complete"
      +    ],
      +    "type": "object"
      +  }
      +}
  3. Changed2 schema fields changed
    • addedInput schema / properties / pack
      Added value: +{
      +  "maxLength": 200,
      +  "type": "string"
      +}
    • changedInput schema / properties / q / description
      Previous value: -"Search sample titles and source tags."New value: +"Search sample titles, pack names and source tags."
  4. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, open-world, non-destructive behavior, but the description adds materially new context: 'Free; no account or tokens required', that automated checks are not listening review, that unkeyed percussion implies audition rather than harmonic fit, that keywords match any term and search_match.missing_terms must be read before claiming a full match, plus attribution/licence obligations. Only pagination/result-size behavior goes unmentioned.

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?

Purpose and the main search facets are front-loaded, and nearly every clause carries operational meaning. The middle section stacks several caveats into dense semicolon chains, which slightly hurts scannability, but there is little pure 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?

For a 13-parameter, zero-required search tool with an output schema, the description covers the risky parameters, result-interpretation semantics, cost/auth model, and licence obligations. The missing pieces — pagination via limit/offset and role/pack meaning — are minor since defaults exist and the schema bounds them.

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?

With schema coverage at only 31% across 13 params, the description compensates well: it explains project_bpm vs bpm_min/max exclusivity, the bpm_tolerance default of 5, include_unkeyed_percussion's audition caveat, key abbreviation acceptance (Am) with 'hard filters stay exact', and that source tags are creator hints. It leaves limit, offset, role and pack semantics unaddressed.

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?

Opens with a specific verb and resource — 'Find original synthesis kits and individually auditioned source samples' — and enumerates the facets that define the search space (keyword, pack, BPM, key, role, review_basis, licence). This is clearly a discovery/search tool, readily distinguished from siblings like get_open_loop (fetch by id) and analyze_track.

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?

Gives explicit conditional guidance: project_bpm with bpm_tolerance returns closest-tempo candidates, and 'do not combine it with bpm_min/max'; project keys need an explicit mode; include_unkeyed_percussion is project-mode only. It does not name sibling alternatives (e.g., fetching a specific loop by id), so it stops short of full routing guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.