A full-featured web UI for Hermes Agent — chat, memory, skills, terminal, approvals and multi-agent orchestration in your browser.
Hermes Studio exposes 7 HTTP endpoints as MCP tools. All have descriptions (10-100 chars), but most are generic and lack actionable context. Input schemas are present for 5/7 tools but lack parameter descriptions, critical for LLM reasoning. Output schemas are entirely undocumented. No error handling guidance, no idempotency hints, no permission scopes declared. Tool names use HTTP verbs (GET/PUT/POST) rather than action verbs (get_servers, update_servers), which is non-standard for MCP. Composition is weak: no tool chains documented, no pagination guidance for list endpoints. Security: no mention of auth validation, secret injection, or audit logging in tool definitions.
List all agents (built-ins and custom)
Query cross-session audit trail with filtering and pagination
List all crews
Retrieve MCP server configurations from the Hermes gateway config API or local config.yaml
Create a custom agent
Create a crew with multiple members and mint sessions for each member
Update MCP server configurations and save them to config.yaml
Tool names use HTTP verbs (GET, PUT, POST) instead of action verbs (get_, create_, update_). LLMs cannot infer intent from 'GET /api/mcp/servers' alone; they need 'get_mcp_servers' or 'list_mcp_servers'.
Output schemas completely undocumented. LLMs cannot plan downstream tool calls or extract required fields (e.g., server IDs, agent IDs) without knowing response structure. Violates pattern:tool and pattern:response-shaper.
Input parameter descriptions missing for most tools. 'servers' array in PUT /api/mcp/servers has nested object properties (name, transport, command, etc.) but no descriptions explaining what each field controls or valid ranges.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 38 | 2026-07-28+ | v2 |
No error handling guidance. Tools that modify state (PUT, POST) do not document failure modes, retryability, or recovery steps. LLMs cannot distinguish between transient and permanent failures.
No pagination or result limits documented for list endpoints (GET /api/agents, GET /api/crews, GET /api/audit). Large result sets will blow context windows. Missing limit/offset parameters and total count in responses.