Flanner exposes 4 tools with clear verb-noun naming (get_, list_, create_, initialize_). All tools have descriptions (avg 95 chars, within baseline 34-392). Input schemas are present with type declarations. However, parameter descriptions are sparse or missing entirely, most params lack actionable guidance on format, constraints, or dependencies. Output schemas are not documented. Error handling and recovery guidance are absent. The server follows basic MCP patterns but lacks the depth expected of production-grade tools.
Create a new project with git integration.
Get plan file configuration - tells Claude where and how to create plan files.
Adopt a repository into flanner so its plan documents are tracked. Creates the flanner project (if it does not exist yet) and installs the coding-agent integration for the repo: the CLAUDE.md/AGENTS.md guidance block, the guard-write hook, the flanner skills, and a .mcp.json entry.
List all projects with their configuration.
Output schemas not documented. LLMs cannot infer what fields to expect from tool responses, forcing them to guess at downstream field names and risk broken tool chains.
Parameter descriptions are minimal or absent. 'project_id' in get_plan_config says 'Optional project UUID as string (returns defaults if not provided)' but lacks format guidance (is it a UUID string or hex?). 'project_root' in create_project_tool lacks validation rules (absolute path only? must exist?). LLMs cannot infer constraints from names alone.
No error handling or recovery guidance. Tools do not document what errors are possible (e.g., 'project not found', 'invalid path', 'git not initialized'), what they mean, or how the LLM should respond. Agents cannot self-correct on failure.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | <=2025-11-25 | v2 |
list_projects has no pagination support (no limit, offset, or cursor parameters). If a user has many projects, the response could be unbounded and exhaust context. Baseline pattern requires pagination for list tools.
create_project_tool and initialize_project_tool lack idempotency guidance. If an LLM retries after a transient failure, will duplicate projects be created? Agents need to know which tools are safe to retry.