MCP management UI + tool search — stable tool list, cache-friendly, no context bloat. Visualizes configuration/start-stop/refresh of MCP servers and tool selection, on-demand tool search with hot injection.
dsh-mcp exposes 12 tools for MCP server management and tool control. Most tools lack proper input schemas and descriptions are minimal (10-50 chars). Tool names are reasonable (verb-noun style: list, upsert, delete, test, toolsList, toolsSet, toolsMode, envList, envSet, adopt, release) but parameter documentation is sparse. No output schemas are documented. Error handling is absent, no recovery guidance or categorization. The server manages MCP configuration state but does not follow production-grade tool definition patterns.
Take over management of an MCP server declared in Cordis patch layers
Delete an MCP server configuration
Read the process-level environment variables
Set process-level environment variables
Read the MCP server list
Release management of an MCP server back to Cordis patch layers
Test the connection to an MCP server
No output schemas documented. Tools like list, toolsList, envList return data but LLMs cannot predict field structure, forcing guesswork on downstream tool calls.
Descriptions are too short (10-50 chars). 'Read the MCP server list' and 'Read the tool-control state' lack context on WHEN to call, WHAT data is returned, and HOW to use results. LLMs cannot reliably select these tools.
Parameter descriptions are missing or trivial. 'Server configuration object' and 'Environment variables for the server' do not explain structure, required fields, or format. LLMs cannot construct valid payloads.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Read the tool-control state including available tools and injection mode
Switch the tool injection mode between full and on-demand search
Set one tool's enable/disable switch
Create or update an MCP server configuration
Replace the whole server list via JSON document; listed servers are created or updated, existing servers absent from the document are removed
No error handling or recovery guidance. Tools like delete and upsertJson perform destructive operations but provide no confirmation step, dry-run option, or error categorization (retryable vs fatal).
toolsMode accepts 'mode' as free-form string. Should be an enum constraint ('full' | 'search') to prevent hallucinated values and guide LLM selection.