Phase 5-A: Backend MCP Server Health Endpoint #53
Labels
No Label
admin
agent-api
api
api-client
audit
backend
boards
cost-accounting
database
design
forgejo
frontend
issues
metrics
mutation
navigation
optional
phase:1
phase:2
phase:3
phase:4
phase:5
phase:6
polish
priority:high
priority:low
priority:medium
service
sync
usage-accuracy
validation
webhooks
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: null/Pipeline#53
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Source plan:
/home/kaspa/.claude/plans/with-our-backend-created-precious-owl.mdFeature context: Feature 5: MCP Server Health Panel
Scope
Phase 5-A — Backend
Summary
Extend
GET /claude-code/config(or addGET /claude-code/mcp-servers) to parse themcpServersblock from~/.claude/settings.jsonand attempt a connectivity check for HTTP-transport servers.Problem
MCP servers are configured in
settings.jsonbut completely invisible after setup. Users have no way to see which servers are running without checking logs manually.Affected area
/claude-codeAffected files
backend/app/services/claude_code_reader.py— addget_mcp_servers()function (reads + probes)backend/app/api/claude_code.py— add new route or extend config routebackend/app/schemas/claude_code.py— addMcpServerRead,McpServersResponseschemasAffected routes or endpoints
GET /api/v1/claude-code/mcp-serversExpected behavior
Returns list of MCP server entries:
stdiotransport: status always"unknown"(can't probe without spawning process)http/ssetransport: attemptGET {url}/healthorHEAD {url}with 2s timeout; status ="reachable"or"unreachable"settings.jsontop-levelmcpServersand anyprojects-scoped overrides (flatten, deduplicate by name)Steps to reproduce (acceptance criteria)
GET /api/v1/claude-code/mcp-serversreturns entries matchingsettings.jsonreachableorunreachablebased on actual connectivitystdioservers showunknown5-A: Backendto Phase 5-A: Backend MCP Server Health Endpoint