Local MCP bridge that gives Codex a specialist Hermes Agent team.
Server defines 10 tools with consistent naming (verb_noun pattern: hermes_team_*) and descriptions present for all. Input schemas use Zod validation with type constraints. However, parameter descriptions are minimal (many under 50 chars), output schemas are not formally documented, and error handling lacks recovery guidance. Tool names are clear but descriptions could be more LLM-optimized per pattern:tool-description baseline (target 50-200 chars). No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications in metadata.
Ask a specific Hermes agent to respond to a prompt
Consult a panel of agents on a task and synthesize their responses
Collect and synthesize the result of a Kanban task
Create a new Kanban task
Discover and describe the roles and capabilities of agents
Get details of a specific Kanban task
Check health status of Hermes CLI and bridge configuration
Output schemas not formally documented. Tools return jsonContent() with inferred structures (e.g., hermes_team_route returns {selected, confidence, why, routeMode, scores}), but no schema definitions visible in code. LLMs cannot plan downstream calls without knowing response field types.
Parameter descriptions are minimal and lack actionable constraints. E.g., 'maxAgents' described as 'Maximum number of agents to select (1-12)' but no guidance on when to use vs default. 'sideEffectPolicy' enum values listed in description instead of as formal enum constraint.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Get detailed information about a specific agent's role and capabilities
List all available Hermes agents in the team
Route a task to the most suitable agents based on capability matching
No error handling guidance. Tools may fail (e.g., agent timeout, invalid profile, Kanban unavailable) but no recovery hints in code. Per pattern:recovery-guide, errors should tell LLM what to do next: 'Profile not found. Try hermes_team_list_agents() to see available profiles.'
Tool annotations missing. Metadata declares Risk: READ_ONLY vs WRITE, but tools are not registered with readOnlyHint/destructiveHint annotations. Per current spec (2026-07-28), tool annotations enable safer agent planning and should be present for all tools.
sideEffectPolicy parameter uses string enum but not declared as formal enum in Zod schema. Code shows SideEffectPolicySchema.optional() but enum values ('advice_only', 'read_only', etc.) are only documented in description text. Per pattern:constrained-input, enums should be machine-parseable.