MCP server for sound-catalog-mcp: read-only tools over a catalog's SQLite index.
Five tools with clear verb-noun naming (list_, search_, describe_, get_) and reasonable descriptions (100-200 chars). All tools are READ_ONLY, reducing risk. However, schema visibility is limited, tool definitions appear inferred from smoke-test container and file paths rather than directly visible in source code. Input schemas for search_sounds and list_catalog_info are documented in the evaluation but not confirmed in actual source files provided. Output schemas are not documented. Parameter descriptions are present but generic (e.g., 'Filter by tags (optional, string keys with any values)' lacks format/constraint detail). No error handling guidance, no pagination info for search results, no documented result limits.
Get detailed metadata for a sound by ID: capture info, musical properties, tags, licensing, file details, and preview URL.
Resolve the full license text for a sound by ID, including attribution requirements and usage restrictions.
Get a signed, time-limited preview URL for a sound by ID. URL is valid for 1 hour by default.
List catalog metadata: name, description, sound count, categories.
Search the catalog by text query, filters (category, tempo, tags), and semantic similarity. Returns ranked results with preview URLs.
Output schemas not documented. LLMs cannot plan downstream calls or extract fields without knowing what describe_sound, get_license, and get_preview return. Baseline: 100% of A+ tools document return types.
Tool definitions inferred from file paths and smoke-test container rather than directly visible in source code. Cannot verify actual schema registration, parameter types, or implementation details.
search_sounds lacks pagination guidance. No documented limit, no next_cursor or offset/page parameters visible, no total count. Baseline: tools returning lists must support pagination to avoid context window exhaustion.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Parameter descriptions lack format/constraint detail. E.g., 'Filter by tags (optional, string keys with any values)' does not specify tag format, valid keys, or value types. Baseline: descriptions should state format, range, and allowed values.
No error handling guidance. Tools do not document what happens on invalid sound_id, missing category, or API failures. LLMs cannot self-correct without recovery hints.