Skip to content

refactor: split mcp-server.ts into focused modules (ARC-7)#1706

Merged
OneStepAt4time merged 2 commits intodevelopfrom
refactor/1700-mcp-split
Apr 12, 2026
Merged

refactor: split mcp-server.ts into focused modules (ARC-7)#1706
OneStepAt4time merged 2 commits intodevelopfrom
refactor/1700-mcp-split

Conversation

@OneStepAt4time
Copy link
Copy Markdown
Owner

Summary

Decompose the 1228-line \mcp-server.ts\ into 9 focused modules under \src/mcp/, each under 300 lines:

Module Lines Content
\mcp/client.ts\ 296 AegisClient REST client + 8 response type interfaces
\mcp/auth.ts\ 100 RBAC \withAuth()\ wrapper, role maps, error formatters
\mcp/resources.ts\ 113 4 MCP resource handlers (sessions, transcript, pane, health)
\mcp/tools/session-tools.ts\ 296 12 session lifecycle tools
\mcp/tools/monitoring-tools.ts\ 142 6 observability tools
\mcp/tools/pipeline-tools.ts\ 86 3 batch/pipeline tools
\mcp/tools/management-tools.ts\ 81 3 state management tools
\mcp/prompts.ts\ 141 3 MCP prompt templates
\mcp/server.ts\ 50 \createMcpServer()\ orchestrator + \startMcpServer()\

\mcp-server.ts\ becomes a 10-line re-export facade. Existing consumers (\cli.ts, \mcp-server.test.ts) unchanged.

Quality gate


  • px tsc --noEmit\ βœ…

  • pm run build\ βœ…

  • pm test\ βœ… (159 files, 2814 tests, 0 failures)

Aegis version

Developed with: v0.3.2-alpha

Closes #1700

Decompose the 1228-line mcp-server.ts into 9 focused modules:
- mcp/client.ts (296 lines) β€” AegisClient REST client + response types
- mcp/auth.ts (100 lines) β€” RBAC withAuth wrapper + role maps
- mcp/resources.ts (113 lines) β€” 4 MCP resource handlers
- mcp/tools/session-tools.ts (296 lines) β€” 12 session lifecycle tools
- mcp/tools/monitoring-tools.ts (142 lines) β€” 6 observability tools
- mcp/tools/pipeline-tools.ts (86 lines) β€” 3 batch/pipeline tools
- mcp/tools/management-tools.ts (81 lines) β€” 3 state management tools
- mcp/prompts.ts (141 lines) β€” 3 MCP prompt templates
- mcp/server.ts (50 lines) β€” createMcpServer orchestrator + stdio entry

mcp-server.ts becomes a 10-line re-export facade for backward compatibility.
All existing consumers (cli.ts, mcp-server.test.ts) continue to work unchanged.

Closes #1700
@OneStepAt4time OneStepAt4time added this to the v0.5.1-alpha milestone Apr 12, 2026
@OneStepAt4time OneStepAt4time merged commit 6ab8644 into develop Apr 12, 2026
10 checks passed
@OneStepAt4time OneStepAt4time deleted the refactor/1700-mcp-split branch April 12, 2026 14:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant