DocsReference

Hermes Plugin

Two Hermes paths: runtime-managed and local-first through `coppermind patch hermes`, or the advanced standalone cloud-connected package.

hermespluginpythonintegration

Hermes is the best fit when you want Coppermind woven into the session lifecycle instead of surfaced mainly as explicit tools.

For most users, this is the right path:

npm install -g coppermind
coppermind setup
coppermind patch hermes
coppermind daemon start
coppermind doctor

What this gives you:

  • local-first setup
  • no Coppermind account required
  • runtime-managed Hermes patching
  • coppermind doctor as the repair surface

What coppermind patch hermes does

The patcher installs the managed Coppermind integration into the normal Hermes path and writes the required runtime configuration for the local Coppermind daemon.

You should not need to wire the local backend yourself.

Secondary path: standalone published package

Use the standalone package only when you explicitly want the cloud-connected route:

pip install hermes-coppermind
export COPPERMIND_API_KEY="***"
export COPPERMIND_BASE_URL="https://api.coppermindapi.com"
export COPPERMIND_USER_ID="your-session-or-user-id"

That is an advanced path. It is not the default onboarding story.

How Hermes uses memory

Hermes integration is lifecycle-driven:

  • retrieve memory before the model call
  • ingest useful context after the model call
  • optionally persist a higher-level summary at session boundaries

This makes Hermes feel more like memory is built into the conversation loop.

How to verify it worked

  1. start a Hermes session
  2. mention a concrete fact worth remembering
  3. continue the session or start the next one
  4. confirm the earlier fact is retrieved when relevant

If the integration is healthy, capture and retrieval happen without interrupting the normal session flow.

Failure behavior

Hermes should fail soft. If retrieval or ingest fails, the session should continue and the failure should surface through diagnostics and logs rather than hard-breaking the conversation turn.

When to choose MCP instead

Use the local MCP path instead if you want:

  • explicit memory tools
  • visible tool invocation
  • one generic integration shape across multiple clients

In that case, start with Cursor and Other MCP Clients or the client-specific guide you are using.

Where to go next