Model Context Protocol server for the PIOS (AI Project Execution Contract) system. Provides tools for project status tracking, task validation, initialization, and milestone management.
PIOS MCP server has 4 tools with minimal schema definition and inconsistent parameter documentation. All tools lack input parameter descriptions in their schema definitions. pios_init has one optional parameter (ide) with a description, but pios_status, pios_validate, and pios_next have empty input objects with no schema detail. Descriptions are present but generic (avg ~100 chars). No output schemas documented. No error handling guidance. Tool names follow verb_noun pattern (good), but lack clarity on what distinguishes pios_validate from pios_status. No pagination, no structured output guidance, no recovery hints.
Initializes the PIOS templates and writes them to the current directory.
Transitions to the next milestone by snapshotting the current STATUS.md and templates/tasks.md into an archive, erasing [x] completed tasks from the active board, and resetting STATUS to 'Next Milestone Planning'.
Parses the project's STATUS.md and TASKS.md to return the current phase gate, active tasks, and total progress.
Programmatically scans the current tasks contract and asserts that no pending checklists exist before allowing the agent to proceed to the next milestone. If pending items exist, it returns an error.
Three of four tools (pios_status, pios_validate, pios_next) have empty input schemas with no parameter definitions.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract fields without knowing what structure to expect. Baseline: 100% of A+ tools have documented return types.
pios_validate and pios_status perform similar read operations on project state but lack clear distinction in descriptions. LLMs may conflate them. Names should disambiguate: 'get_status' vs 'validate_tasks' would be clearer.
No error handling guidance. Tools return errors (e.g., 'Validation Failed') but do not tell LLMs what to do next or whether errors are retryable. Baseline: error responses must guide recovery.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
pios_init accepts 'ide' parameter with description, but no enum constraint. LLMs may hallucinate invalid IDE values. Should declare enum: ['cursor', 'windsurf', 'claude'].