II.
Page JSON
Structured · livepage:docs-harness-features-backlog-gaps-mcp-channels-gap-mcpc-004
GAP-MCPC-004: MCP Server Management UI and Connection Lifecycle json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "page:docs-harness-features-backlog-gaps-mcp-channels-gap-mcpc-004",
"_kind": "Page",
"_file": "wiki/docs/harness-features-backlog/gaps/mcp-channels/gap-mcpc-004.md",
"_cluster": "wiki",
"attributes": {
"nodeKind": "Page",
"sourcePath": "docs/harness-features-backlog/gaps/mcp-channels/GAP-MCPC-004.md",
"sourceKind": "repo-docs",
"title": "GAP-MCPC-004: MCP Server Management UI and Connection Lifecycle",
"displayName": "GAP-MCPC-004: MCP Server Management UI and Connection Lifecycle",
"slug": "docs/harness-features-backlog/gaps/mcp-channels/gap-mcpc-004",
"articlePath": "wiki/docs/harness-features-backlog/gaps/mcp-channels/GAP-MCPC-004.md",
"article": "\n# GAP-MCPC-004: MCP Server Management UI and Connection Lifecycle\n\n| Field | Value |\n|-------|-------|\n| Category | mcp-channels |\n| Priority | Medium |\n| Effort | M |\n| Status | Missing |\n\n## Description\nManage MCP server connections with lifecycle control, health monitoring,\napproval workflows, and a management UI.\n\n## CC Implementation\n\nCC has extensive MCP server management:\n- `MCPConnectionManager.tsx` -- manages all MCP server connections with\n lifecycle (connect, disconnect, reconnect, health check)\n- `MCPSettings.tsx` -- settings UI for MCP servers\n- `MCPListPanel.tsx` -- list of connected servers with status\n- `MCPToolListView.tsx` -- browse tools from connected servers\n- `MCPToolDetailView.tsx` -- tool detail with parameter schema\n- `MCPAgentServerMenu.tsx` -- server menu for agent context\n- `MCPRemoteServerMenu.tsx` -- remote server configuration\n- `MCPStdioServerMenu.tsx` -- stdio transport configuration\n- `MCPReconnect.tsx` -- reconnection UI\n- `MCPServerApprovalDialog.tsx` -- approve new server connections\n- `MCPServerMultiselectDialog.tsx` -- select which servers to enable\n- `McpParsingWarnings.tsx` -- parsing error display\n- `useMcpConnectivityStatus.tsx` -- connection health hook\n\n## Current State\nBabysitter's `mcp:serve` starts babysitter AS an MCP server. No MCP client\nconnection management. No server lifecycle. No health monitoring. No management\nUI.\n\n## Target State\nA `mcp:connect` command to add MCP server connections. Connection manager with:\n- Startup/shutdown lifecycle per server\n- Health monitoring with reconnection\n- Server approval workflow (first-connect requires approval)\n- Tool/resource browsing per connected server\n- Integration with embedded SDK dashboard for connection status\n\n## Dependencies\n- [GAP-TOOLS-025](../tools-capabilities/GAP-TOOLS-025.md) -- MCP client capability\n- [GAP-MCPC-001](GAP-MCPC-001.md) -- channel support\n\n## Key Files\n| Component | Path |\n|-----------|------|\n| Babysitter MCP module | `packages/sdk/src/mcp/` |\n| CC MCP connection mgr | `src/services/mcp/MCPConnectionManager.tsx` |\n| CC MCP config | `src/services/mcp/config.ts` |\n| CC MCP components | `src/components/mcp/` (10 files) |\n\n## Recommendation\nPhase 3. Build on the MCP client from GAP-TOOLS-025. Add connection lifecycle\nmanagement. UI can initially be CLI-based, then migrate to Ink components.\n",
"documents": []
},
"outgoingEdges": [],
"incomingEdges": [
{
"from": "page:docs-harness-features-backlog",
"to": "page:docs-harness-features-backlog-gaps-mcp-channels-gap-mcpc-004",
"kind": "contains_page"
}
]
}