1. Conduid
  2. RAG
  3. Scope Recall Hermes
MCP server · RAG

Scope Recall Hermes

Local long-term memory for Hermes, Codex, Claude Code, WorkBuddy and dsh agents: one SQLite store, source-backed recall, and tools to inspect, correct or delete what is remembered.

52Fair

Scored 3 hours ago · breakdown

About Scope Recall Hermes

Scope Recall Hermes is an MCP server published by 410979729 in the RAG category: local long-term memory for Hermes, Codex, Claude Code, WorkBuddy and dsh agents: one SQLite store, source-backed recall, and tools to inspect, correct or delete what is remembered.

The repository has 392 stars and 40 forks, with the last commit 6 hours ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/410979729/scope-recall-hermes

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Scope Recall Hermes

Powered by Claude · Grounded in docs

I know everything about Scope Recall Hermes. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 2 hours ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • !No dynamic code executionSource scan found eval or shell execution. Review how tool inputs reach it before granting credentials.

1 check has not been run yet.

Releases

v3.10.6scope-recall v3.10.6 · 17 Oct 2026Three reports, each with a test that failed on 3.10.5 before its fix; thanks to everyone who sent them. A Hermes on a package-manager environment recalled by words alone (#251, fixed in #252 by panxuewen0101). Such a gateway boots a…
v3.10.5scope-recall v3.10.5 · 16 Oct 2026Five reports, each reproduced on 3.10.4 first; thanks to everyone who sent them. Claude Code: the desktop app's reminders were stored as the owner's words (#248). Claude's desktop app puts a `<system-reminder>` block in the person's…
v3.10.4scope-recall v3.10.4 · 14 Oct 2026The README's install commands still named 3.9.3, without the vector extra. Whoever installed from that first page, on GitHub or on PyPI, got a release four versions old, and recall without vector search, since the default LanceDB store…
v3.10.3scope-recall v3.10.3 · 14 Oct 2026A claim whose value none of the sources it cites carries, such as a value the model translated, was stored and could then never be promoted (#236). Consolidation now leaves such a claim out and keeps the rest of the result: on a copy of…
v3.10.2scope-recall v3.10.2 · 12 Oct 2026A long message is consolidated a page at a time. A page whose summary of the task did not use the page's own words was refused whole: its goal, decisions, progress, open items, blockers or next step had to be quoted from the page. The…

README

Scope Recall

Scope Recall v3 is a bounded local memory core with SQLite as the authority and rebuildable vector companions. It provides host adapters for Hermes, and for Codex, Claude Code, WorkBuddy and DeepSeek Harness (dsh), which share one adapter of hooks and an MCP server (the MCP tools need the optional codex extra; dsh runs the hooks through a plugin). The public package is hermes-scope-recall; the Python import is scope_recall; the host wrapper identity remains scope-recall.

This checkout is 3.11.0. Hermes, Codex, Claude Code, WorkBuddy and dsh can keep one memory: each attaches to a shared store as an entry, what the owner tells one of them another can recall, and each memory says which agent it came in through (docs/shared-store.md). An agent that is not attached keeps its own store. A tool's output is kept and found, but not turned into facts. Each release's notes are a line or two in CHANGELOG.md and in full on its GitHub release. Upgrading from 3.2.x or later is pip install -U, apply-install and a host restart, and the store's schema does not change; on a shared store in the shipped embedding space, set vector_threshold from 0.653 to 0.70 by hand (docs/configuration.md). From 3.1.x the store moves to schema 1110 the first time it is opened, after which a 3.1 process cannot open it. Section 9 of the 3.1.0 release notes is the migration procedure for a 2.0.1 memory database. Facts are drawn from accumulated evidence rather than judged one sentence on sight; only the owner's explicit correction or confirmation changes a fact as it is captured. SQLite is the only fact authority; host adapters share the same contracts.

What is not verified. scripts/check.py --tier release runs about 3,600 tests with none failing. They check contracts, storage and the hosts' wiring; none of them measures recall quality. Every accuracy figure in the notes was measured by us, on copies of our own stores; the question sets hold private conversations, so there is no recall-quality suite you can re-run.

For agents: install or upgrade on the user's behalf

Users only need to ask "install Scope Recall" or "帮我升级一下 scoperecall". Start with scope-recall setup --host <hermes-or-codex> --home <actual-instance-home>. New users go directly to installation; only detected legacy databases go through the agent migration workflow. The installed scope-recall-setup skill makes this routing discoverable in Hermes and Codex. A second installed skill, scope-recall-memory, which Claude Code gets too, is for the owner's everyday questions: what is remembered about me, did I say it or was it worked out, does it still hold, and what correcting, muting or deleting one memory does before it is done. Claude Code, WorkBuddy and dsh only read memory through their tools; the change is made in Codex or a Hermes chat on the same store. Perform path discovery, backup, audience binding, migration, indexing and host checks yourself; do not ask the user to execute commands or govern old memories.

Install

Step-by-step Hermes and Codex instructions: docs/install.md. Claude Code installs only as an entry of a shared store, and Codex can join one too: docs/shared-store.md. WorkBuddy runs the same hooks and MCP server, also only as an entry; its installer adds them to WorkBuddy's own settings.json and mcp.json (docs/install.md, section 12). dsh (DeepSeek Harness) runs them through a plugin the installer writes and names in dsh's home patch, also only as an entry, with dsh's upload of its session logs switched off (docs/install.md, section 13).

The package is hermes-scope-recall on PyPI. Install or upgrade it, with its vector extra, into the same isolated Python environment the host uses. The default vector store is LanceDB: without [lancedb] it cannot open, and recall finds memories by their words alone (the sqlite-bruteforce backend needs no extra):

python -m pip install -U "hermes-scope-recall[lancedb]"
python -m pip install -U "hermes-scope-recall[lancedb,codex]"

The second line is for Codex, Claude Code, WorkBuddy and dsh, whose MCP server needs the codex extra. -U moves an older install to the current release; write ==<version> instead to pin one. A Hermes that builds its own plugin environment installs the core from the declaration the installer writes instead (below). doctor names an environment that lacks the vector extra while a LanceDB store is configured (vector_dependencies_missing).

The same wheel and sdist are attached to each GitHub release alongside SHA256SUMS and RELEASE-PROVENANCE.json, for an offline install (python -m pip install "<path-to-wheel>[lancedb]"). To build it yourself from this checkout instead:

python -m build --wheel

Upgrading from 2.0.x is not an in-place upgrade. Read section 9 of the 3.1.0 release notes before you start; your old database needs a one-time offline migration and there are two errors people commonly hit.

The two console names scope-recall and hermes-scope-recall invoke the same v3 maintenance CLI. They are aliases for the current CLI only; neither is a compatibility promise for an older command set.

Use explicit absolute paths for installation planning. Hermes --agent-id must match the host active profile (get_active_profile_name(), commonly default on an isolated home). Hermes default --agent-workspace is hermes to match the host memory-provider init contract; pass the same value on plan and apply if you override it. Codex does not accept --agent-workspace.

If you talk to Hermes through the Desktop app or hermes --tui rather than the CLI, add --local-platform desktop (or tui) to both commands. Those surfaces name no user unless a dashboard login exists, and a session that names no user is refused everywhere but the CLI until the installer approves the surface; docs/install.md says what the approval does and does not cover. If you reach the host through a dashboard login instead (hermes serve with dashboard.basic_auth, the Desktop app on another machine), the session is that login: approve it as yours with --owner-login desktop=basic:<name>. A Hermes with its package manager (Hermes Desktop, and gateways on a Hermes that has one) builds the Python environment it runs plugins in, and builds it again on updates: pass it --target-plugin-dir <home>\plugins\scope-recall, where Hermes finds the plugin and the core it declares, vector dependencies included, then let Hermes sync that environment and restart it (sections 1 and 4 of docs/install.md).

scope-recall plan-install --host hermes --target-plugin-dir <absolute-plugin-dir> --instance-root <absolute-instance-root> --project-root <absolute-project-root> --agent-id <agent-id> --python <absolute-python>
scope-recall apply-install --host hermes --target-plugin-dir <absolute-plugin-dir> --instance-root <absolute-instance-root> --project-root <absolute-project-root> --agent-id <agent-id> --python <absolute-python>
scope-recall doctor --host hermes --instance-root <absolute-instance-root> --python <absolute-python>

Codex uses the same commands with --host codex, plus --env-file <absolute-file> so the Codex-launched MCP server and hooks can read the credential names the runtime config declares (Codex does not pass them in the environment). The installer writes only its own wrapper and installation records and preserves foreign host files. Its receipt records host registration and applicable hook trust as pending at installation time; use doctor and actual host loading to verify the current state. Uninstall keeps Core data by default; explicit purge is bounded to verified installation-owned data and refuses uncertain ownership or active writers.

Uninstall (default: retain memory)

Uninstall is receipt-driven. By default it removes only plugin wrapper files and retains Core data. Inspect the plan before applying:

scope-recall plan-uninstall --instance-root <absolute-instance-root>
scope-recall apply-uninstall --instance-root <absolute-instance-root>

--target-plugin-dir may be omitted when the install receipt records it. Purge of installation-owned Core data requires a separate plan-uninstall --purge inspection and matching apply-uninstall --purge; see docs/install.md. Do not treat purge as a normal uninstall step.

Data and host boundaries

SQLite truth lives in the verified Core data directory. Vector indexes are companions and may be rebuilt only through an explicit configured space. The Hermes and Codex adapters bind host identity, installation identity, scopes, and project roots before opening Core. After that binding is verified, an omitted runtime-config argument checks only <data_directory>/runtime-config.json; a missing file stays basic plus an explicit capability gap. The file is never generated or discovered from the current directory, parent directories, or credential locations. Optional host wiring must report a capability gap instead of creating or repairing a database.

The codex extra adds the MCP SDK. Without that extra, the Core and Hermes paths remain importable. The lancedb extra adds the LanceDB vector companion, the default vector.backend; without it, configure sqlite-bruteforce or recall stays lexical. PostgreSQL/pgvector is outside this v3 distribution; an explicit configuration error directs operators to retain the old installation and use the migration guide.

On Windows, choose a short data directory such as C:\ScopeRecall\my-agent. LanceDB appends index, table, and temporary file names to that path. If the resulting native path is too long, the worker reports native_vector_path_too_long before starting LanceDB or calling the embedding API. Use a short target directory for a new installation or an offline migration.

Profile and entity read views

Two shared read-only Core methods, profile and entity, are exposed as Hermes tools and on Codex MCP. They return a deterministic categorized current-fact view, or an exact one-hop statement view, over admitted consolidated claims only. Raw chat is never silently turned into a profile. Incoming relations match the full scalar value_text only and keep recorded conditions and validity. Explicit project-name aliases may resolve when they are already admitted and still live; person aliases are not generalized. A budget_tokens value too small for even the minimal truthful envelope is a validation error, not an oversized view. See docs/profile-entity.zh-CN.md.

Bounded multi-hop evidence paths

Use trace when a question needs two or three recorded relationships joined together. It is read-only, shared by Hermes and Codex, and reuses existing SQLite fact/evidence/visibility checks. It does not invoke another model or persist inferred facts. Cross-scope names and conditional relations are not silently joined. Node, path, time and explicit byte budgets bound its cost. See the trace contract and boundaries.

One store for several agents

Several agents can share one store instead of each keeping its own: each attaches as an entry, every memory is marked with the agent it came in through, and a deletion through any of them applies to all. Moving the memory to another machine is copying one directory. Hermes homes attach as entries, and so do Codex and Claude Code (attach --host codex|claude-code). See docs/shared-store.md. WorkBuddy and dsh attach the same way (attach --host workbuddy|dsh).

Agent-operated migration

Users ask their agent to upgrade. The bundled scope-recall-setup skill routes fresh installs directly to installation and existing Core databases to ordinary updates. Only legacy SQLite uses a durable migration job. The agent reads scope-recall setup --workflow and performs discovery, verified audience mapping, backup, conversion, indexing and actual host checks. See the agent upgrade guide.

Migration composes the existing converter, backup helper and worker. It preserves original source/history/deletion semantics and never re-extracts the whole old journal. Unsupported formats or unresolved permissions block cutover and preserve the old installation. Index scheduling and actual live readiness remain separate.

Tree layout

The package root holds only the entry (__init__.py), the version and the protocol contracts. core/ is the host-independent memory core over SQLite truth; vector/ the rebuildable vector companions; adapters/ the Hermes plugin, the clients that use hooks and an MCP server (Codex, Claude Code, WorkBuddy, dsh; adapters/clients, with the entry module names installed configurations run kept in adapters/codex) and model transport; runtime/ the background worker, budgets and scheduling; maintenance/ install, doctor, upgrade and migration behind the operator CLI. Every shipped module is reachable by import from an entry point named in packaging_hooks/module_inventory.py; the wheel allowlist is derived from that, not typed.

Development checks

The clean wheel must be tested outside the source checkout. At minimum, verify both CLI aliases, a read-only doctor result, Core capture and recall against a temporary installation, and the stdlib HTTP helper's bounded invalid-input response. Host registration, real gateway lifecycle, and production data are separate acceptance boundaries.

README fetched from the repository 2 hours ago. The original is authoritative.

Questions

About Scope Recall Hermes

How do I install Scope Recall Hermes?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Scope Recall Hermes safe to use with an AI agent?

Its trust score is 52 out of 100 (fair). It passes 4 of the 5 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Scope Recall Hermes still maintained?

Yes — the latest release is v3.10.6 (17 Oct 2026), and the last commit was 6 hours ago. The repository has 392 stars and 2 open issues.