MCP server that serves the ai-skills engineering skill library to autonomous agents.
Three tools with clear verb-noun naming (list_, search_, read_) and reasonable descriptions (100-200 chars). All tools have input schemas with type definitions. However, parameter descriptions are minimal or missing context about expected formats and constraints. Output schemas are undocumented, LLMs cannot predict what fields to expect. Error handling is present but generic (returns strings, not structured errors). No pagination support despite tools that could return large lists. No tool annotations (readOnlyHint, etc.) despite all being read-only operations.
Lists the top-level skill domains available in the ai-skills library. Call this first to discover what exists before looking for a specific skill.
Reads a full SKILL.md and returns it verbatim, so its rules enter the current context. Args: path: The skill path relative to the skills directory, without the file name, for example '05-mcp-protocol-and-tools/mcp-server-stdio-tool-schema'. Any depth works.
Lists what a domain contains. Args: domain: A domain name from list_skill_domains, for example '05-mcp-protocol-and-tools'. Entries are usually skills, but a domain may group them one level deeper. When an entry turns out to hold no SKILL.md, call this tool again with '<domain>/<entry>'.
Output schemas undocumented. All three tools return strings, but LLMs cannot predict structure (plain text vs JSON vs markdown). Agents cannot reliably extract data for downstream calls.
Parameter descriptions lack format/constraint details. 'domain' param in search_skills has no guidance on valid formats, depth limits, or error cases. 'path' param in read_skill lacks examples of valid nesting depth.
No pagination or result limits documented. search_skills could return hundreds of entries; no limit parameter or guidance on max results. Violates mxe:enforce-result-limits pattern.
Error messages are helpful but unstructured. Returned as plain strings rather than structured error objects with error codes and recovery hints. Agents cannot programmatically classify errors as retryable vs fatal.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2026-07-28+ | v2 |
No tool annotations despite all tools being read-only. Missing readOnlyHint annotation would signal to agents that these calls are safe to retry and have no side effects.