Skip to main content
Hermes Agent can use Dexi two ways. As a plain MCP server it gets the twelve tools (see Getting Started → Hermes Agent). The dexi memory-provider plugin on this page goes further: it recalls relevant notes before every turn, teaches the agent how to use your notes, and can leave a digest note per session. Hermes allows one external memory provider at a time, so pick this instead of the mcp_servers entry when Dexi is your memory — configuring both duplicates the tools. Source, issues, and version history: github.com/dexi/hermes-plugin (MIT).

Install

Or as a pip package (entry-point discovery — handy in a container image), then set memory.provider: dexi:
Requires mcp>=1.26,<2 and httpx, both present in a Hermes install with the mcp extra.
hermes dexi login prints an authorize URL and opens your browser. Sign in to Dexi, optionally restrict the connection to one folder or tag, and approve. Hermes’ local callback completes the flow; you’ll see “Authorization Successful — return to Hermes.”
If you already had an mcp_servers.dexi entry, the provider reuses its token — no second approval. Verify with hermes memory status (shows dexi as the active provider) and hermes dexi status (config plus a live probe).

What it does

Recall (prefetch) — before each non-trivial turn, the plugin runs semantic_search over your notes for the incoming message (plus a keyword pass when it contains a #hashtag or a “quoted phrase”) and injects hits above the similarity floor as a <dexi-context> block of titles and snippets. Never full bodies — the model calls dexi_get or full_text: true when it wants one. Best-effort with a ~2.5 s budget; failures inject nothing. Hermes shows it in the recall indicator (”🧠 Dexi — recalled 5 memories”). Tools — each forwards to the Dexi MCP tool of the same purpose and accepts an optional intent sentence: Every result item carries a url (https://app.dexi.net/dashboard/notes/<id>) so the agent can cite notes. Session digest (off by default) — with session_digest: true, one note per session is written at session end, session switch, pre-compaction, or shutdown — never per turn. It holds the questions asked, the last answer, and the session id, tagged #hermes (configurable). Deterministic (no LLM call in the plugin) and idempotent per session. Skillsdexi:capture, dexi:recall, dexi:review mirror the Claude Code plugin’s with the dexi_* tool names; load one explicitly, or schedule dexi:review with a Hermes cron for a daily quiz over Telegram. Deliberately not done — no note per turn, no mirroring of Hermes’ MEMORY.md/USER.md, no rules/provenance/rollback layer. Dexi is your notes app; the agent is a reader and an occasional, deliberate writer.

What leaves your device

Only when the corresponding feature runs, and only to mcp.dexi.net under your own account: Never full transcripts, MEMORY.md, or tool-call history. Everything lands in your Dexi account, visible and deletable in the app. Set read_only: true and the connection cannot write at all: Hermes requests only the notes:read scope and the write tools disappear from the agent.

Configuration

~/.hermes/dexi.json — created by hermes memory setup; every key optional; DEXI_<KEY> environment variables override: CLI (available while memory.provider is dexi): hermes dexi status, hermes dexi login, hermes dexi logout (clears the cached tokens on the Hermes side), hermes dexi config. Manage, narrow, or revoke the grant itself in Dexi under Settings → Connected apps — the connection appears there as Hermes Agent (Dexi memory); a folder/tag restriction set there applies on the next request.

Troubleshooting