Skip to content

Commit c4e6545

Browse files
Dumbrisclaude
andauthored
docs: update CLI and REST API docs for unified health status (smart-mcp-proxy#204)
Updated documentation to reflect the new unified health status feature: - CLI management commands: Updated output format showing new columns (STATUS, ACTION) and health status emojis (✅ ⚠️ ❌ ⏸️ 🔒) - REST API: Added `health` object to GET /api/v1/servers response with fields: level, admin_state, summary, detail, action 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 2173d65 commit c4e6545

3 files changed

Lines changed: 76 additions & 20 deletions

File tree

docs/api/rest-api.md

Lines changed: 45 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -64,24 +64,58 @@ Get server status and statistics.
6464

6565
#### GET /api/v1/servers
6666

67-
List all upstream servers.
67+
List all upstream servers with unified health status.
6868

6969
**Response:**
7070
```json
7171
{
72-
"servers": [
73-
{
74-
"name": "github-server",
75-
"protocol": "http",
76-
"enabled": true,
77-
"connected": true,
78-
"quarantined": false,
79-
"tools_count": 15
80-
}
81-
]
72+
"success": true,
73+
"data": {
74+
"servers": [
75+
{
76+
"name": "github-server",
77+
"protocol": "http",
78+
"enabled": true,
79+
"connected": true,
80+
"quarantined": false,
81+
"tool_count": 15,
82+
"health": {
83+
"level": "healthy",
84+
"admin_state": "enabled",
85+
"summary": "Connected (15 tools)",
86+
"action": ""
87+
}
88+
},
89+
{
90+
"name": "oauth-server",
91+
"protocol": "http",
92+
"enabled": true,
93+
"connected": false,
94+
"quarantined": false,
95+
"tool_count": 0,
96+
"health": {
97+
"level": "unhealthy",
98+
"admin_state": "enabled",
99+
"summary": "Token expired",
100+
"detail": "OAuth access token has expired",
101+
"action": "login"
102+
}
103+
}
104+
]
105+
}
82106
}
83107
```
84108

109+
**Health Object Fields:**
110+
111+
| Field | Type | Description |
112+
|-------|------|-------------|
113+
| `level` | string | Health level: `healthy`, `degraded`, or `unhealthy` |
114+
| `admin_state` | string | Admin state: `enabled`, `disabled`, or `quarantined` |
115+
| `summary` | string | Human-readable status message |
116+
| `detail` | string | Optional additional context about the status |
117+
| `action` | string | Suggested remediation: `login`, `restart`, `enable`, `approve`, `view_logs`, or empty |
118+
85119
#### POST /api/v1/servers/{name}/enable
86120

87121
Enable a server.

docs/cli-management-commands.md

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,26 @@ mcpproxy upstream list --log-level=debug
4141

4242
**Output Fields:**
4343
- NAME - Server name
44-
- ENABLED - Whether server is enabled
45-
- PROTOCOL - Transport protocol (stdio, http, sse)
46-
- CONNECTED - Connection status
44+
- PROTOCOL - Transport protocol (stdio, http, sse, streamable-http)
4745
- TOOLS - Number of available tools
48-
- STATUS - Current status or error message
46+
- STATUS - Unified health status with emoji indicator and summary
47+
- ACTION - Suggested remediation command (if applicable)
48+
49+
**Status Indicators:**
50+
- ✅ Healthy - Server connected and working
51+
- ⚠️ Degraded - Server has warnings (e.g., token expiring soon)
52+
- ❌ Unhealthy - Server has errors or not functioning
53+
- ⏸️ Disabled - Server manually disabled by user
54+
- 🔒 Quarantined - Server pending security approval
55+
56+
**Example Output:**
57+
```
58+
NAME PROTOCOL TOOLS STATUS ACTION
59+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
60+
✅ github-server http 15 Connected (15 tools) -
61+
❌ oauth-server http 0 Token expired auth login --server=oauth-server
62+
⏸️ disabled-server stdio 0 Disabled by user upstream enable disabled-server
63+
```
4964

5065
---
5166

docs/cli/management-commands.md

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,19 @@ mcpproxy upstream restart failing-srv
4343
mcpproxy upstream list
4444
```
4545

46-
Output shows:
47-
- Server name
48-
- Connection status
49-
- Protocol type
50-
- Enabled/disabled state
46+
Output shows unified health status:
47+
- Server name and protocol type
5148
- Tool count
49+
- Health status with emoji indicator (✅ healthy, ⚠️ degraded, ❌ unhealthy, ⏸️ disabled, 🔒 quarantined)
50+
- Suggested action command when applicable
51+
52+
Example output:
53+
```
54+
NAME PROTOCOL TOOLS STATUS ACTION
55+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
56+
✅ github-server http 15 Connected (15 tools) -
57+
❌ oauth-server http 0 Token expired auth login --server=oauth-server
58+
```
5259

5360
### View Logs
5461

0 commit comments

Comments
 (0)