Thoth-Mem
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| THOTH_DATA_DIR | No | Data directory for SQLite database | ~/.thoth |
| THOTH_HTTP_PORT | No | HTTP REST API port | 7438 |
| THOTH_HYDE_MODEL | No | HyDE generation model id | onnx-community/Qwen2.5-Coder-0.5B-Instruct |
| THOTH_HYDE_ENABLED | No | Enable HyDE dual-input semantic query expansion | true |
| THOTH_KG_LLM_MODEL | No | KG LLM model id | onnx-community/Qwen2.5-Coder-0.5B-Instruct |
| THOTH_HTTP_DISABLED | No | Disable HTTP REST API bridge | false |
| THOTH_HYDE_BASE_URL | No | Optional HyDE provider base URL | unset |
| THOTH_HYDE_PROVIDER | No | HyDE generation provider (transformers_local, ollama, lmstudio) | transformers_local |
| THOTH_KG_LLM_ENABLED | No | Enable optional LLM KG enrichment for long observations | false |
| THOTH_PREVIEW_LENGTH | No | Search result preview length | 300 |
| THOTH_EMBEDDING_MODEL | No | Embedding model id | nomic-ai/nomic-embed-text-v1.5 |
| THOTH_HYDE_TIMEOUT_MS | No | HyDE timeout before raw-query-only fallback | 4000 |
| THOTH_KG_LLM_BASE_URL | No | KG LLM provider base URL for remote providers | unset |
| THOTH_KG_LLM_PROVIDER | No | KG LLM provider (transformers_local, ollama, lmstudio) | transformers_local |
| THOTH_KG_LLM_TIMEOUT_MS | No | KG LLM timeout before deterministic-only fallback | 8000 |
| THOTH_EMBEDDING_BASE_URL | No | Base URL for remote/local API providers | provider-specific |
| THOTH_EMBEDDING_PROVIDER | No | Embedding provider (transformers_local, ollama, lmstudio) | transformers_local |
| THOTH_MAX_CONTENT_LENGTH | No | Max content length (warns, never truncates) | 100000 |
| THOTH_MAX_SEARCH_RESULTS | No | Max search results returned | 20 |
| THOTH_MAX_CONTEXT_RESULTS | No | Max observations in context response | 20 |
| THOTH_EMBEDDING_DIMENSIONS | No | Optional embedding dimensions override | inferred for known models |
| THOTH_DEDUPE_WINDOW_MINUTES | No | Rolling deduplication window | 15 |
| THOTH_KG_LLM_MIN_CONTENT_CHARS | No | Minimum observation size that triggers LLM enrichment | 12000 |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| mem_saveA | Save memory. This single write tool handles observations, user prompts, session summaries, and passive learning capture. For durable observations, use kind=observation and structured content: What: [concise description] Why: [reasoning or problem] Where: [files/paths affected] Learned: [gotchas, edge cases] Use topic_key for evolving topics that should update in-place. |
| mem_recallA | Primary retrieval tool. Runs fused hybrid recall across sentence vectors, chunk vectors, keyword FTS, and knowledge-graph enrichment. |
| mem_contextA | Get recent memory context from previous sessions. Shows recent sessions, user prompts, and observations to understand what was done before. Use this at the start of a session to recover context, or when the user asks to recall past work. Returns bounded Markdown with:
Observation bodies are previewed by default; use mem_get(id=...) for full content. |
| mem_getB | Fetch a saved observation or prompt by ID. Use include_timeline=true when the surrounding observation chronology matters. |
| mem_projectB | Project-level memory navigation. Lists projects, summarizes one project, reads graph facts, or inspects topic-key memory. |
| mem_sessionA | Manage the active memory session. Use action=start at session start and action=summary before ending. |
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 has a clearly distinct role: mem_save writes, mem_recall searches semantically, mem_context provides recent session history, mem_get fetches by ID, mem_project handles project-level navigation, and mem_session manages session lifecycle. There is no notable overlap in purpose.
All tools share the 'mem_' prefix, but the pattern is inconsistent: some use verbs (save, recall, get) while others use nouns (context, project, session). This mix of verb/noun naming is readable but not as cleanly patterned as a consistent verb_noun convention.
With 6 tools, the server is well-scoped for a memory management system. Each tool covers a distinct aspect (write, recall, context, fetch, project, session), and the count is comfortably within the ideal range.
The tool surface covers the core memory lifecycle: save, recall, get by ID, session context, and project navigation. Minor gaps include the lack of an explicit delete operation, but the save tool's in-place topic updates partially mitigate this, and the domain is otherwise well-covered.