An MCP server that provides tools for retrieving and processing YouTube video transcripts
Single tool with acceptable naming and documented I/O, but description lacks context and schema is minimal. The tool name 'RetrieveYoutubeTranscript' follows verb_noun pattern (good), but the description is only 68 characters and does not explain WHEN to use it, what format it returns, or error recovery. Input schema defines the URL parameter with a description, but no output schema is documented, LLMs cannot predict what the response structure looks like. Error handling returns plain strings ('Error: ...') which are somewhat actionable but lack structured guidance. The implementation is sound (YoutubeExplode library integration, logging, null-check), but definition quality falls short of production baseline (baseline: 194 chars for tool description, 100% of A+ tools have output schema).
Retrieves YouTube transcripts for a provided YouTube URL.
Tool description is too short (68 chars) and lacks context. Does not explain WHEN to call it, what format output is, or error handling strategies. Baseline: 194 chars (p90). LLMs cannot determine when this tool is preferable to alternatives.
Output schema is not documented. Code shows the tool returns a plain string (transcript text or error message), but the MCP tool definition does not declare return type or structure. LLMs cannot plan downstream operations or validate output format.
Error responses are bare strings ('Error: Url cannot be empty', 'Error: {exception message}'). No guidance on recovery actions or error classification (retryable vs. user-fixable). Baseline: errors should guide LLM to next step.
No parameter constraints documented. The 'url' parameter description does not specify format, length limits, or valid URL patterns. LLMs may pass invalid or malformed URLs without guidance.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 49 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
No tool annotation hints (readOnlyHint, etc.). While this tool is READ_ONLY per the Risk field, the MCP server should declare this via tool annotations so clients can enforce safety policies.