kiwi-mem MCP
A self-hosted long-term memory server for AI: a model gateway with vector search, fading memories and MCP tools
- 342 ★ on the repository
- Last commit
Broad access
Why this level
- Stores the content of your conversations, personal details included, in a database on your server
- There is no built-in authentication, and a backup can contain API keys
- Passes all requests to the model provider through its own gateway
Install
- Works in
Manual install
git clone https://github.com/LucieEveille/kiwi-mem.git && cd kiwi-mem && cp .env.example .env && docker compose up -dSet API_KEY in .env before launch. After startup check http://localhost:8080 and open /admin.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Stores the content of your conversations, personal details included, in a database on your server
- There is no built-in authentication, and a backup can contain API keys
- Passes all requests to the model provider through its own gateway
This is third-party code. Review the repository files before installing.
What it does
kiwi-mem is a gateway between a chat client and a language model that remembers conversations and runs on your own server. It accepts requests in OpenAI format and in Anthropic's native format, extracts facts from the conversation, stores them in PostgreSQL with pgvector and injects the relevant memories into later requests. Every memory has a heat score: it falls over time and rises when the topic comes up again. A Dream process runs at night to remove duplicates, merge related fragments into scenes and draw conclusions. Old conversations are compressed into summaries for a day, week, month, quarter and year. Two MCP endpoints expose tools to other clients: /memory/mcp with six memory tools and /calendar/mcp with calendar tools. The service runs through Docker Compose. Settings change in the web admin panel.
Who it is for. For people who hold long conversations with an AI companion or assistant and want to keep its memory on their own server.
Good fit when
- You want an AI assistant that remembers your habits and plans between sessions
- You run a long story or role-play and the model has to keep the plot in mind
- Your client already speaks the OpenAI API format and you want to add memory without changing it
- You want to see and edit what the memory holds in an admin panel
Not a fit when
- You need search over company documents: kiwi-mem keeps memory of one person's conversations
- You want a ready cloud service with no server, Docker or HTTPS of your own
- You are not ready to shield the admin panel and export from outside access
Example request
Remember that I moved to remote work and remind me of it when I plan my weekMCP
- Transport
- http
- Authentication
- not required
Environment variables
API_KEYrequired, secret- Model provider API key
DATABASE_URLsecret- PostgreSQL connection string, set automatically in Docker Compose
Limitations
There is no built-in authentication: when exposing it to the internet, protect the service, especially /admin and /sync/export, which may export API keys. You need a model provider API key, plus Docker or Python 3.12 with PostgreSQL and pgvector. Phone clients need an HTTPS address, so you will need a domain. Environment variables connect only OpenAI-compatible providers. The AGPL-3.0-or-later license requires publishing the source of modified versions if you give other people access to the service over a network.
How to disable. Stop the containers with docker compose down. The data lives in the PostgreSQL database, whose volume is removed separately. In the client, remove the gateway address.
FAQ
How do I connect kiwi-mem to a chat client?
After startup, set http://localhost:8080/v1 in the client and pick any model from the configured provider.
What is Dream in kiwi-mem?
Nightly memory processing in three layers: cleaning outdated and duplicate fragments, merging related fragments into scenes and inferring what you never said directly. Dream runs by hand or automatically.
Can I connect Anthropic directly?
Yes. In the admin panel, choose Anthropic native format when adding a provider.
Which memories stay forever?
Memories you pin by hand never fade. Automatically pinned ones lose their permanent status after 90 days without requests.
Which clients work?
Any client with an OpenAI-format API, for example ChatBox, NextChat or SillyTavern. A phone needs an HTTPS address.
Discussion
No questions or reviews yet.
Related
MCP serversA long-term memory MCP server for AI agents: facts fade along a forgetting curve and related records are compressed into a summary
Long-term memory for AI agents: a skill and the mindmemos command store facts from conversations and recall them in later sessions
iai-memory
iai-memory (Personal Memory Engine)
A local long-term memory MCP server for agents: keeps conversations verbatim and returns the right context at the start of a session
A long-term memory system for AI agents: the agent stores experience and facts, then retrieves them through a built-in MCP server
Self-hosted long-term memory for agents: semantic search, a knowledge graph and autonomous consolidation over MCP and a REST API
An MCP server for long-term agent memory: compresses dialogues into atomic facts, resolves pronouns and anchors relative time to absolute dates
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| kiwi-mem (this entry) | no | not required | 342 | |
| Basic Memory | no | not required | 4,403 | keeps notes in Markdown files and connects as an MCP server, with no model gateway |
| MegaMemory | no | not required | 731 | knowledge graph of a project for a coding agent |
README in short
The author starts from the idea that AI memory should belong to the user. The documentation, in Chinese and English, has a client-gateway-model diagram, three launch steps, environment variables and the list of HTTP paths.