hermes-memory-rag
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HERMES_RAG_STORE | No | Where the store lives. | ~/hermes-rag |
| HERMES_RAG_MAX_CHARS | No | Characters allowed per returned hit. | 600 |
| HERMES_RAG_WIKI_ROOT | No | Where the markdown pages live. | ~/.hermes/wikis |
| HERMES_RAG_MEMORY_CAP | No | Notes allowed in the staging layer before the oldest are dropped. | 50 |
| HERMES_RAG_OLLAMA_URL | No | Where ollama is. | http://localhost:11434 |
| HERMES_RAG_EMBED_MODEL | No | Which ollama model embeds text. | nomic-embed-text |
| HERMES_RAG_EDITOR_MODEL | No | The model that merges notes into the wiki. | granite4:3b |
| HERMES_RAG_PROJECTS_FILE | No | Which project a directory belongs to. | ~/.hermes/projects.yaml |
| HERMES_RAG_CHUNK_CHAR_CAP | No | Largest piece of text sent to the embedder. | 4500 |
| HERMES_RAG_SKIP_JSON_DIRS | No | Comma-separated directories whose generated JSON should never be indexed. | |
| HERMES_RAG_CONSOLIDATE_THRESHOLD | No | When a merge is reported as due. | 10 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| recallA | Layered context recall for a project: wiki (map) → code (detail) →
memory (prior session learnings). Bounded output; honest per-layer status.
|
| learnA | Deposit ONE learning into the project's episodic memory (staging area). kind may carry a module prefix for consolidation routing, e.g. 'rag:gotcha' or 'config:decision'. Learnings only — routine actions are logging, not learning, and belong in session transcripts.
|
| retireA | Withdraw a memory note that nothing replaces — a fact found to be wrong, or one that no longer applies. The note stays in the store (so the withdrawal is reversible and the history readable) but recall stops returning it.
|
| statsC | Layer counts + wiki-earn suggestion for a project. The suggestion rule: (≥3 sessions AND ≥5 learnings) OR (≥3 architecture-phrased recalls) on a project with no wiki → suggest generating the wiki. |
| ingest_codeA | Index a repo's source files into the project's code layer. Skips vendored/binary/hidden dirs; deterministic IDs make unchanged chunks idempotent; rebuild=True drops stale chunks of edited files. |
| ingest_wikiB | (Re)index a code-wiki directory (markdown) into the project's wiki
layer. Heading-aware chunking keeps |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool targets a distinct operation: recall retrieves, learn writes, retire soft-deletes, stats summarizes, and ingest_code/ingest_wiki index different source types. There is no meaningful overlap or ambiguous boundary between them.
Most names are lowercase and readable, but conventions are mixed: recall/learn/retire are bare verbs while ingest_code/ingest_wiki use verb_noun, and stats is a noun rather than an imperative verb. The pattern is not uniform, though it is still easy to parse.
Six tools is a well-scoped size for a memory/RAG server; each tool earns its place by covering a distinct lifecycle step. The count is neither bloated nor too thin.
The tool surface covers the full cycle: ingesting wiki and code, storing learnings, recalling context, soft-withdrawing obsolete notes, and inspecting project state. Update is handled through learn/supersedes and re-ingestion, so there are no obvious dead ends.