Skip to content

Add native Hermes Agent integration #2825

@Rosevari

Description

@Rosevari

Request

Please add first-class / native support for Hermes Agent as a Claude-Mem integration target.

Why

Hermes can use Claude-Mem today via MCP and custom observer/plugin wiring, but it is not currently a native Claude-Mem integration. In our setup we had to manually bridge Hermes events into Claude-Mem, configure MCP, adapt endpoint/event mapping, and handle payload-shape differences ourselves.

It would be better if Claude-Mem supported Hermes directly, so Hermes users can install and configure Claude-Mem cleanly without writing their own bridge.

Current working setup

On a live Hermes host, we have verified:

  • Claude-Mem worker health endpoint is running:
    • GET http://127.0.0.1:37700/api/health
    • returns status: ok
    • observed version: 13.3.0
    • mcpReady: true
  • Hermes MCP test succeeds:
    • hermes mcp test claude_mem
    • connected over stdio
    • discovered 21 Claude-Mem tools
  • Hermes can call Claude-Mem search tools successfully.

So the MCP/search layer works, but the integration is still custom/local rather than first-class.

What native support should include

  • Official Hermes setup documentation.
  • MCP config example for Hermes.
  • Hermes event/capture adapter.
  • Mapping for Hermes lifecycle/tool hooks, such as:
    • session start/end/finalize
    • pre/post LLM call
    • pre/post tool call
    • subagent / child-agent completion
  • Safe capture defaults:
    • secret redaction
    • private block skipping
    • output truncation
    • async/best-effort submission
  • Optional pre-LLM recall injection.

Relevant Hermes hook shape

Hermes plugin-style observers can register hooks such as:

ctx.register_hook("on_session_start", on_session_start)
ctx.register_hook("pre_llm_call", pre_llm_call)
ctx.register_hook("post_llm_call", post_llm_call)
ctx.register_hook("pre_tool_call", pre_tool_call)
ctx.register_hook("post_tool_call", post_tool_call)
ctx.register_hook("on_session_end", on_session_end)
ctx.register_hook("on_session_finalize", on_session_finalize)
ctx.register_hook("subagent_stop", subagent_stop)

Relevant Claude-Mem endpoints observed/used

GET  /api/health
GET  /api/context/recent?project=...&limit=...
GET  /api/context/inject?project=...
GET  /api/search?query=...&type=observations&format=index&limit=...
POST /api/sessions/observations
POST /api/sessions/summarize
POST /api/sessions/complete

Goal

Make Claude-Mem work natively with Hermes so Hermes users can get proper session capture and recall without maintaining a custom local bridge.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions