A small, dependency-free MCP server written in Python. It stores durable memories in a local SQLite database and exposes them as MCP tools over stdio or Streamable HTTP.
search: search memories in ChatGPT connector formatfetch: fetch one memory by key in ChatGPT connector formatremember: store or update a memory by keyrecall: search memories by key, value, or taglist_memories: list recent memoriesforget: delete a memory by key
python3 server.pyThe server speaks MCP over stdio, so it is meant to be launched by an MCP host.
Use the absolute path to this folder on your machine:
{
"mcpServers": {
"tiny-memory": {
"command": "python3",
"args": [
"/Users/dawn/Code/ai-experiments/tiny-memory-mcp/server.py"
],
"env": {
"TINY_MEMORY_DB": "/Users/dawn/Code/ai-experiments/tiny-memory-mcp/memory.sqlite3"
}
}
}
}python3 tests/smoke.pyThis starts the server as a subprocess, initializes an MCP session, stores a memory, searches for it, lists memories, deletes it, and verifies it is gone.
HOST=127.0.0.1 PORT=8000 python3 http_server.pyThe MCP endpoint is:
http://127.0.0.1:8000/mcp
HTTP smoke test:
python3 tests/http_smoke.pyBuild and run:
docker build -t tiny-memory-mcp .
docker run --rm -p 8000:8000 -v tiny-memory-data:/data tiny-memory-mcpOr with Compose:
docker compose up --buildOnce the Docker container is running on port 8000:
ngrok http 8000Use the HTTPS forwarding URL with /mcp appended:
https://YOUR-NGROK-DOMAIN.ngrok-free.app/mcp
In ChatGPT custom MCP settings, choose Streamable HTTP and use that URL.