Hermes Agent
Hermes Agent is an MCP client published by Nous Research; its MCP spec-revision support has not been verified yet. Last verified 2026-09-15.
Does Hermes Agent support the current MCP specification (2026-07-28)?
Undetermined. We have not verified which MCP specification revision Hermes Agent supports (as of 2026-09-15).
Which MCP client features does Hermes Agent support?
Hermes Agent supports: tools, resources, prompts, sampling, elicitation (last verified 2026-09-15).
When were Hermes Agent's facts last verified?
2026-09-15. Each fact on this page links to the sources used to verify it.
Hermes Agent is an AI agent published by Nous Research, whose MCP client
support ships as part of the standard install. Servers are configured as
entries under mcp_servers in ~/.hermes/config.yaml, each carrying either
a command plus args for a local stdio launch or a URL for a remote
connection, and can also be added from a curated, Nous-reviewed catalog of
70 servers stored under optional-mcps/ in the repository; catalog entries
are disabled by default and must be installed individually. The client
implements stdio, Streamable HTTP and SSE transports, and its handler code
supports tools, resources, prompts, sampling and elicitation, with sampling
and elicitation enabled by default per server; roots is not documented
anywhere in the client's transport or handler modules. A code comment in
pyproject.toml states that the pinned mcp==2.0.0 SDK dependency
"implements MCP revision 2026-07-28," which is evidence about that
dependency rather than a Hermes-authored statement of the client's own
supported revision, so spec status is recorded as unknown.
Hermes Agent also runs its own MCP server: hermes mcp serve exposes the
agent's messaging conversations as MCP tools over stdio for other MCP
clients, and Nous Research separately hosts a cloud-management MCP server
at its portal, gated by OAuth, for administering Hermes Cloud deployments.
CVE-2026-82021 covered a
supply-chain flaw in the bundled catalog: the n8n entry under
optional-mcps/n8n/manifest.yaml installed a third-party repository from a
mutable main branch reference, and the manifest now pins a full commit
SHA instead. As of 2026-09-15, the PyPI package hermes-agent was last
published as version 0.19.0 on 2026-07-20, while the GitHub repository had
moved on to release v0.21.3 (tag v2026.9.14) on 2026-09-14, leaving the
published package several releases behind the source tree.
How was this verified, and what are the sources?
Verified · method: repo-readme
· confidence 0.85 (Good).
- GitHub repository NousResearch/hermes-agent via the GitHub API, fetched 2026-09-15 - 245,721 stars, owner.type "Organization", homepage https://hermes-agent.nousresearch.com, license MIT, latest release v2026.9.14 (version string v0.21.3, published 2026-09-14) - accessed
- Hermes Agent MCP documentation, fetched live 2026-09-15, matching the in-repo website/docs/user-guide/features/mcp.md - servers are added under mcp_servers in ~/.hermes/config.yaml; the bundled catalog under optional-mcps/ is Nous-reviewed and "disabled by default - install only what you actually want"; "Sampling is enabled by default for all MCP servers (when the MCP SDK supports it)"; "Elicitation is enabled by default per server"; "MCP support ships with the standard install - no extra step needed" - accessed
- tools/mcp_tool_transport.py, fetched 2026-09-15 - module docstring "Transport bring-up for MCPServerTask: stdio spawn ... Streamable HTTP / SSE connect (preflight, identity header, client certs, OAuth)"; implements _run_stdio with StdioServerParameters, _streamable_http_transport with streamablehttp_client, and _sse_transport with sse_client - accessed
- tools/mcp_tool_handlers.py, fetched 2026-09-15 - registers resources/list and resources/read via _make_list_resources_handler and a read-resource handler, and prompts/list and prompts/get via _make_list_prompts_handler and _make_get_prompt_handler; no roots/list or RootsCapability reference found in this file or elsewhere in the tools/mcp_tool*.py tree - accessed
- tools/mcp_tool_sampling.py, fetched 2026-09-15 - module docstring "MCP client-side handlers for server-initiated requests: sampling (sampling/createMessage, text and tool-use results) and elicitation"; ElicitationHandler routes form-mode elicitation through Hermes' approval system and declines URL-mode elicitation as "not implemented" - accessed
- pyproject.toml, fetched 2026-09-15 - dependency line "mcp==2.0.0" with the adjacent comment "mcp 2.0.0 implements MCP revision 2026-07-28 and moved its own HTTP stack from httpx to httpx2"; a code-comment statement about the mcp SDK dependency, not a Hermes-authored claim about the client's own protocol support - accessed