Rememb
Rememb gives AI agents persistent, local memory across sessions — stored as plain JSON with no cloud or API keys required.
Initialize memory store (
rememb_init): Set up a.rememb/folder in the current project directory (idempotent); optionally assign a project name.Read memory (
rememb_read): Load all stored memory entries, optionally filtered by section (project,actions,systems,requests,user,context).Search memory (
rememb_search): Find specific entries using semantic similarity search with keyword fallback, returning the top-K most relevant results.Write memory (
rememb_write): Save a new memory entry with content, an optional section category, and optional tags — returns a unique entry ID.Edit memory (
rememb_edit): Update an existing entry in-place by ID, modifying only specified fields (content, section, and/or tags).Delete a single entry (
rememb_delete): Permanently remove one memory entry by its ID.Clear all memory (
rememb_clear): Permanently delete every memory entry at once; requires explicitconfirm: trueas a safety guard.
Memory is organized into six sections: project (tech stack, architecture), actions (decisions made), systems (services, integrations), requests (user preferences), user (name, style, expertise), and context (anything else).

Operate AI agents without losing context between sessions. rememb is a local-first persistent memory layer: structured entries, keyword search, versioning, diff, restore, and audit trail — no cloud service required.
Related MCP server: engram-mcp
The problem
Teams using agents at real velocity rarely fail because they lack generation. They fail because operating agents every day creates context debt:
too much re-explaining project facts every session
too little durable memory outside the chat window
too little audit trail for why something changed
too much noise when recalling the right context
Every team or solo developer operating agents professionally hits this wall:
Session 1: "We're using PostgreSQL, auth at src/auth/, prefer async patterns."
Session 2: Agent starts from zero. You explain everything again.
Session 3: Same thing.Existing solutions often center on hosted memory layers, API keys, or opaque context pipelines. What you actually need is to resume the next session with the minimum correct context and a trail you can inspect.
rememb is built around four memory problems:
durable facts and decisions instead of session-only chat memory
keyword search instead of rereading everything (agents judge relevance)
non-destructive versioning instead of silent overwrites
local-first audit trail for AI work, not opaque cloud logs
Install
pip install remembQuick Start
With MCP (recommended)
Zero friction. No CLI commands. Native IDE integration.
1. Add to your IDE's MCP config:
{
"mcpServers": {
"rememb": {
"command": "rememb",
"args": ["mcp"]
}
}
}2. Restart your IDE.
The agent can read stored context at session start, write durable memory when something changes, and search only when targeted recall is needed.
If you want rememb usage to stay consistent, add a rememb-specific instruction block in your IDE custom instructions or in the MCP client prompt that wraps the agent. The point is to make the agent route reads, writes, search, recovery, and maintenance through rememb instead of ad hoc prompt memory.
You can place that block in either of these places:
IDE-level custom instructions
the system prompt or instruction field of the MCP client that is calling rememb
In both cases, keep the scope explicit: these rules are about how the agent should use rememb, not about replacing the rest of your coding instructions.
For the exact copy-paste block, use the canonical rules section in MCP_TOOLS.md.
No extra storage setup, server config, or schema migration is required. In MCP mode, rememb resolves storage home-first and auto-initializes ~/.rememb when needed.
For the current public MCP tool list (17 tools) and descriptions, see MCP_TOOLS.md.
If you want multiple MCP clients on the same machine to reuse one already-running rememb process, start a persistent local SSE transport:
rememb mcp --transport sse --host 127.0.0.1 --port 8765This keeps one MCP process alive, so repeated clients can connect through http://127.0.0.1:8765/sse and http://127.0.0.1:8765/messages/.
Do not put --transport sse inside a stdio MCP client config. stdio clients expect JSON-RPC on stdin/stdout; the SSE mode exposes an HTTP endpoint and must be started separately.
Local usage without MCP
rememb # Open the web UI (http://localhost:18181)
rememb --port 9000 # Custom portHow it works
~/.rememb/ ← default store location (MCP and Web UI)
entries.json ← default JSON backend (or entries.db with SQLite)
meta.json ← project metadata
config.json ← limits, sections, storage backend, UI pagingA local store on disk. Your agent can read prior decisions, search by keywords and tokens, update entries without losing history, and restore previous versions without depending on a cloud memory service. Copy ~/.rememb/ anywhere to move the store.
User: "We're using PostgreSQL, auth at src/auth/, async patterns"
Agent: [rememb_write] → Saved
[New session]
Agent: [rememb_read] → Context loaded
Agent: "I see you're using PostgreSQL with auth at src/auth/..."These map to rememb_write, rememb_edit, and rememb_delete. For the full MCP surface, see MCP_TOOLS.md.
Search uses keyword and token matching over entry content and tags. rememb returns full matches; the agent applies semantic relevance judgment. No API keys, no cloud, no embedding model download at runtime.
config.json is written during initialization with all supported knobs:
{
"max_content_length": 1000000,
"max_tag_length": 500,
"max_tags_per_entry": 100,
"max_entries": 100000,
"sections": ["project", "actions", "systems", "requests", "user", "context"],
"section_colors": {
"project": "#d84848",
"actions": "#d08020",
"systems": "#d4c430",
"requests": "#40c040",
"user": "#20d4c4",
"context": "#c060f0"
},
"entry_batch_size": 24,
"entry_load_threshold": 6,
"storage_backend": "json"
}Set storage_backend to sqlite for larger stores. The Web UI and MCP migrate existing JSON entries automatically when you switch backends.
entry_batch_size and entry_load_threshold control pagination in the web UI — how many cards load at once and when to trigger "load more".
Section names are normalized to lowercase, duplicates are ignored after normalization, and removing a section with existing entries automatically migrates those entries to uncategorized. meta.json is kept in sync with the current effective section list.
Older stores may still contain legacy embedding-related config keys; they are dropped the next time configuration is loaded or saved.
Memory sections
Section | What to store |
| Tech stack, architecture, goals |
| What was done, decisions made |
| Services, modules, integrations |
| User preferences, recurring asks |
| Name, style, expertise, preferences |
| Anything else relevant |
Web UI
rememb includes a local web interface for supervision — browse memory, inspect history, and tune runtime settings. Entry writes and edits go through MCP; the Web UI does not expose create/edit/delete controls for entries.
rememb # Open the web UI (http://localhost:18181)
rememb --host 0.0.0.0 # Bind to all interfaces
rememb --port 9000 # Custom port
rememb --no-browser # Start server without opening the browser
Overview with entry totals and recent memory activity.

Stats with totals, section breakdown, date range, and recent entries.

Settings for limits, storage backend, section colors, and maintenance actions.

Skills browser for bundled agent skills included with rememb.
Views:
Overview — entry totals, deleted count, store size, and recent memory
Memory — browse, keyword search, filter by section, sort, and include deleted entries
Stats — totals, backend, section bars, oldest/newest timestamps, and recent entries
Settings — edit limits, storage backend, section colors, consolidate duplicates, and save runtime config
Skills — browse bundled agent skills (60 skills shipped in the package)
Entry inspection from the UI includes version history and side-by-side diff. Restore is available through MCP (rememb_restore); the Web UI is read-only for entry mutations.
rememb_search accepts an optional exact tag filter, so IDE clients can restrict keyword matches before ranking.
CLI
rememb # Open the web UI (http://localhost:18181)
rememb --host 0.0.0.0 --port 18181 --no-browser # Custom bind, no auto-open
rememb mcp # Start MCP server over stdio
rememb mcp --transport sse --host 127.0.0.1 --port 8765 # One persistent local MCP process
rememb --version, -v # Show version
rememb --help, -h # Show helpCompatibility
The current compatibility surface is tracked explicitly in COMPATIBILITY.md.
Short version:
Python 3.10 to 3.12 are covered by CI
CLI contract and MCP tool schema (17 tools) have automated test coverage
stdio MCP is the primary documented integration path
SSE MCP is documented and partially tested at the route level
release automation and Trusted Publishing are documented in RELEASE.md
Design
Local first — plain JSON or SQLite on disk
Portable — copy
~/.rememb/anywhere, it worksAgnostic — any agent, any IDE (MCP or CLI)
No lock-in — no servers, no API keys, no accounts
Core capabilities:
structured memory with sections and tags
keyword search with agent-side relevance judgment
non-destructive versioning, diff, restore, and soft delete
duplicate consolidation (exact content) and store stats
config and maintenance via Web UI (settings only; entry writes via MCP)
60 bundled agent skills via Web UI and MCP
Contributing
git clone https://github.com/LuizEduPP/Rememb
cd Rememb
pip install -e ".[dev]"PRs welcome. Issues welcome. Stars welcome. 🌟
License
MIT
Available Tools
12 toolsrememb_clearA
Permanently delete ALL memory entries at once. Irreversible — no recovery is possible after this operation. Requires confirm=true as a safety guard. Use rememb_delete to remove a single entry by ID instead. Only use this to fully reset the memory store.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | Yes | Must be true to confirm deletion |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the tool's destructive nature ('Permanently delete', 'Irreversible — no recovery is possible'), safety mechanism ('Requires confirm=true as a safety guard'), and scope ('ALL memory entries at once'). However, it doesn't mention potential side effects like error handling or system state changes beyond deletion.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured with four sentences that each add value: stating the action and irreversibility, specifying the safety parameter, differentiating from the sibling tool, and providing usage context. There is no redundant or wasted information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations and no output schema, the description does well by covering purpose, guidelines, and behavioral transparency. It could be more complete by mentioning what 'memory entries' entail or potential confirmation feedback, but it adequately addresses the core context given the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents the single parameter (confirm). The description adds context by explaining its purpose as a 'safety guard', but doesn't provide additional semantic details beyond what the schema states. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Permanently delete ALL memory entries at once') and distinguishes it from the sibling tool rememb_delete, which removes a single entry by ID. It explicitly identifies the resource (memory entries) and scope (all at once).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool ('Only use this to fully reset the memory store'), when not to use it (implied by the alternative), and names the alternative tool ('Use rememb_delete to remove a single entry by ID instead'). It also includes a prerequisite ('Requires confirm=true as a safety guard').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rememb_consolidateA
Consolidate duplicate entries and merge metadata (tags and access data). Supports exact mode (default, normalized content match) and semantic mode (cosine similarity threshold). This mutates storage by removing redundant entries and keeping one consolidated record per duplicate group.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Consolidation mode: exact (normalized content) or semantic (similarity threshold) | exact |
| section | No | Optional section filter: project, actions, systems, requests, user, context | |
| similarity_threshold | No | Cosine similarity threshold used when mode is semantic (>0 and <=1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Explicitly states that the tool mutates storage by removing redundant entries, which is a critical behavioral trait. Without annotations, this disclosure is valuable. However, it does not cover potential side effects like irreversibility or what happens to merged metadata in conflicts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, first sentence clearly states purpose, second adds behavioral note and modes. Efficient and front-loaded, though could mention return value or more details without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, the description explains the core action but omits details like how merged metadata is handled, conflict resolution, or what the tool returns. Could be more complete given the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since schema description coverage is 100%, the baseline is 3. The description repeats mode and threshold info already in the schema, adding little extra meaning. It does not clarify default values beyond what the schema says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool consolidates duplicate entries and merges metadata. Specifies two modes (exact and semantic) and their basis (normalized content match, cosine similarity). This distinguishes it from sibling tools like rememb_delete or rememb_clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes the two modes but does not explicitly state when to choose one over the other or when not to use this tool. Siblings such as rememb_delete exist for removing specific entries, but no guidance on consolidation vs deletion is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rememb_deleteA
Permanently delete a single memory entry by its ID. Deletion is irreversible — the entry cannot be recovered. No cascading side effects. Use rememb_edit to update instead. Use rememb_clear to delete all entries at once.
| Name | Required | Description | Default |
|---|---|---|---|
| entry_id | Yes | Entry ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and effectively discloses key behavioral traits: it specifies that deletion is 'permanent' and 'irreversible,' clarifies there are 'no cascading side effects,' and distinguishes it from update operations. It doesn't cover aspects like error handling or permissions, but provides substantial context for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by critical warnings and sibling comparisons. Every sentence earns its place: the first states the action, the second warns of irreversibility, the third clarifies side effects, and the last two provide usage alternatives. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (destructive operation with no annotations or output schema), the description is largely complete: it covers purpose, irreversible nature, lack of side effects, and sibling distinctions. It doesn't specify return values or error cases, but for a single-parameter delete tool, this is sufficient for safe use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents the 'entry_id' parameter. The description adds no additional semantic details about the parameter beyond implying it's used for deletion. This meets the baseline of 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('permanently delete') and resource ('a single memory entry by its ID'), distinguishing it from siblings like rememb_edit (update) and rememb_clear (delete all). It avoids tautology by not just restating the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance is provided on when to use this tool vs. alternatives: 'Use rememb_edit to update instead. Use rememb_clear to delete all entries at once.' This directly addresses sibling tools and clarifies the scope of deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rememb_editA
Update an existing memory entry in-place by its ID. Modifies only the fields provided (content, section, or tags) — omitted fields are unchanged. Non-destructive: the entry is updated, not deleted and recreated. Use rememb_write to create new entries, rememb_delete to permanently remove one.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Replace tags | |
| content | No | New content | |
| section | No | Move to different section | |
| entry_id | Yes | Entry ID (8 hex characters) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses key behavioral traits: the operation is 'non-destructive' (the entry is updated, not deleted and recreated), it modifies only provided fields, and it works on existing entries by ID. However, it doesn't mention potential errors (e.g., invalid ID), permissions, or rate limits, leaving some gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by behavioral details and usage guidelines. Every sentence earns its place: the first defines the action, the second explains partial updates, the third clarifies non-destructiveness, and the fourth provides sibling alternatives. No wasted words, and structure supports quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description does well by covering purpose, behavior, and guidelines. However, as a mutation tool, it lacks details on error cases, response format, or side effects (e.g., whether updates are logged). It's mostly complete but could be enhanced with more operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters (entry_id, content, section, tags) with descriptions. The description adds marginal value by clarifying that omitted fields are unchanged and that section can be moved, but this mostly reinforces the schema. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'update' and resource 'existing memory entry' with specific scope 'in-place by its ID', distinguishing it from siblings like rememb_write (create new) and rememb_delete (remove). It explicitly mentions what fields can be modified (content, section, or tags), making the purpose highly specific and differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool vs. alternatives: 'Use rememb_write to create new entries, rememb_delete to permanently remove one.' It also clarifies that omitted fields remain unchanged, helping the agent understand the partial update behavior. This gives clear context for tool selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rememb_initA
Initialize rememb memory storage. Useful for explicit setup and recovery flows. Home-first root resolution also auto-initializes ~/.rememb when needed, and this tool remains idempotent and safe to call repeatedly.
| Name | Required | Description | Default |
|---|---|---|---|
| project_name | No | Optional project name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behaviors. It states the tool is idempotent and safe to call repeatedly, which is helpful. However, it does not explain what exactly is initialized (e.g., files, directories), required permissions, or return values, leaving some behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three clear sentences, front-loaded with the core purpose, and no unnecessary words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one optional parameter, no output schema, and no annotations, the description covers purpose, usage context, and safety. It could be more complete by hinting at return values, but overall it is adequate for a simple initialization tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the single parameter 'project_name' is described as 'Optional project name'). The tool description adds no additional meaning or usage guidance for this parameter beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Initialize rememb memory storage' using a specific verb and resource. It distinguishes from siblings by focusing on initialization, but does not explicitly contrast with other tools like rememb_clear or rememb_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains it is 'useful for explicit setup and recovery flows' and notes that auto-initialization may cover needs, providing context on when to use. It also mentions idempotency, implying safe repeated calls, but lacks explicit when-not scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rememb_list_skillsA
List bundled rememb skills discovered from the installed package contents. Safe, read-only operation.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It correctly declares the operation as 'Safe, read-only operation', but provides no additional behavioral details such as output format or potential side effects. Transparency is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, no wasted words. The key action and safety trait are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description covers the essential purpose and safety. It could elaborate on what 'bundled rememb skills' are, but it is sufficiently complete for a simple list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the baseline is 4. The description does not add parameter semantics, but none are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'List bundled rememb skills' and specifies the source 'from the installed package contents'. It distinguishes itself from sibling tools like rememb_delete or rememb_write which are mutations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating it's a safe, read-only list operation, but does not explicitly state when to use it over alternatives like rememb_use_skill. However, given its unique purpose among siblings, it is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rememb_readA
Read all memory entries or filter by section. Safe, read-only operation with no side effects. Use this at the start of every session to load context. Prefer rememb_search when looking for specific information by keyword or topic.
| Name | Required | Description | Default |
|---|---|---|---|
| section | No | Filter by section: project, actions, systems, requests, user, context | |
| max_chars | No | Maximum characters of content to include per entry | |
| summary_only | No | Render a compact one-line summary per entry |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Declares the operation as safe and read-only with no side effects, which is sufficient given no annotations. Could mention response formatting or limits, but the parameter max_chars hints at content control.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences covering purpose, safety, usage guideline, and sibling differentiation. No superfluous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (3 parameters, no output schema), the description provides adequate context: purpose, safety, usage recommendation, and comparison to sibling. Minor omission: default behavior when no section is specified (reads all) is implied but not explicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed parameter descriptions. The tool description only restates the filtering capability, adding no new semantic information beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool reads memory entries, with optional filtering by section. Differentiates from sibling rememb_search by specifying its use for keyword search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use advice (start of every session to load context) and when to prefer alternative (rememb_search for specific keywords). This fully addresses usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rememb_read_pageA
Read a paginated slice of entries with server-side truncation. Best for browsing large stores without flooding the context window.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Optional exact tag filter applied before pagination | |
| limit | No | Maximum entries to return | |
| offset | No | Zero-based page offset | |
| section | No | Optional section filter: project, actions, systems, requests, user, context | |
| sort_by | No | Sort order before pagination | storage |
| max_chars | No | Maximum characters of content to include per entry | |
| descending | No | Reverse the selected sort order | |
| summary_only | No | Render a compact one-line summary per entry |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, description carries full burden. It mentions 'server-side truncation' and 'paginated slice', adding behavioral traits. However, it does not detail response format, error behavior, or permission requirements, leaving gaps for an 8-parameter tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, direct, no wasted words. Front-loaded with purpose and key benefit.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 8 parameters and no output schema, description is brief. Covers main purpose but lacks details on sort, filters, and output shape. Adequate but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. Description adds no parameter-specific details beyond the schema, just reiterating the overall pagination concept.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Read a paginated slice of entries', giving a specific verb and resource. It distinguishes from sibling 'rememb_read' (likely non-paginated) through the pagination and 'best for browsing large stores' hint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Best for browsing large stores without flooding the context window', providing clear context for when to use. Does not explicitly exclude small stores or name alternatives, but hints at alternatives via sibling context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rememb_searchA
Search memory entries by content or tags using semantic similarity. Safe, read-only operation with no side effects. Use instead of rememb_read when you need to find specific entries by topic rather than loading all entries. Returns the top_k most relevant results ranked by similarity.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Optional exact tag filter applied before semantic search | |
| query | Yes | Search query - natural language or keywords | |
| top_k | No | Maximum number of results | |
| section | No | Optional section filter: project, actions, systems, requests, user, context | |
| max_chars | No | Maximum characters of content to include per entry | |
| summary_only | No | Render a compact one-line summary per entry |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description declares it as a safe, read-only operation with no side effects, and explains semantic similarity ranking. It could mention result format or pagination, but overall transparency is good.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences efficiently cover purpose, safety, usage guidance, and result ranking. Front-loaded with main action; no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 6 parameters and no output schema, the description adequately explains the main behavior and parameter interactions. Could elaborate on return structure, but completeness is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (all 6 parameters have descriptions). The description adds value by explaining semantic similarity, 'top_k most relevant results', and that tag filter applies before semantic search, going beyond schema basics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches memory entries by content or tags using semantic similarity, and distinguishes it from siblings like rememb_read (loading all entries) by focusing on specific topic finding.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises using this tool instead of rememb_read when seeking specific entries by topic, providing clear context. However, it does not elaborate on when not to use it or other alternatives among the 12 siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rememb_statsA
Return memory usage statistics: total entries, size in KB, oldest and newest entry dates, and count per section. Safe, read-only operation with no side effects. Use to give the user an overview of their memory store or to decide if cleanup is needed.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states 'Safe, read-only operation with no side effects,' which covers safety and mutability. However, it lacks details on performance (e.g., response time) or potential errors, leaving some behavioral aspects unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose in the first sentence, followed by behavioral context and usage guidelines. Every sentence adds value without redundancy, and it's efficiently structured in two sentences, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (0 parameters, no output schema, no annotations), the description is mostly complete. It covers purpose, behavior, and usage. However, without an output schema, it could benefit from hinting at the return format (e.g., structured data with the listed metrics), leaving a minor gap in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately adds no parameter details, focusing on the tool's purpose instead. A baseline of 4 is applied since no parameters exist, and the description doesn't introduce unnecessary complexity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('Return memory usage statistics') and resources ('memory store'), listing concrete metrics like total entries, size, dates, and counts. It distinguishes from siblings like rememb_clear (cleanup) and rememb_read (specific entries) by focusing on aggregate statistics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool: 'to give the user an overview of their memory store or to decide if cleanup is needed.' It distinguishes from alternatives by implying that other tools (e.g., rememb_clear for cleanup) are for actions based on this overview, providing clear context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rememb_use_skillA
Load one bundled rememb skill by identifier or exact declared name and return its instructions. Safe, read-only operation. Use rememb_list_skills first to inspect available skills.
| Name | Required | Description | Default |
|---|---|---|---|
| skill | Yes | Skill identifier (directory name) or exact declared skill name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Explicitly declares 'Safe, read-only operation' in the absence of annotations, disclosing its non-destructive nature. Adds that it returns instructions, providing clear behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. First sentence states purpose and behavior, second gives usage guidance. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description is sufficiently complete. It could mention the return format of instructions, but not required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no new information beyond what the schema already provides (skill identifier or exact name).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific action 'load' on a 'bundled rememb skill' and distinguishes between identifier and exact name. It clearly differentiates from sibling tools like rememb_list_skills, which inspects skills.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance to use 'rememb_list_skills first to inspect available skills', indicating when this tool should be used. Missing explicit exclusions but sufficient for the task.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rememb_writeA
Save a new memory entry. Creates a new entry and returns its ID — does not overwrite existing entries. Use when you learn something new worth remembering across sessions. Use rememb_edit instead to update an existing entry by ID. semantic_scope controls whether semantic duplicate blocking checks globally or only inside the target section.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tags to categorize this entry | |
| content | Yes | Content to remember (1-3 sentences) | |
| section | No | Section: project, actions, systems, requests, user, context | context |
| semantic_scope | No | Semantic duplicate guard scope: global (all sections) or section (target section only) | global |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description carries full burden. Discloses creation, ID return, non-overwriting, and semantic duplicate blocking, but does not detail blocking behavior (e.g., whether it prevents creation or merely checks), nor any authorization or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences front-load purpose and usage, zero waste. Every sentence adds distinct value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers creation, ID return, duplicate blocking scope. No output schema, but mentions return value ('returns its ID'). Sufficient for a 4-param tool with full schema docs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage (baseline 3). Description adds value by explaining that semantic_scope controls duplicate blocking behavior across sections, clarifying intent beyond enum values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb ('Save', 'Creates') and resource ('memory entry'), explicitly notes it does not overwrite, and implies returns ID. Distinguishes from sibling rememb_edit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use when you learn something new worth remembering across sessions' and directs to rememb_edit for updating. Provides clear context and alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
7 tool updates
v0.4.11- Added
rememb_consolidate - Added
rememb_list_skills - Changed
rememb_read2 fields changed- added
Input schema / properties / max_charsAdded value: +{ + "description": "Maximum characters of content to include per entry", + "type": "integer" +} - added
Input schema / properties / summary_onlyAdded value: +{ + "default": false, + "description": "Render a compact one-line summary per entry", + "type": "boolean" +}
- Added
rememb_read_page - Changed
rememb_search4 fields changed- added
Input schema / properties / max_charsAdded value: +{ + "description": "Maximum characters of content to include per entry", + "type": "integer" +} - added
Input schema / properties / sectionAdded value: +{ + "description": "Optional section filter: project, actions, systems, requests, user, context", + "enum": [ + "project", + "actions", + "systems", + "requests", + "user", + "context" + ], + "type": "string" +} - added
Input schema / properties / summary_onlyAdded value: +{ + "default": true, + "description": "Render a compact one-line summary per entry", + "type": "boolean" +} - added
Input schema / properties / tagAdded value: +{ + "description": "Optional exact tag filter applied before semantic search", + "type": "string" +}
- Added
rememb_use_skill - Changed
rememb_write1 field changed- added
Input schema / properties / semantic_scopeAdded value: +{ + "default": "global", + "description": "Semantic duplicate guard scope: global (all sections) or section (target section only)", + "enum": [ + "global", + "section" + ], + "type": "string" +}
1 tool update
v0.1.2- Added
rememb_stats
7 tool updates
v0.1.0- First observed
rememb_clear - First observed
rememb_delete - First observed
rememb_edit - First observed
rememb_init - First observed
rememb_read - First observed
rememb_search - First observed
rememb_write
TDQS
Each tool has a clearly distinct purpose. Reading, searching, deleting, editing, and management operations are all uniquely defined without overlap.
All tools follow the consistent 'rememb_verb_noun' pattern with underscore separation, making them predictable and easy to understand.
12 tools cover the full lifecycle of memory management (CRUD, consolidation, statistics, skills) without being excessive or insufficient.
The tool set provides complete coverage for a memory store: create, read (with pagination and search), update, delete (single and bulk), initialization, statistics, and skill management.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Persistent memory for AI agents. Search, store, and recall across sessions.
Persistent memory for AI agents. Semantic search, memory graph, W3C DID identity.
Universal memory for AI agents and tools. Save, organize and search context anywhere.
Persistent memory for AI agents. Search and store durable facts, preferences and decisions.
Related MCP Servers
AlicenseAqualityFmaintenanceAn MCP server that integrates with mem0.ai to help users store, retrieve, and search coding preferences for more consistent programming practices.29658Apache 2.0- AlicenseAqualityCmaintenancePersistent semantic memory for AI agents. SQLite-backed, local-first, zero config. Semantic search via Ollama embeddings with keyword fallback. Tools: remember, recall, history, forget, stats.17371MIT
- AlicenseNot gradedqualityDmaintenanceSelf-hosted semantic memory for AI agents. Save worklogs, decisions, and notes via MCP, then recall them across sessions by meaning rather than keyword. Backed by Postgres + pgvector with local embeddings (multilingual-e5-base).1MIT

openchronicle-mcpofficial
AlicenseNot gradedqualityDmaintenancePersistent memory database for LLM agents with hybrid semantic/keyword search, project scoping, and git commit clustering.AGPL 3.0
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/LuizEduPP/Rememb'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
