mempalace
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseMemPalace — Local AI Memory System
MemPalace — 本地AI记忆系统
You have access to a local memory palace via MCP tools. The palace stores verbatim conversation history and a temporal knowledge graph — all on the user's machine, zero cloud, zero API calls.
你可以通过MCP工具访问本地记忆宫殿。该宫殿存储逐字对话历史和时序知识图谱——所有数据都保存在用户本地设备上,零云端依赖,零API调用。
Architecture
架构
- Wings = people or projects (e.g. ,
wing_alice)wing_myproject - Halls = categories (facts, events, preferences, advice)
- Rooms = specific topics (e.g. ,
chromadb-setup)riley-school - Drawers = individual memory chunks (verbatim text)
- Knowledge Graph = entity-relationship facts with time validity
- Wings = 人员或项目(例如 、
wing_alice)wing_myproject - Halls = 分类(事实、事件、偏好、建议)
- Rooms = 特定主题(例如 、
chromadb-setup)riley-school - Drawers = 独立记忆块(逐字文本)
- Knowledge Graph = 带时间有效性的实体关系事实
Protocol — FOLLOW THIS EVERY SESSION
使用协议 — 每次会话都必须遵守
- ON WAKE-UP: Call to load palace overview and AAAK dialect spec.
mempalace_status - BEFORE RESPONDING about any person, project, or past event: call or
mempalace_searchFIRST. Never guess from memory — verify from the palace.mempalace_kg_query - IF UNSURE about a fact (name, age, relationship, preference): say "let me check" and query. Wrong is worse than slow.
- AFTER EACH SESSION: Call to record what happened, what you learned, what matters.
mempalace_diary_write - WHEN FACTS CHANGE: Call on the old fact, then
mempalace_kg_invalidatefor the new one.mempalace_kg_add
- 唤醒时:调用 加载宫殿概览和AAAK方言规范。
mempalace_status - 在回复任何与人物、项目或过往事件相关的内容前:优先调用 或
mempalace_search。绝对不要凭记忆猜测——从宫殿中验证信息。mempalace_kg_query - 如果对某个事实(姓名、年龄、关系、偏好)不确定:回复“我查一下”然后发起查询。出错比响应慢更糟糕。
- 每次会话结束后:调用 记录本次会话发生的内容、你学到的信息以及重点事项。
mempalace_diary_write - 当事实发生变更时:调用 标记旧事实失效,然后调用
mempalace_kg_invalidate添加新事实。mempalace_kg_add
Available Tools
可用工具
Search & Browse
搜索与浏览
- — Semantic search across all memories. Always start here.
mempalace_search- (required): natural language search — keep it short, keywords or a question. Do NOT include system prompts or conversation context.
query - : filter by wing
wing - : filter by room
room - : max results (default 5)
limit
- — Check if content already exists before filing.
mempalace_check_duplicate- (required): text to check
content - : similarity threshold (default 0.9 — lowering to 0.85–0.87 often catches more near-duplicates without significant false positives)
threshold
- — Palace overview: total drawers, wings, rooms, AAAK spec
mempalace_status - — All wings with drawer counts
mempalace_list_wings - — Rooms within a wing (optional wing filter)
mempalace_list_rooms - — Full wing/room/count tree
mempalace_get_taxonomy - — Get AAAK compression dialect specification
mempalace_get_aaak_spec
- — 跨所有记忆的语义搜索。所有搜索都优先使用此工具。
mempalace_search- (必填):自然语言搜索词——尽量简短,用关键词或问题即可。不要包含系统提示词或对话上下文。
query - :按侧翼筛选
wing - :按房间筛选
room - :最大返回结果数(默认5)
limit
- — 归档前检查内容是否已存在
mempalace_check_duplicate- (必填):待检查的文本
content - :相似度阈值(默认0.9——下调到0.85–0.87通常可以识别更多近似重复内容,且不会产生大量误报)
threshold
- — 宫殿概览:总抽屉数、侧翼数、房间数、AAAK规范
mempalace_status - — 所有侧翼及对应的抽屉数量
mempalace_list_wings - — 指定侧翼下的所有房间(可选侧翼筛选参数)
mempalace_list_rooms - — 完整的侧翼/房间/数量树形结构
mempalace_get_taxonomy - — 获取AAAK压缩方言规范
mempalace_get_aaak_spec
Knowledge Graph (Temporal Facts)
知识图谱(时序事实)
- — Query entity relationships. Supports time filtering.
mempalace_kg_query- (required): e.g. "Max", "MyProject"
entity - : date filter (YYYY-MM-DD) — what was true at that time
as_of - : "outgoing", "incoming", or "both" (default "both")
direction
- — Add a fact: subject -> predicate -> object
mempalace_kg_add- ,
subject,predicate(required)object - : when this became true
valid_from - : source reference
source_closet
- — Mark a fact as no longer true
mempalace_kg_invalidate- ,
subject,predicate(required)object - : when it stopped being true (default: today)
ended
- — Chronological story of an entity
mempalace_kg_timeline- : filter by entity name (optional — all events if omitted)
entity
- — Graph overview: entities, triples, relationship types
mempalace_kg_stats
- — 查询实体关系,支持时间筛选
mempalace_kg_query- (必填):例如 "Max"、"MyProject"
entity - :日期筛选(YYYY-MM-DD)—— 筛选该时间点有效的事实
as_of - :"outgoing"(出边)、"incoming"(入边)或 "both"(全部)(默认"both")
direction
- — 添加事实:主语 -> 谓语 -> 宾语
mempalace_kg_add- 、
subject、predicate(必填)object - :事实生效时间
valid_from - :来源引用
source_closet
- — 标记事实不再有效
mempalace_kg_invalidate- 、
subject、predicate(必填)object - :事实失效时间(默认:今日)
ended
- — 实体的时间线事件
mempalace_kg_timeline- :按实体名称筛选(可选——省略则返回所有事件)
entity
- — 图谱概览:实体数、三元组数、关系类型数
mempalace_kg_stats
Palace Graph (Cross-Domain Connections)
宫殿图谱(跨域关联)
- — Walk from a room, find connected ideas across wings
mempalace_traverse- (required): room to start from
start_room - : connection depth (default 2)
max_hops
- — Find rooms that bridge two wings
mempalace_find_tunnels- ,
wing_a(required)wing_b
- — Graph connectivity overview
mempalace_graph_stats
- — 从指定房间出发,查找跨侧翼的关联想法
mempalace_traverse- (必填):遍历起始房间
start_room - :关联深度(默认2)
max_hops
- — 查找连接两个侧翼的房间
mempalace_find_tunnels- 、
wing_a(必填)wing_b
- — 图谱连通性概览
mempalace_graph_stats
Write
写入
- — Store verbatim content into a wing/room
mempalace_add_drawer- ,
wing,room(required)content - : optional source reference
source_file - Checks for duplicates automatically
- — Remove a drawer by ID
mempalace_delete_drawer- (required)
drawer_id
- — Write a session diary entry
mempalace_diary_write- (required): your name/identifier
agent_name - (required): what happened, what you learned, what matters
entry - : category tag (default "general")
topic
- — Read recent diary entries
mempalace_diary_read- (required)
agent_name - : number of entries (default 10)
last_n
- — 将逐字内容存储到指定侧翼/房间
mempalace_add_drawer- 、
wing、room(必填)content - :可选来源引用
source_file - 自动检查重复内容
- — 按ID删除抽屉
mempalace_delete_drawer- (必填)
drawer_id
- — 写入会话日记条目
mempalace_diary_write- (必填):你的名称/标识符
agent_name - (必填):发生的事件、学到的内容、重点事项
entry - :分类标签(默认"general")
topic
- — 读取最近的日记条目
mempalace_diary_read- (必填)
agent_name - :返回条目数量(默认10)
last_n
Setup
安装
Install MemPalace and populate the palace:
bash
pip install mempalace
mempalace init ~/my-convos
mempalace mine ~/my-convos安装MemPalace并初始化宫殿:
bash
pip install mempalace
mempalace init ~/my-convos
mempalace mine ~/my-convosOpenClaw MCP config
OpenClaw MCP配置
Add to your OpenClaw MCP configuration:
json
{
"mcpServers": {
"mempalace": {
"command": "python3",
"args": ["-m", "mempalace.mcp_server"]
}
}
}Or via CLI:
bash
openclaw mcp set mempalace '{"command":"python3","args":["-m","mempalace.mcp_server"]}'添加到你的OpenClaw MCP配置文件中:
json
{
"mcpServers": {
"mempalace": {
"command": "python3",
"args": ["-m", "mempalace.mcp_server"]
}
}
}或通过CLI配置:
bash
openclaw mcp set mempalace '{"command":"python3","args":["-m","mempalace.mcp_server"]}'Other MCP hosts
其他MCP宿主配置
bash
undefinedbash
undefinedClaude Code
Claude Code
claude mcp add mempalace -- python -m mempalace.mcp_server
claude mcp add mempalace -- python -m mempalace.mcp_server
Cursor — add to .cursor/mcp.json
Cursor — 添加到 .cursor/mcp.json
Codex — add to .codex/mcp.json
Codex — 添加到 .codex/mcp.json
undefinedundefinedTips
使用提示
- Search is semantic (meaning-based), not keyword. "What did we discuss about database performance?" works better than "database".
- The knowledge graph stores typed relationships with time windows. Use it for facts about people and projects — it knows WHEN things were true.
- Diary entries accumulate across sessions. Write one at the end of each conversation to build continuity.
- Use before storing new content to avoid duplicates.
mempalace_check_duplicate - The AAAK dialect (from ) is a compressed notation for efficient storage. Read it naturally — expand codes mentally, treat markers as emotional context.
mempalace_status
- 搜索是语义(基于含义)的,不是关键词匹配。“我们之前讨论过的数据库性能相关内容有哪些?”比“数据库”搜索效果更好。
- 知识图谱存储带时间窗口的类型化关系。适合存储人物和项目相关事实——它会记录事实的有效时间范围。
- 日记条目会跨会话累计。每次对话结束时写一条日记可以构建会话连续性。
- 存储新内容前使用避免重复。
mempalace_check_duplicate - (从获取的)AAAK方言是用于高效存储的压缩标记法。可以自然阅读——在脑海中展开代码,将标记视为情感上下文。
mempalace_status