membase-ai
One memory. Every AI.
Drop-in memory infrastructure for AI agents and apps — the Membase SDK.
Website · Docs · Web app · Discord · X
The Membase SDK: a Python client, the membase command line, an MCP server and a TypeScript
client. The memory lives in your Membase account or on your machine, behind the same API.
Write once, read from any AI
Recordings: Python SDK (57 s) · Claude Code (1 min 33 s). The answer above is illustrative.
Accuracy
On three public long-term memory benchmarks, with a few thousand tokens of context per question.
Quickstart
pip install membase-ai # hosted · Python 3.10+ · needs MEMBASE_API_KEY
pip install 'membase-ai[local]' # local · Python 3.12 or 3.13 · needs OPENAI_API_KEY
npm install membase-ai # TypeScript · Node 18+
from membase import Membase
m = Membase() # hosted
# m = Membase(local=True) # local, in ~/.membase
m.memories.add("We picked Postgres for the ledger service.", container="Engineering")
m.search("what database is the ledger on?")
m.add("Design notes …", container="Engineering", custom_id="design-1") # a document
m.ask("Which database did we choose for the ledger?")
The package is membase-ai; membase on PyPI is unrelated.
Command line
membase --local add "We picked Postgres for the ledger" --container Engineering
membase --local search "what did we pick for the ledger?"
membase --local ask "Which database is the ledger on?"
membase --local import ~/Downloads/claude-export.json # Claude, ChatGPT, markdown or JSON chats
membase --local agent ingest trace.json --agent coder
membase --local agent search "fix flaky deploy" --agent coder
Without --local (or --store DIR, both before the command) commands use the hosted API; agent,
import and serve need membase-ai[local].
MCP
claude mcp add membase -- membase --local mcp # local
claude mcp add --transport http membase https://api.app.membase.io/mcp-http \
--header "Authorization: Bearer $MEMBASE_API_KEY" # hosted
Hosted without the header, the connection signs you in and is read-only.
Reference
Methods
- Deleting a document or forgetting a memory needs
confirm=True; without it you get what would be removed. - Hosted,
askneeds an agent-endpoint key, and each key is limited to its containers and access level.
What the local engine stores
Local memory over HTTP
membase --local serve # http://127.0.0.1:8787/v1
The hosted API's agent-protocol routes, answered by the local engine: point any client's base URL
at it. Set MEMBASE_LOCAL_TOKEN to require it as a bearer token.
Local settings
Stores: ~/.membase/memory.db (default container), ~/.membase/containers/<id>/ (others),
~/.membase/profile/ (static facts). Settings come from the environment, or from a .env file in
the current directory or a parent.
| Setting | Default | |
|---|---|---|
OPENAI_API_KEY |
chat and embeddings | |
MEMBASE_LLM_PROVIDER |
from your keys | openai, anthropic, ollama or openai-compat for chat; set the models below to match |
MEMBASE_LLM_ENDPOINT |
base URL for ollama or openai-compat |
|
MEMBASE_EMBED_PROVIDER |
openai |
openai-compat uses MEMBASE_LLM_ENDPOINT |
MEMBASE_EMBED_MODEL |
text-embedding-3-small |
embeddings |
MEMBASE_EPISODE_MODEL |
gpt-4.1-mini |
conversations into episodes |
MEMBASE_DECIDER_MODEL |
gpt-4o-mini |
picks the episodes a search returns |
MEMBASE_READER_MODEL |
gpt-4o |
ask answers |
MEMBASE_KNOWLEDGE_MODEL |
gpt-4o-mini |
documents into topic trees |
MEMBASE_AGENT_MODEL |
gpt-4o-mini |
agent traces |
MEMBASE_LANG |
en |
zh for Chinese extraction prompts |
MEMBASE_LOCAL=1 makes local the default when MEMBASE_API_KEY is not set.
Repository
membase/ is the Python package (client.py, cli.py, local/ for local memory and membase serve,
mcp/ for membase mcp); typescript/ is the npm package. membase-sdk (PyPI and npm) is the
earlier name, kept as an alias.
License
MIT. membase-ai[local] also installs membase-core, the compiled engine, under Unibase's
proprietary license.
Metadata
Release files for membase-ai 0.2.19
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| membase_ai-0.2.19.tar.gz | 25.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| membase_ai-0.2.19-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 56.3 kB
Release files / membase_ai-0.2.19.tar.gz
| Download URL | membase_ai-0.2.19.tar.gz |
|---|---|
| Size | 25.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ccbafa4dfb31ebafc53d3db542670e24e63fefc305cd85e79cdbf1d4d2dae8a6
|
|
BLAKE2b-256 checksum How to use checksums |
de7463f42d4d2b2a25404da11cf64fca23da124225b9e8433615d74245367851
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.12
|
Release files / membase_ai-0.2.19-py3-none-any.whl
| Download URL | membase_ai-0.2.19-py3-none-any.whl |
|---|---|
| Size | 30.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4a2b5e6b1efb0e73370e24dd6d04615ab19c5a8c1c947c24075b9e2d37b81ae0
|
|
BLAKE2b-256 checksum How to use checksums |
a2008d80e405cd6541d4e8d1bd345a63c55b37280af92e77915b46718280c642
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.12
|