MemPalace

Gives an assistant long-term memory: verbatim conversation storage with semantic search and a knowledge graph

By MemPalace Python Knowledge and memory

67 popularity score ★ 60k

What it does

MemPalace is a local-first memory system for AI assistants. It stores conversation history and other content as verbatim text, without summarising or paraphrasing, and retrieves it with semantic search. The index is structured: people and projects become wings, topics become rooms and the original text lives in drawers, so searches can be scoped. The default search backend is ChromaDB, and it also keeps a temporal entity-relationship graph in local SQLite. Its README says nothing leaves your machine unless you opt in.

The MCP server gives an assistant about 45 tools: read tools for status, wings, rooms and semantic search; write tools to file, update, mine and delete drawers; knowledge-graph tools to add, query, invalidate and supersede facts with timelines; navigation across wings; an agent diary; and agent-coordination tools for tasks, events and artifacts. On first use, mempalace_status hands the assistant a memory protocol: search before answering about people or past events, and write diary entries after each session.

Install the PyPI package mempalace (uv tool install mempalace or pipx), then add the server to a client with python -m mempalace.mcp_server, optionally with --palace /path/to/palace; mempalace mcp prints the exact commands for your setup. A Docker image, ghcr.io/mempalace/mempalace, runs the MCP server over stdio with a volume mounted at /data.

Tools 22

mempalace_status
Palace overview, AAAK spec and memory protocol.
mempalace_search
Semantic search with wing and room filters.
mempalace_list_wings
List wings with drawer counts.
mempalace_list_rooms
List rooms within a wing.
mempalace_get_taxonomy
Full wing, room and drawer tree.
mempalace_check_duplicate
Check for similar content before filing.
mempalace_add_drawer
File verbatim content into the palace.
mempalace_update_drawer
Change a drawer's content or location.
mempalace_delete_drawer
Delete a drawer by ID (irreversible).
mempalace_delete_by_source
Bulk-delete drawers from one source (irreversible).
mempalace_mine
Import a directory or conversation file into the palace.
mempalace_checkpoint
Save the session with deduplication.
mempalace_kg_query
Query entity relationships with time filtering.
mempalace_kg_add
Add a relationship fact.
mempalace_kg_invalidate
Mark a fact as no longer true.
mempalace_kg_timeline
Chronological timeline of facts.
mempalace_traverse
Walk the palace graph from a room.
mempalace_diary_write
Write an agent diary entry.
mempalace_diary_read
Read recent diary entries.
mempalace_task_create
Create a task request for agent coordination.
mempalace_event_append
Append a coordination event.
mempalace_artifact_put
Store an artifact (up to 4 MiB).

Similar servers