MCP server exposing Gemstack project context to any MCP-compatible agent. Provides read-only access to .agent/ markdown files, workflow execution tools, and reusable prompt templates.
Gemstack MCP server has 7 tools with basic schemas and descriptions, but significant gaps limit production readiness. All tools have descriptions (10-50 chars, mostly short), and most have input schemas with type info. However, descriptions lack LLM-optimized detail (e.g., 'Get the current project status' doesn't explain WHEN to call it or what to do with the result). Parameter descriptions are minimal or absent. No output schemas documented. Error handling is not visible in the provided code. Tool naming is verb-prefixed (good), but parameter naming lacks consistency (e.g., 'step' vs 'feature', unclear if these are IDs, names, or descriptions). No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels. The gemstack_run tool is marked WRITE but has no confirmation/dry-run guidance in the description itself.
Validate the project's .agent/ directory integrity.
Compile the full context prompt for a specific workflow step.
Get cost tracking data for API usage.
Detect drift between .agent/ documentation and actual codebase.
Get the recommended next action based on current project state.
Execute or dry-run a Gemstack workflow step.
Get the current project status including phase, feature, and blockers.
Descriptions are too short (10-50 chars) and lack LLM-optimized context. 'Get the current project status' doesn't explain WHEN to call it, what 'phase/feature/blockers' mean, or how to use the result. Baseline for A+ tools is 50-200 chars with clear intent and next steps.
Parameter descriptions are missing or trivial. 'step' parameter in gemstack_compile and gemstack_run lacks guidance on valid values (e.g., 'step1-spec', 'step3-build'). 'feature' parameter is ambiguous, is it a feature name, description, or ID? LLMs cannot infer from names alone.
No output schemas documented. Tools return structured data (status, route, compiled context, costs) but the response format is not visible in the provided code. LLMs cannot plan downstream calls or extract fields without knowing what to expect.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
gemstack_run is marked WRITE but the description does not explicitly state it modifies state or offer dry-run guidance. The 'dry_run' parameter exists but is not explained in the tool description. Agents need to know which calls are irreversible.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. gemstack_run is WRITE; others are READ_ONLY. Annotations enable agents to reason about safety and retry logic without parsing descriptions.