Hermes Toolkit MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| 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