Hermes Toolkit MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| hermes_status_overviewA | Aggregate read-only Hermes install, profile, toolkit, config, and API configuration metadata without live prompt-bearing calls. |
| hermes_detect_installA | Detect local Hermes CLI/home/profile/config/toolkit surfaces without mutation or live API/model calls. |
| hermes_toolkit_infoA | Summarize toolkit agents, skills, eval harness paths, suites, helper scripts, and README metadata without reading secrets. |
| hermes_profiles_listA | List local Hermes profiles and profile-local surface presence without exposing memory, skill, plugin, or config contents. |
| hermes_config_summaryA | Read Hermes config shape and MCP server transport metadata while redacting secret values and reporting env presence only. |
| hermes_skills_listA | List Hermes toolkit/profile skill directories and linked-file inventories without reading profile memory, writing skills, or invoking evals. |
| hermes_skill_readA | Read one bounded SKILL.md or linked skill file after resolving the skill and linked file within allowed roots. |
| hermes_skill_patch_proposalA | Write proposal-only skill patch artifacts after bounded skill-file readback; performs no skill writes or git operations. |
| hermes_skill_patch_applyB | Apply an exact-scope skill-file patch only when mutation policy, allow_skill_write, expected sha256, and confirmation nonce gates all pass; writes a private backup and receipt artifact. |
| hermes_config_patch_applyC | Apply an exact-scope config-file patch only when mutation policy, allow_config_write, expected sha256, parse validation, and confirmation nonce gates all pass; writes a private backup and receipt artifact. |
| hermes_gateway_restartA | Run a preconfigured gateway restart command only at owner policy tier with external-side-effect, allow_gateway_restart, command-hash, and confirmation nonce gates; captures redacted stdout/stderr artifacts. |
| hermes_deploy_repair_applyB | Run a preconfigured deploy repair command against a verified repair-plan artifact only at owner policy tier with git/config/gateway/external gates, command-hash, plan-hash, and confirmation nonce gates. |
| hermes_skill_eval_startC | Validate a skill id/read boundary, then start a bounded dry/live-gated eval job without writing the skill file. |
| hermes_deploy_guard_checkA | Read-only git/live-checkout guard that verifies branch, HEAD, cleanliness, and path containment without fetch, checkout, restart, or config writes. |
| hermes_config_compare_surfacesB | Compare selected top-level config keys across two allowlisted YAML surfaces with redaction and presence-only handling for sensitive values. |
| hermes_gateway_statusA | Inspect configured gateway pid/lock/log path state without starting, stopping, restarting, or mutating services. |
| hermes_log_tailA | Tail a configured allowlisted log path with bounded reads and redaction; arbitrary log paths are denied. |
| hermes_deploy_repair_planA | Write a proposal-only deploy repair artifact based on deploy guard evidence; performs no git, service, or config mutation. |
| hermes_api_smokeC | Gated Hermes API smoke that separates endpoint reachability, auth acceptance, model invocation, and assistant answer evidence, writing redacted artifacts. |
| hermes_api_docs_listA | List bundled Hermes API server documentation resources, section slugs, snapshot provenance, and planned wrapper mapping without network refresh. |
| hermes_api_docs_readA | Read one bundled Hermes API server docs section by slug or hermes-docs://api-server/* resource URI without network, API, model, or tool calls. |
| hermes_kanban_api_docs_listA | List bundled Hermes Kanban REST API documentation resources, section slugs, snapshot provenance, and planned wrapper mapping without network refresh. |
| hermes_kanban_api_docs_readA | Read one bundled Hermes Kanban API docs section by slug or hermes-docs://kanban-api/* resource URI without network, API, model, or tool calls. |
| hermes_api_models_listA | Typed GET /v1/models wrapper that lists available models from the configured Hermes API server, writing redacted request/result/response receipts. |
| hermes_api_capabilities_getA | Typed GET /v1/capabilities wrapper that returns the configured Hermes API server capability surface, writing redacted receipts. |
| hermes_api_healthB | Typed GET /health wrapper that checks the configured Hermes API server liveness, writing redacted receipts. |
| hermes_api_health_detailedA | Typed GET /health/detailed wrapper that checks the configured Hermes API server detailed health, writing redacted receipts. |
| hermes_api_responses_createA | Typed OpenAI Responses API POST /v1/responses wrapper. Requires api_call policy plus live/model/tool/external-side-effect gates, disables streaming in v0, supports previous_response_id / conversation chaining, and writes redacted request/result/response receipts. |
| hermes_api_responses_getA | Typed GET /v1/responses/{id} wrapper that retrieves a stored response from the configured Hermes API server, writing redacted receipts. |
| hermes_api_responses_deleteA | Typed DELETE /v1/responses/{id} wrapper that deletes a stored response from the configured Hermes API server, writing redacted receipts. |
| hermes_api_skills_listA | Typed GET /v1/skills wrapper that lists available skills from the configured Hermes API server, writing redacted receipts. |
| hermes_api_toolsets_listA | Typed GET /v1/toolsets wrapper that lists available toolsets from the configured Hermes API server, writing redacted receipts. |
| hermes_api_jobs_listB | Typed GET /api/jobs wrapper that lists scheduled Hermes cron jobs from the configured Hermes API server, with optional limit, offset, and status filter, writing redacted receipts. |
| hermes_api_jobs_getA | Typed GET /api/jobs/{job_id} wrapper that fetches one scheduled Hermes cron job's definition and last-run state, writing redacted receipts. |
| hermes_api_jobs_createB | Typed POST /api/jobs wrapper that creates a scheduled Hermes cron job with prompt, schedule, skills, provider/model overrides, and delivery target, writing redacted receipts. |
| hermes_api_jobs_updateA | Typed PATCH /api/jobs/{job_id} wrapper that partially updates a scheduled Hermes cron job (prompt, schedule, skills, provider/model, delivery, enabled), writing redacted receipts. |
| hermes_api_jobs_deleteA | Typed DELETE /api/jobs/{job_id} wrapper that removes a scheduled Hermes cron job and cancels any in-flight run, writing redacted receipts. |
| hermes_api_jobs_pauseB | Typed POST /api/jobs/{job_id}/pause wrapper that suspends a scheduled Hermes cron job without deleting it, writing redacted receipts. |
| hermes_api_jobs_resumeA | Typed POST /api/jobs/{job_id}/resume wrapper that resumes a previously paused scheduled Hermes cron job, writing redacted receipts. |
| hermes_api_jobs_runB | Typed POST /api/jobs/{job_id}/run wrapper that triggers a scheduled Hermes cron job to run immediately, out of schedule, writing redacted receipts. |
| hermes_kanban_board_getA | Typed GET /api/plugins/kanban/board wrapper that reads a Kanban board with optional board slug, tenant, archived filter, limit, and offset, writing redacted receipts. |
| hermes_kanban_boards_listA | Typed GET /api/plugins/kanban/boards wrapper that lists every board on disk with metadata, task counts, health, and the active board slug, writing redacted receipts. |
| hermes_kanban_assignees_listA | Typed GET /api/plugins/kanban/assignees wrapper that lists available assignee profiles with optional board-scoped task counts, writing redacted receipts. |
| hermes_kanban_task_getA | Typed GET /api/plugins/kanban/tasks/{id} wrapper that reads one Kanban task by id with optional board slug and tenant, writing redacted receipts. |
| hermes_kanban_workers_activeA | Typed GET /api/plugins/kanban/workers/active wrapper that lists currently spawned Kanban workers with PID, profile, task id, and heartbeat metadata, writing redacted receipts. |
| hermes_kanban_run_getA | Typed GET /api/plugins/kanban/runs/{run_id} wrapper that reads single-run detail such as task id, status, started/ended timestamps, exit code, and log path, writing redacted receipts. |
| hermes_kanban_run_inspectA | Typed GET /api/plugins/kanban/runs/{run_id}/inspect wrapper that reads per-run captured output (stdout/stderr preview, redacted), writing redacted receipts. Process control remains unwrapped/denied. |
| hermes_kanban_task_createB | Typed POST /api/plugins/kanban/tasks wrapper that creates a Kanban task with title, body, assignee, priority, parents, triage flag, idempotency key, and workspace options, writing redacted receipts. |
| hermes_kanban_task_updateA | Typed PATCH /api/plugins/kanban/tasks/{id} wrapper that updates status, assignee, priority, title, body, result, or completion summary for one Kanban task, writing redacted receipts. |
| hermes_kanban_tasks_bulk_updateA | Typed POST /api/plugins/kanban/tasks/bulk wrapper that applies the same status, assignee, priority, archive, or completion patch to every id in the list, reporting per-id outcomes without aborting siblings, writing redacted receipts. |
| hermes_kanban_task_comment_createB | Typed POST /api/plugins/kanban/tasks/{id}/comments wrapper that appends a comment to a Kanban task, using JSON body for the comment text and optional board query param, writing redacted receipts. |
| hermes_kanban_link_createA | Typed POST /api/plugins/kanban/links wrapper that adds a dependency (parent_id -> child_id), using JSON body for the relationship and optional board query param, writing redacted receipts. |
| hermes_kanban_link_deleteA | Typed DELETE /api/plugins/kanban/links wrapper that removes a dependency identified by parent_id and child_id query params, with optional board query param, writing redacted receipts. |
| hermes_kanban_task_specifyA | Typed POST /api/plugins/kanban/tasks/{id}/specify wrapper that runs the triage specifier auxiliary LLM to flesh out a triage task and promote it to todo, writing redacted receipts. |
| hermes_kanban_task_decomposeA | Typed POST /api/plugins/kanban/tasks/{id}/decompose wrapper that runs the kanban decomposer auxiliary LLM to produce a task graph, create children, link the root, and flip triage to todo, writing redacted receipts. |
| hermes_kanban_profiles_listC | Typed GET /api/plugins/kanban/profiles wrapper that lists installed Hermes profiles with descriptions, writing redacted receipts. |
| hermes_kanban_profile_updateB | Typed PATCH /api/plugins/kanban/profiles/{name} wrapper that sets or clears a profile's user-authored description, writing redacted receipts. |
| hermes_kanban_orchestration_getC | Typed GET /api/plugins/kanban/orchestration wrapper that reads kanban orchestration settings and resolved effective values, writing redacted receipts. |
| hermes_kanban_orchestration_updateB | Typed PUT /api/plugins/kanban/orchestration wrapper that updates orchestrator_profile, default_assignee, or auto_decompose in config.yaml, writing redacted receipts. |
| hermes_kanban_dispatch_nudgeB | Typed POST /api/plugins/kanban/dispatch wrapper that nudges the kanban dispatcher to skip the 60 s wait, with optional max, dry_run, board, and tenant query params, writing redacted receipts. |
| hermes_kanban_config_getA | Typed GET /api/plugins/kanban/config wrapper that reads dashboard.kanban preferences from config.yaml, writing redacted receipts. |
| hermes_api_runs_startA | Typed POST /v1/runs wrapper that starts a Hermes agent run from a prompt, writing redacted request/result/response receipts. Requires api_call tier with live, model, agent-tool, and external-side-effect gates. |
| hermes_api_runs_getB | Typed GET /v1/runs/{run_id} wrapper that reads a Hermes run status, writing redacted receipts. Requires api_call tier with live and external-side-effect gates. |
| hermes_api_runs_eventsA | Typed GET /v1/runs/{run_id}/events wrapper that returns non-streaming event metadata for a Hermes run, writing redacted receipts. This is not a streaming SSE/WebSocket proxy. |
| hermes_api_runs_stopA | Typed POST /v1/runs/{run_id}/stop wrapper that requests a Hermes run stop, writing redacted receipts. Requires api_call tier with live, agent-tool, and external-side-effect gates. |
| hermes_api_runs_approvalA | Typed POST /v1/runs/{run_id}/approval wrapper that submits an approval decision for a paused Hermes run, writing redacted receipts. Requires api_call tier with live, agent-tool, and external-side-effect gates. |
| hermes_eval_suites_listA | List configured Hermes eval suite files, dry-run markers, case counts, and harness path state without executing the harness. |
| hermes_eval_runA | Run one bounded Hermes eval suite synchronously through the configured eval harness. Dry/structural suites run without live-model opt-in; non-dry/live eval requires live_eval=true, HERMES_TOOLKIT_MCP_ALLOW_LIVE_EVAL=1, and the live/model/tool/external policy gates. Writes request/result/summary/stdout/stderr/report artifacts. |
| hermes_eval_startA | Start one bounded Hermes eval suite as an in-process async job with the same dry/live gates as hermes_eval_run. Poll with hermes_job_status and cancel with hermes_job_cancel. |
| hermes_job_statusA | Poll a process-local Hermes Toolkit MCP async eval job by job_id/run_id and return current artifact/result status. |
| hermes_job_cancelC | Best-effort cancel of a process-local Hermes Toolkit MCP async eval job by job_id/run_id. |
| hermes_api_chat_completionsA | Typed OpenAI-compatible POST /v1/chat/completions wrapper for mocked/local Hermes API endpoints. Requires api_call policy plus live/model/tool/external-side-effect gates, disables streaming in v0, and writes redacted request/result/response receipts. |
| hermes_agent_ask_fallbackA | Last-resort prompt bridge to a configured Hermes Agent backend after typed tools do not fit. Requires why_no_typed_tool_fits, docs_resource_consulted, typed_wrapper_checked, risk_acknowledgement, and expected_evidence, writes private artifacts, supports async jobs, and warns when a typed tool would be better. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| api-server/full | Hermes API server docs section: Full API server docs snapshot |
| api-server/overview | Hermes API server docs section: Overview |
| api-server/quick-start | Hermes API server docs section: Quick Start |
| api-server/1-enable-the-api-server | Hermes API server docs section: 1. Enable the API server |
| api-server/2-start-the-gateway | Hermes API server docs section: 2. Start the gateway |
| api-server/3-connect-a-frontend | Hermes API server docs section: 3. Connect a frontend |
| api-server/endpoints | Hermes API server docs section: Endpoints |
| api-server/post-v1-chat-completions | Hermes API server docs section: POST /v1/chat/completions |
| api-server/post-v1-responses | Hermes API server docs section: POST /v1/responses |
| api-server/multi-turn-with-previous-response-id | Hermes API server docs section: Multi-turn with previous_response_id |
| api-server/named-conversations | Hermes API server docs section: Named conversations |
| api-server/get-v1-responses-id | Hermes API server docs section: GET /v1/responses/{id} |
| api-server/delete-v1-responses-id | Hermes API server docs section: DELETE /v1/responses/{id} |
| api-server/get-v1-models | Hermes API server docs section: GET /v1/models |
| api-server/get-v1-capabilities | Hermes API server docs section: GET /v1/capabilities |
| api-server/get-health | Hermes API server docs section: GET /health |
| api-server/get-health-detailed | Hermes API server docs section: GET /health/detailed |
| api-server/runs-api-streaming-friendly-alternative | Hermes API server docs section: Runs API (streaming-friendly alternative) |
| api-server/post-v1-runs | Hermes API server docs section: POST /v1/runs |
| api-server/get-v1-runs-run-id | Hermes API server docs section: GET /v1/runs/{run_id} |
| api-server/get-v1-runs-run-id-events | Hermes API server docs section: GET /v1/runs/{run_id}/events |
| api-server/post-v1-runs-run-id-stop | Hermes API server docs section: POST /v1/runs/{run_id}/stop |
| api-server/post-v1-runs-run-id-approval | Hermes API server docs section: POST /v1/runs/{run_id}/approval |
| api-server/jobs-api-background-scheduled-work | Hermes API server docs section: Jobs API (background scheduled work) |
| api-server/get-api-jobs | Hermes API server docs section: GET /api/jobs |
| api-server/post-api-jobs | Hermes API server docs section: POST /api/jobs |
| api-server/get-api-jobs-job-id | Hermes API server docs section: GET /api/jobs/{job_id} |
| api-server/patch-api-jobs-job-id | Hermes API server docs section: PATCH /api/jobs/{job_id} |
| api-server/delete-api-jobs-job-id | Hermes API server docs section: DELETE /api/jobs/{job_id} |
| api-server/post-api-jobs-job-id-pause | Hermes API server docs section: POST /api/jobs/{job_id}/pause |
| api-server/post-api-jobs-job-id-resume | Hermes API server docs section: POST /api/jobs/{job_id}/resume |
| api-server/post-api-jobs-job-id-run | Hermes API server docs section: POST /api/jobs/{job_id}/run |
| api-server/sessions-api-session-control-over-rest | Hermes API server docs section: Sessions API (session control over REST) |
| api-server/skills-and-toolsets-discovery | Hermes API server docs section: Skills and toolsets discovery |
| api-server/long-term-memory-scoping-x-hermes-session-key | Hermes API server docs section: Long-term memory scoping (`X-Hermes-Session-Key`) |
| api-server/system-prompt-handling | Hermes API server docs section: System Prompt Handling |
| api-server/authentication | Hermes API server docs section: Authentication |
| api-server/configuration | Hermes API server docs section: Configuration |
| api-server/environment-variables | Hermes API server docs section: Environment Variables |
| api-server/config-yaml | Hermes API server docs section: config.yaml |
| api-server/security-headers | Hermes API server docs section: Security Headers |
| api-server/cors | Hermes API server docs section: CORS |
| api-server/compatible-frontends | Hermes API server docs section: Compatible Frontends |
| api-server/multi-user-setup-with-profiles | Hermes API server docs section: Multi-User Setup with Profiles |
| api-server/limitations | Hermes API server docs section: Limitations |
| api-server/proxy-mode | Hermes API server docs section: Proxy Mode |
| kanban-api/full | Hermes Kanban API docs section: Full Kanban API docs snapshot |
| kanban-api/overview | Hermes Kanban API docs section: Overview |
| kanban-api/rest-surface | Hermes Kanban API docs section: REST surface |
| kanban-api/full-route-list | Hermes Kanban API docs section: Full route list |
| kanban-api/wrapper-mapping | Hermes Kanban API docs section: Wrapper mapping |
| kanban-api/dashboard-config | Hermes Kanban API docs section: Dashboard config |
| kanban-api/security-model | Hermes Kanban API docs section: Security model |
| kanban-api/worker-visibility-endpoints | Hermes Kanban API docs section: Worker visibility endpoints |
| kanban-api/canonical-url | Hermes Kanban API docs section: Canonical URL |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hermegeddon/hermes-toolkit-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server