An AI personal learning assistant that helps students find courses, research papers, and educational resources using MCP servers for research, YouTube transcripts, and web fetching
EduAssist has 5 tools with basic schemas and descriptions, but significant gaps prevent production use. All tools have descriptions (10-100 chars, mostly adequate), and input schemas are present with types. However, parameter descriptions are sparse or missing context. No output schemas documented. Error handling is absent, tools provide no recovery guidance. Tool names follow verb_noun convention (find_, search_, extract_, get_, fetch_) but lack specificity about when to use each. The fetch tool is a pass-through to an external MCP server, not a native implementation. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all being read-only. Composition is weak: search_papers and extract_info both operate on papers but with unclear distinction. No pagination support visible despite search_papers returning multiple results.
Search for information about a specific paper across all topic directories.
MCP tool: Fetch content from URLs (provided by mcp-server-fetch)
Recommend NPTEL courses for a given study topic. Use when the user wants to learn something via NPTEL.
Get transcript of a YouTube video.
Search for papers on arXiv based on a topic and store their information.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., does search_papers return paper_id, title, url, authors?). Agents must guess structure.
Parameter descriptions lack actionable detail. 'topic' in search_papers has no guidance on format, scope, or examples. 'paper_id' in extract_info does not explain format (arXiv ID? DOI?). Ambiguous params force LLM guessing.
No error handling or recovery guidance. Tools provide no hints on what to do if a paper is not found, a transcript is unavailable, or a URL fetch fails. Agents cannot self-correct.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Tool composition unclear. search_papers and extract_info both operate on papers. When should an agent call search_papers vs extract_info? No guidance on tool selection or dependencies.
No pagination support visible. search_papers accepts max_results (default 5) but no offset/cursor or total_count in response. Large result sets will blow context window.