MCP server for managing lecture transcripts and generating notes from various sources (local files, YouTube, APIs) with automatic course path resolution
Two tools with basic schemas but significant quality gaps. list-courses has empty input schema (correct) but minimal description (28 chars). generate-notes-from-source has comprehensive Zod schema with 13 parameters, all described, but descriptions are generic and lack actionable guidance. No output schemas documented. No error handling guidance. No tool annotations. Naming is verb-noun compliant but descriptions fall short of LLM-optimization standards (target 50-200 chars; actual ~100-150 chars). Missing recovery guidance and parameter relationship documentation.
Generate lecture notes from various transcript sources with automatic path resolution
List all available course folders and their paths
list-courses description is 28 characters ('List all available course folders and their paths'), below 20-char floor triggers hard cap. Lacks WHEN to use, WHAT it returns, and any prerequisites.
No output schemas documented for either tool. LLMs cannot plan downstream calls or extract required fields (e.g., course paths, note file locations). Violates pattern:tool requirement.
generate-notes-from-source accepts apiHeaders as z.record(z.string()) but description says 'Headers for API requests', no guidance on format, required headers, or auth patterns. Underdocumented parameter.
No error handling guidance. Code returns isError: true with text, but no recovery hints. If course not found, file missing, or API fails, LLM has no next step. Missing pattern:recovery-guide.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
generate-notes-from-source has 13 parameters with complex interdependencies (sourceType determines which of apiMethod/apiHeaders/apiBody apply; saveTranscript controls transcript output). Dependencies undocumented, LLM will pass invalid combinations.