remem-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TDAI_QUIET | No | Suppress hook feedback (set to 1 to enable) | |
| TDAI_DB_PATH | No | DB path (default ~/.local/share/remem-mcp/memory.db) | ~/.local/share/remem-mcp/memory.db |
| TDAI_CORE_ONLY | No | Core-only mode, disables advanced tools (set to 1 to enable) | |
| TDAI_RETRO_DAYS | No | Retro window in days (default 7) | 7 |
| TDAI_LLM_API_KEY | No | LLM API key for pipeline (unset by default) | |
| TDAI_GLOBAL_ERRORS | No | Cross-project errors (set to 1 to enable) | |
| TDAI_GLOBAL_SESSION_KEY | No | Cross-project memory (unset by default) |
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 | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| recallA | Retrieve relevant past memory. Call this tool before you answer the user. Use it when the user references past work or when the task needs project context. Automatically searches both project memory and global cross-project memory (rules, learnings) when REMEM_GLOBAL_SESSION_KEY is configured. |
| captureA | Store a decision, a learning, or a task outcome to memory. Call this tool after you complete a non-trivial task, make a decision, or fix a bug with a known root cause. You can capture a single text string, or a list of role-based conversation messages. Captures are project-local by default. Write to global memory ONLY when the user explicitly asks to remember something across projects/globally; then pass session_key="global". |
| feedbackA | Record a quality signal for a recalled memory. Call this AFTER using a recall result: use 'helpful' if the memory answered your question, 'not_helpful' if it was irrelevant, 'stale' if the information is outdated, or 'wrong' if it is incorrect. This creates a feedback flywheel — useful memories rise, unhelpful ones fade. Do not call this for memories you have not actually used. |
| searchA | Search memory by keyword or by semantic similarity. Use this tool when recall is too broad and you need specific facts. Automatically searches both project and global cross-project memory when REMEM_GLOBAL_SESSION_KEY is configured. |
| explain_recallA | Explain WHY a memory was recalled for a given query. Shows the BM25 score, vector score, RRF fused score, rank, and matching keywords for each result. Use this to debug unexpected recall results or to understand the retrieval pipeline. If you provide a capture_id, the tool explains why that specific capture was or was not retrieved. |
| relatedA | Find memories connected to a given memory by shared tags, project, or co-occurrence. Use this after recall or search to discover related context you might have missed. Inspired by graph spreading-activation (Mnema pattern). |
| forgetB | Delete specific memory entries. Use this tool only when the user requests a deletion. Do not auto-forget. |
| resolveA | Resolve a conflict between two captures. Mark one as the winner and the other as stale. Call this tool when capture reports a conflict between two memories. |
| handoffA | Write a structured handoff packet for the next agent session. Call this tool at the end of a session, or before you switch to a different agent. The next agent calls recall to load this packet and continue without re-reading files. This saves 60-85% of tokens compared to re-discovering context. |
| adrA | Record an Architecture Decision Record (ADR). Use this tool when you make a technical decision that future agents should know about. The ADR is stored as a structured capture and can be recalled by any agent working on the same project. |
| knowledge_createA | Register a knowledge asset (wiki or code-graph) for the team. The asset metadata is stored locally. The actual content is processed by an external knowledge service. |
| knowledge_getA | Get a single knowledge asset by ID. |
| knowledge_listB | List knowledge assets for a team. Optionally filter by type. |
| knowledge_deleteB | Delete one or more knowledge assets by ID. |
| scenario_createA | Consolidate multiple L1 atoms into an L2 scenario summary. Call this when you have 5+ atoms about the same topic — it creates a high-signal summary that recall injects in ~100 tokens instead of 5+ individual atoms. No LLM needed — you write the summary yourself based on the atoms you've seen. |
| persona_updateA | Update the L3 persona profile for this user/team. Call this when you notice a user preference or pattern (e.g., 'prefers concise output', 'works in Vietnamese', 'uses AZR project'). Persona is injected at SessionStart — every session gets it automatically in ~50 tokens. No LLM needed — you write the trait/value yourself. |
| skill_getA | Get a single skill by ID, including its full content and version. |
| skill_listA | List skills bound to a team. Optionally filter by agent. |
| skill_searchA | Search skills by keyword. Returns matching skills with descriptions. |
| codegraph_indexA | Index a file or directory into the code graph. Extracts symbols (functions, classes, methods), call relationships, and imports. Supports TypeScript, JavaScript, Python, Go, Rust, Java, C, C++, C#. Note: codegraph_search auto-indexes on first use, so you only need this for explicit re-indexing or custom paths. |
| codegraph_searchA | Search for code symbols by name. Returns matching functions, classes, methods, etc. with file paths and line numbers. Use this INSTEAD of grep when looking for function/class/method definitions. If the codebase hasn't been indexed yet, this starts background indexing and asks you to retry in a few seconds — non-blocking, so you can continue working while indexing runs. |
| codegraph_callersA | Find all callers of a symbol — who calls this function? Returns the calling functions with file paths and line numbers. Requires the symbol ID from codegraph_search. |
| codegraph_calleesA | Find all callees of a symbol — what does this function call? Returns the called functions with file paths and line numbers. Requires the symbol ID from codegraph_search. |
| codegraph_impactA | Perform impact analysis: if I change this symbol, what else might be affected? Traverses the call graph upward (callers of callers) to find all potentially impacted code. Requires the symbol ID from codegraph_search. |
| codegraph_listA | List all symbols in a file or directory. Returns symbols sorted by line number. Use this to get an overview of what a file contains. |
| codegraph_detect_changesA | Detect uncommitted git changes and map them to affected symbols with blast radius. Runs |
| codegraph_statsA | Return indexed CodeGraph statistics: total symbols, calls, resolved calls, imports, and file counts. Optionally scoped to a repo_path. Use this to check indexing coverage before searching. |
| wiki_ingestA | Ingest markdown documentation files into the wiki. Parses frontmatter, headings, [[wikilinks]], and text links to build a structured page graph. Supports .md and .markdown files. |
| wiki_searchA | Search wiki pages by content. Returns matching pages with title, file path, and a snippet. Use this to find documentation relevant to a topic. |
| wiki_getA | Get a wiki page by ID, including its links and backlinks. Use this to read a specific page and see what it links to and what links to it. |
| wiki_outdatedA | Find wiki pages whose source file has changed since the last ingest. Returns pages that need re-ingesting because the source markdown was modified or deleted. |
| updateA | Update an existing memory entry. Use this when a capture needs corrections (wrong info, missing tags, needs rewording). Preserves the original ID and created_at. |
| consolidateA | Find and merge duplicate or near-duplicate memories. Use this when you suspect redundant captures (e.g. same decision captured twice). Returns groups of similar captures. Set confirm=true to merge them. Use batch_size to limit how many captures are processed in one call (cost control). |
| statsA | Query memory statistics: total captures, breakdown by type, top tags, session count, date range, and database size. Use this to understand memory health and coverage. No arguments needed — returns a summary. |
| confirmA | Confirm that a memory is accurate. Increments the Bayesian confirmation count, raising its confidence score in future searches. Use when a recalled memory proved helpful and correct. |
| correctA | Mark a memory as inaccurate or outdated. Increments the Bayesian correction count, lowering its confidence score in future searches. Use when a recalled memory was wrong, misleading, or superseded by newer information. |
| supersedeA | Mark an old memory as superseded by a newer one. The old memory's superseded_by field is set, and it will be filtered out of search results (unless explicitly requested). Use when a fact has changed (e.g. 'database is MySQL' → 'database is PostgreSQL'). |
| record_outcomeA | Record whether a correction was heeded (agent followed the advice) or recurred (same error happened again). This tracks correction effectiveness over time. Call after applying a correction to a recalled memory. |
| correction_kpisA | Get correction learning metrics: total corrections, average precision, heed rate, noise candidates (precision < 0.3), and high-signal candidates (precision >= 0.8). Use this to evaluate memory quality and identify unhelpful corrections to prune. |
| session_startA | Open a session and return recent context. Call this at the start of a multi-turn conversation to get a summary of recent captures and correction alignment metrics. Returns both project-specific and global cross-project memory when configured. |
| session_endA | Close a session and optionally capture a summary. Call this at the end of a conversation to record what was accomplished. |
| session_checkpointA | Create a checkpoint of the current session state. Returns a checkpoint ID that can be used to resume later. Stores recent captures as a named snapshot. |
| healthA | Diagnose memory server health: DB integrity, index status, capture count, schema version, embedding model. |
| canvas_getA | Get the Mermaid task canvas for the current session. The canvas is a symbolic graph of tool calls and state transitions — it replaces verbose tool logs in your context with a compact Mermaid diagram. Use this to see the task structure without re-reading full tool outputs. Requires REMEM_OFFLOAD_ENABLED=true and pipeline=mermaid. |
| ref_readA | Read the raw tool output for a specific canvas node by node_id. Use this to drill down from the Mermaid canvas to the full output when you need details. Requires REMEM_OFFLOAD_ENABLED=true and pipeline=mermaid. |
| skill_createA | Create a reusable skill (SOP) from a successful task or conversation. Skills are injected into recall when matching trigger conditions are met. Use this after completing a non-trivial task to capture the workflow for reuse. |
| skill_archiveA | Archive a skill — forces it to always be injected into recall, even when the query doesn't strongly match. Use this for critical SOPs that must always be available. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Recent captures | The 20 most recent memory captures. |
| Memory statistics | Summary statistics for the memory database. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tinhien11/remem-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server