---
name: "Split mcp.rs into domain-specific tool modules"
---

# Refactor 318: Split mcp.rs into domain-specific tool modules

## Current State

- TBD

## Desired State

mcp.rs is 4,925 lines containing all MCP tool definitions and handlers in a single file. Split by domain:
- mcp/mod.rs — JSON-RPC dispatch, tools list registration
- mcp/story_tools.rs — create_story, update_story, check_criterion, add_criterion, accept_story, move_story
- mcp/agent_tools.rs — start_agent, stop_agent, list_agents, get_agent_output, wait_for_agent
- mcp/merge_tools.rs — merge_agent_work, get_merge_status, move_story_to_merge, report_merge_failure
- mcp/qa_tools.rs — request_qa, approve_qa, reject_qa, launch_qa_app
- mcp/diagnostics.rs — get_server_logs, get_pipeline_status, get_token_usage, rebuild_and_restart
- Tests split into corresponding test modules

## Acceptance Criteria

- [ ] mcp.rs split into domain-specific modules under http/mcp/
- [ ] JSON-RPC dispatch remains in mod.rs, delegates to domain handlers
- [ ] All tool handler signatures unchanged
- [ ] All existing tests pass
- [ ] No public API changes

## Out of Scope

- TBD
