Living website evolution engine seeded from Liminal - a generative design system for website evolution with MCP tool integration
This MCP server has 11 tools with schemas and descriptions present, but quality is inconsistent. Most tool descriptions are adequate (50-150 chars), but several parameters lack descriptions or have vague ones. Schema completeness varies: some tools like `applyEdit` have detailed input schemas with multiple parameter options, while others like `npm` have minimal documentation. No output schemas are documented. Error handling is not evident in the tool definitions. The server targets a specialized domain (code validation, file editing, git operations) but lacks the polish expected for production use. Naming is generally clear (verb-noun pattern), but parameter naming has inconsistencies (e.g., `applyEdit` accepts `oldString`, `search`, `oldText` as alternatives, confusing for LLMs).
Apply a targeted string replacement to a file
Parse and validate code using AST
Create a backup of a file
Load a local SKILL.md and return its instructions for harness planning
Inspect git branch and working tree status
Validate imports against security whitelist
List directory contents
applyEdit accepts multiple parameter names for the same concept (oldString, search, oldText; newString, replace, newText), creating ambiguity. LLMs will struggle to choose the correct parameter name and may pass conflicting values.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., what does gitStatus return? A string? An object with branch and status fields?). This forces agents to guess.
npm tool description is minimal ('Install npm packages') and lacks context on when to use it vs other package managers, what happens on failure, or whether it modifies the local environment. No guidance on retryability or side effects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Create a local-only git checkpoint commit on the current non-main branch
Language Server Protocol operations
Install npm packages
Restore a file from backup
lsp tool accepts 'operation' as an enum (diagnostics, autocomplete, definition) but the description does not explain what each operation returns or when to use each. Parameter descriptions for 'line' and 'character' lack context (are they 0-indexed? 1-indexed?).
No error handling guidance in any tool definition. If applyEdit fails to find oldString, what does it return? Can the agent retry? Should it ask the user? No recovery paths documented.