Inspect local video and audio files with ffprobe from any MCP client.
Single tool with solid naming (probe_media, verb-noun pattern) and comprehensive parameter descriptions. Input schema is well-defined with Zod validation (filePath, includeRawJson, timeoutMs). Output structure is documented in code but NOT exposed in tool registration, LLMs cannot see the response schema. Tool description is adequate (118 chars) but lacks guidance on when to use it vs alternatives or what downstream tools might need. No error handling guidance; no recovery hints for common failures (file not found, ffprobe timeout, invalid format).
Inspect a local video or audio file with ffprobe and return structured format and stream metadata.
Output schema not documented in tool registration. LLMs cannot see what fields the response contains (file.path, format.name, streams[].codec, etc.), forcing them to guess or make assumptions about downstream tool compatibility.
No error handling guidance. Tool description does not explain what happens on file-not-found, timeout, invalid format, or permission denied. LLMs receive raw errors with no recovery hints.
Tool description lacks context on when to use it. Does not explain prerequisites (file must exist locally), what it returns at a high level, or how it fits into a workflow (e.g., 'Call before transcoding to validate codec compatibility').
Parameter 'filePath' description mentions 'relative to MCP server process cwd' but does not specify format constraints (absolute vs relative, symlink handling, max length). LLMs may pass invalid paths.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
No idempotency guarantee documented. Tool reads files but does not modify state, should explicitly state this is safe to retry. Agents need to know which calls are idempotent.