MCP server for the Spartan Angular UI ecosystem — component discovery, source code, installation commands, and project context
Server has 12 tools with consistent naming (verb_noun pattern: spartan_list, spartan_search, spartan_view, etc.). All tools have descriptions (avg ~80 chars, within baseline). Input schemas are present and typed with Zod. However, descriptions are terse and lack LLM-optimization guidance (e.g., 'when to use', 'prerequisites'). Parameter descriptions exist but are minimal (avg ~40 chars vs baseline 72). Output schemas are not documented, LLMs cannot infer what fields to expect from responses. Error handling wraps Zod and SpartanError but lacks recovery guidance ('try X instead'). No tool annotations (readOnlyHint/destructiveHint) despite clear read/write distinction. Composition is sound (each tool has one responsibility), but chaining IDs are not documented in responses.
Clear cache for a specific category or all caches
Get cache statistics including memory and file cache status
Get project context information including installed components and configuration
Get dependency tree for a component with configurable depth
Retrieve documentation content for a topic
Get installation command for a component with package manager selection
Install a Spartan skill into the project
List all components, blocks, or documentation topics from the Spartan registry with optional filtering
Output schemas not documented. LLMs cannot infer response structure (fields, types, pagination). Forces agents to guess what data is available for downstream tool calls.
Descriptions lack LLM-optimization guidance. Missing 'when to use', prerequisites, and recovery hints. E.g., 'spartan_search' should say 'Use this to find components by keyword before calling spartan_view for details.'
No tool annotations (readOnlyHint/destructiveHint/idempotentHint). Server clearly distinguishes read (10 tools) vs write (2 tools: spartan_cache_clear, spartan_registry_refresh, spartan_install_skill), but LLMs cannot see this distinction in the schema.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
Manually trigger a registry refresh from the Analog API
Search for components, blocks, or documentation by query with optional scope and limit filtering
Retrieve source code for a component from GitHub
View detailed information about a component including API, examples, and installation instructions
Error handling returns generic messages without recovery guidance. E.g., 'Validation Error' or 'Unexpected error', should suggest 'Try spartan_search() with a simpler query' or 'Check component name with spartan_list()'.
Parameter descriptions are minimal (avg ~40 chars vs baseline 72). E.g., 'scope' in spartan_search is 'Optional scope: components, blocks, docs, or search all', should clarify when to use each scope and what results differ.