MemPalace
Free, open-source long-term memory system for AI assistants, with an MCP server so agents can save and recall what they learned.
Test results
Last passed 2026-10-22Server package tested: mempalace 3.11.0 (uv, Python 3.12.15; resolved 2026-10-22)
Direct and key dependencies as resolved: anyio 4.15.1 · chromadb 1.5.9 · httpx 0.28.1 · huggingface_hub 2.2.0 · numpy 2.5.4 · pydantic 2.14.1 · pydantic-settings 2.16.1 · pydantic_core 2.50.1 · python-dateutil 3.0.0 · PyYAML 6.0.3 · tokenizers 0.23.3 · typing_extensions 4.16.0 · uvicorn 0.54.0
All 85 resolved dependencies
aiohappyeyeballs==2.7.1
aiohttp==3.14.5
aiohttp-retry==2.9.1
aiosignal==1.4.0
annotated-doc==0.0.5
annotated-types==0.8.0
anyio==4.15.1
attrs==26.1.0
bcrypt==5.0.0
build==1.6.1
certifi==2026.10.19
charset-normalizer==3.5.2
chromadb==1.5.9
click==8.5.0
durationpy==0.11
filelock==4.2.4
flatbuffers==25.12.19
frozenlist==1.8.0
fsspec==2026.9.0
googleapis-common-protos==1.75.5
grpcio==1.84.1
h11==0.16.0
hf-xet==1.7.0
httpcore==1.0.9
httpcore2==2.16.0
httptools==0.9.0
httpx==0.28.1
httpx2==2.16.0
huggingface_hub==2.2.0
idna==3.20
importlib_resources==7.1.0
jsonschema==4.26.0
jsonschema-specifications==2025.9.1
kubernetes==37.0.1
markdown-it-py==4.2.0
mdurl==0.1.2
mmh3==5.3.1
multidict==7.1.0
numpy==2.5.4
oauthlib==4.0.0
onnxruntime==1.31.0
opentelemetry-api==1.45.1
opentelemetry-exporter-otlp-common==0.66b1
opentelemetry-exporter-otlp-proto-common==1.45.1
opentelemetry-exporter-otlp-proto-grpc==1.45.1
opentelemetry-proto==1.45.1
opentelemetry-sdk==1.45.1
opentelemetry-semantic-conventions==0.66b1
orjson==3.13.0
overrides==7.7.0
packaging==26.3
propcache==0.5.4
protobuf==7.36.2
pybase64==1.5.1
pydantic==2.14.1
pydantic-settings==2.16.1
pydantic_core==2.50.1
Pygments==2.21.0
PyPika==0.51.1
pyproject_hooks==1.3.3
python-dateutil==3.0.0
python-dotenv==1.2.4
PyYAML==6.0.3
referencing==0.37.0
requests==2.34.2
requests-oauthlib==2.0.0
rich==15.0.0
rpds-py==2026.9.1
shellingham==1.5.4
six==1.17.0
tenacity==9.2.1
tokenizers==0.23.3
tqdm==4.70.1
truststore==0.10.5
typer==0.27.3
typing-inspection==0.4.4
typing_extensions==4.16.0
tzdata==2026.5
urllib3==2.8.0
uvicorn==0.54.0
uvloop==0.23.0
watchfiles==1.3.0
websocket-client==1.9.2
websockets==17.3
yarl==1.25.1Captured with: uvx --from mempalace python (importlib.metadata in the same uvx env; equivalent to uv pip freeze).
Full result per app: Does it work with Claude Code? · Does it work with Cursor? · Does it work with ChatGPT (Codex)?
Real test
PassedOne run from our records. When two runs share a date, we show a failure if there is one.
- Client
- ChatGPT (Codex) · Codex CLI 0.162.0-alpha.17.2
- Date
- Oct 22, 2026
- The task we gave
Using only the mempalace MCP tools, save this so it can be found in a later session: the toolpassed test code is TP-CD7ADF. Reply 'stored' when done.
Using only the mempalace MCP tools, look up the toolpassed test code that was saved in an earlier session and reply with it.
- What it promised
- details not recorded for this run
- What happened
Tool calls:
mempalace:mempalace_searchmempalace:mempalace_searchOther calls recorded:
mempalace:mempalace_add_drawerTool result
{"content": [{"type": "text", "text": "{\n \"error\": \"Media and code task search require embedding_model='embeddinggemma2'\",\n \"hint\": \"Use the isolated embeddinggemma2 palace and compatible indexes.\"\n}"}], "structured_content": null}Agent reply
The toolpassed test code is **TP-CD7ADF**.- Verdict
- Passed
Install
claude mcp add mempalace -- uvx --from mempalace mempalace-mcpRun in your terminal. This exact command is what our harness runs in Claude Code; see the results above.
{
"mcpServers": {
"mempalace": {
"command": "uvx",
"args": [
"--from",
"mempalace",
"mempalace-mcp"
]
}
}
}Save as .cursor/mcp.json. This exact config is what our harness runs in Cursor; see the results above.
{
"mcpServers": {
"mempalace": {
"command": "uvx",
"args": [
"--from",
"mempalace",
"mempalace-mcp"
]
}
}
}Add to claude_desktop_config.json and restart Claude Desktop. Tested on the Linux beta; see the results above.
[mcp_servers.mempalace]
command = "uvx"
args = ["--from", "mempalace", "mempalace-mcp"]Add to ~/.codex/config.toml (shared by the ChatGPT (Codex) CLI and the ChatGPT desktop app; Codex runs inside the ChatGPT desktop app). Tested with the ChatGPT (Codex) CLI bundled in the ChatGPT desktop app; see the results above.
Not connecting? Troubleshooting: Claude Code · Cursor · Claude Desktop · ChatGPT (Codex)
Test history
| Date | Check | Result | Versions tested |
|---|---|---|---|
| 2026-10-22 | Protocol (direct stdio) | Protocol: starts, 47 tools listed | mempalace 3.11.0 · server reported v3.11.0 |
| 2026-10-22 | Claude Code | Passed install, connect, tools, agent task | Claude Code 2.1.296 · mempalace 3.11.0 |
| 2026-10-22 | Cursor | Passed install, connect, tools, agent task | Cursor CLI 2026.10.19-6bbf2c4 · mempalace 3.11.0 |
| 2026-10-22 | ChatGPT (Codex) | Passed install, connect, tools, agent task | Codex CLI 0.162.0-alpha.17.2 · mempalace 3.11.0 |
Tools seen by our harness (47)
mempalace_statusmempalace_list_wingsmempalace_list_roomsmempalace_get_taxonomymempalace_get_aaak_specmempalace_kg_querymempalace_kg_addmempalace_kg_invalidatemempalace_kg_supersedemempalace_kg_timelinemempalace_kg_statsmempalace_traversemempalace_find_tunnelsmempalace_graph_statsmempalace_mesh_peersmempalace_create_tunnelmempalace_list_tunnelsmempalace_delete_tunnelmempalace_list_hallwaysmempalace_delete_hallwaymempalace_follow_tunnelsmempalace_searchmempalace_check_duplicatemempalace_add_drawermempalace_checkpointmempalace_delete_drawermempalace_delete_drawersmempalace_minemempalace_delete_by_sourcemempalace_syncmempalace_get_drawermempalace_get_drawersmempalace_list_drawersmempalace_update_drawermempalace_diary_writemempalace_diary_readmempalace_hook_settingsmempalace_memories_filed_awaymempalace_reconnectmempalace_event_appendmempalace_task_createmempalace_event_listmempalace_event_waitmempalace_event_ackmempalace_artifact_putmempalace_artifact_getmempalace_patch_submit