MCP server surface for AWF providing workspace creation, management, observability, and operator control tools that mirror the REST API. Includes setup, workspace, control, and metrics tools for isolated Docker execution substrate for AI coding agents.
6 tools with complete input schemas and descriptions, but quality varies significantly. Tool names follow verb_noun convention (awf_adopt, awf_get, awf_start, awf_initialize, awf_create). Descriptions range 50-150 chars, meeting baseline minimums. However, parameter descriptions are often generic ('Optional...'), and output schemas are not documented. awf_adopt_pull_request_monitor has 18 parameters with complex interdependencies (repo_url vs repo_slug vs pr_url, cursor_auto_mode incompatible with effort/model) that are under-documented. No error handling guidance, no recovery patterns, no output schema documentation across any tool.
Operator control: adopt an existing GitHub PR into AWF monitoring; this is not shell access.
Create a new workspace for a coding task.
Return secret-free MCP client integration instructions.
Return first-run setup status and safe setup metadata.
Preview or write a project-local AWF workspace profile.
Start local AWF Core through the existing bootstrap engine.
Parameter interdependencies undocumented: awf_adopt_pull_request_monitor accepts repo_url, repo_slug, and pr_url as alternatives, and cursor_auto_mode is incompatible with effort/model, but these constraints are not stated in parameter descriptions. LLMs will pass conflicting combinations.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., workspace_id from awf_create_workspace). Responses are opaque.
No error handling guidance. Tools lack recovery hints (e.g., 'If repo not found, verify repo_url format' or 'If service startup times out, check Docker daemon'). Agents cannot self-correct on failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2026-07-28+ | v2 |
Generic parameter descriptions: 'Optional...' appears 8+ times across tools. Descriptions do not explain WHEN to use optional params or what happens if omitted. E.g., awf_adopt_pull_request_monitor.model: 'Optional model override', override what? When is it needed?
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). awf_adopt_pull_request_monitor and awf_create_workspace are destructive (WRITE risk) but lack destructiveHint. awf_get_setup_status and awf_get_client_integration_instructions are read-only but lack readOnlyHint.