A Model Context Protocol server for generating sound effects using ElevenLabs API
Single tool with minimal definition quality. The tool has a basic schema and description, but lacks depth, parameter descriptions, output documentation, and error handling guidance. No input validation, no recovery paths, and no result schema documentation. The description is only 45 characters, falling well below the 194-character baseline for production tools. No pagination, no structured output format, and missing essential metadata like function side effects or prerequisites.
Generate sound effect using ElevenLabs API
Tool description is too short (45 chars vs 194-char baseline). Lacks WHEN to use, prerequisites, and side effects. LLM cannot fully infer when this tool is appropriate.
No input parameter descriptions. The 'text' parameter has a description, but this is the ONLY parameter and it is vague ('Text description of the sound effect to generate'). Does not explain format expectations, length limits, content restrictions, or examples of valid inputs.
No output schema documented. The tool returns a text response with a filepath, but the LLM has no structured specification of what fields to expect. LLM cannot plan downstream operations or validate the response format.
Error handling returns text messages without categorization or recovery guidance. Errors like 'Failed to generate sound effect: ...' do not tell the LLM whether to retry, ask the user, or treat as fatal. No pattern match to expected error types.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 46 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 45 | - | v1 |
No API key validation or input sanitization. The tool accepts arbitrary text and passes it directly to the ElevenLabs API. No length checks, content filtering, or validation of the 'text' parameter before dispatch. Malicious or oversized inputs could cause API errors.
Tool modifies state (writes files to disk, calls external API) but description does not explicitly state this. LLM cannot determine idempotency or side effects. Description should say 'Generates and saves an audio file' or similar.
No rate limiting, timeout handling, or quota enforcement visible. ElevenLabs API calls could fail due to rate limits, but the tool has no retry logic, backoff, or guidance for the LLM on how to handle quota exhaustion.
Tool returns filepath in temp directory (/tmp/sounds/...) but does not document lifetime, cleanup, or access restrictions. LLM and user have no guarantee the file will persist or be accessible after the tool call.