A self-contained admin UI for an MCPJungle gateway with read-only MCP server face for introspection
Five read-only tools with clear, concise descriptions (50-150 chars each). All tools have proper input schemas with typed parameters and descriptions. Naming follows verb_noun convention (overview, server_health, usage_summary, unused_tools, recent_audit). However, descriptions lack actionable context for LLM selection, they state WHAT but not WHEN or WHY to call each tool. No error handling guidance, no output schema documentation, and no indication of response structure. Parameters are minimal but well-typed. Tools are single-responsibility and composable. Missing: recovery guidance, output field documentation, and LLM-optimized descriptions that explain tool relationships and selection criteria.
Counts of servers, tools, clients and tool-groups registered in the gateway, plus how many servers and tools are currently enabled. Read-only.
Recent changes made through the dashboard (who / action / target / result / when), newest first. Empty/unavailable if the dashboard has no data volume. Read-only.
Live reachability of every registered server via a TCP-connect probe: each is up / down / unknown with latency. Probed from the dashboard's network vantage. Read-only.
Registered tools that have *never* been called since the gateway started — candidates to disable to cut clutter and per-call token cost. Cross-references the live tool list against the usage metrics. Read-only.
Tool-usage analytics from the gateway's metrics: totals, per-server call/error counts, and the top `limit` tools by call count (with error rate + avg latency). Counts are cumulative since the gateway last restarted. Read-only.
No output schema documentation. Tool descriptions state what is returned (e.g., 'counts', 'latency', 'audit entries') but do not document the response structure, field names, or types. LLMs cannot plan downstream operations or extract data without knowing response shape.
Descriptions lack WHEN/WHY context. Each tool states what it does but not when an LLM should call it instead of alternatives. E.g., 'overview' vs 'server_health', when does an agent choose one over the other? This forces LLMs to guess at tool selection.
No error handling or recovery guidance. Tools do not document failure modes (e.g., 'gateway unreachable', 'metrics unavailable') or what the LLM should do next. A bare error response leaves the agent stuck.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2026-07-28+ | v2 |
Parameter 'limit' in usage_summary and recent_audit lacks range constraints. Descriptions say 'maximum number' but do not specify min/max bounds. An LLM could pass limit=999999, causing performance issues or timeouts.
Tool descriptions are generic and do not explain relationships. E.g., 'unused_tools' cross-references 'live tool list' and 'usage metrics' but does not explain which tools to call first or how results chain together. This forces LLMs to discover relationships through trial and error.