MCP server for SkillNet — a thin Streamable HTTP wrapper over the /ext/v1 external API, exposing skills data as MCP tools for AI agents.
Server has 5 tools with basic schemas and descriptions, but significant gaps prevent production use. Tool names follow verb_noun convention (list_, who_, get_, create_). Descriptions exist but are generic and lack actionable context for LLM selection. Input schemas present but incomplete: who_knows has enum constraint (good), but create_course lacks critical parameter descriptions and validation guidance. No output schemas documented. Error handling absent, no recovery guidance or categorization. Parameters lack format constraints and dependency documentation. create_course is a mega-tool combining multiple concerns (schema proposal, generation, review, validation, enrollment, media), violates single-responsibility principle.
Create a full training course end to end in ONE call: propose the schema, generate the knowledge packs (with automatic retry), review every node, and validate it so it is immediately servable. Optionally grounds on an uploaded document, enrols an employee, and generates media artefacts. Returns the course id, per-node pack status, and whether it validated.
Analyze skill gaps across the organization. Shows which skills have low coverage and need attention.
Get the complete skill profile of a specific employee.
List all skills in the organization's taxonomy, grouped by category.
Find employees who have a specific skill. Returns a list of employees with their proficiency level.
create_course combines 7 distinct operations (schema proposal, generation, review, validation, enrollment, artifact generation, return status) into one tool. Violates single-responsibility principle. Should split into: propose_course_schema, generate_course_content, validate_course, enroll_user_in_course, generate_course_media.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. list_skills, who_knows, get_gap, get_user_skills, create_course all lack return type documentation.
create_course parameters lack descriptions and constraints. 'intent_density' (1-5) has no description. 'generate_artifacts' array items are untyped. 'document_id' and 'enroll_user_id' lack format guidance. No validation rules stated.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Tool descriptions are generic and lack WHEN/WHY context. 'List all skills in the organization's taxonomy, grouped by category' does not explain when to call this vs get_user_skills or get_gap. No dependency hints provided.
No error handling or recovery guidance. Tools do not document what happens on failure (skill not found, user not found, invalid density). No categorization of retryable vs fatal errors.