A monitoring and management system for MCP (Model Context Protocol) servers with health checking, configuration management, and a Streamlit-based dashboard frontend
This MCP server has critical definition quality gaps. Tool names lack clear action verbs (add_mcp_config vs create_mcp_config), descriptions are present but minimal (avg ~80 chars, below 194-char baseline), and parameter descriptions are sparse or missing. Input schemas exist but lack proper type constraints and descriptions for nested properties. No output schemas documented. Error handling is generic (500 errors with stack traces). The server exposes configuration management operations but lacks the clarity and structure expected of production tools.
MCP 설정 추가 API - Adds or updates MCP server configuration with service name, URL, and transport type
MCP 서버 상태 확인 API - Performs health checks on all configured MCP servers by attempting HTTP connections
MCP 설정 삭제 API - Deletes a specific MCP server configuration by server name
상태 확인 결과 조회 API - Retrieves the most recent health check results for all MCP servers
MCP 설정 조회 API - Retrieves the list of configured MCP servers
Output schemas not documented. Tools return JSON but LLMs cannot infer response structure (e.g., get_mcp_config returns a list of dicts, but structure is undocumented). This forces LLMs to guess field names and types.
Nested parameter descriptions missing. add_mcp_config accepts a 'config' object with nested 'url' and 'transport' fields, but the nested properties lack descriptions explaining what values are valid (e.g., what transport types are supported?).
Generic error handling. Code raises HTTPException(500) with stack traces. LLMs receive no guidance on whether to retry, what went wrong, or how to recover. E.g., 'Invalid transport type' vs 'File permission denied' both return 500.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 38 | <=2025-11-25 | v2 |
Tool naming inconsistency. 'add_mcp_config' should be 'create_mcp_config' or 'update_mcp_config' (code does both). 'check_mcp_health' is vague, 'perform_health_check' or 'test_mcp_servers' is clearer. Inconsistent naming increases LLM confusion.
No pagination or result limits. check_mcp_health and get_health_result return all results without limit. If 1000 servers are configured, response could exhaust context window. No limit parameter or pagination guidance.