Prerequisites
Before you begin, make sure you have the following installed:- Go 1.22+ — required to build the daemon and use the Go library
- Make — used to run build, test, and eval targets
- protoc >= 3.20 — only needed if you plan to modify or regenerate the gRPC stubs
- Node.js 20+ — only needed for the TypeScript client SDK
- Python 3.10+ — only needed for the Python client SDK
Run the daemon
- Go library (embedded)
- Daemon (gRPC server)
Membrane can be used as an embedded library in your Go application without running a separate daemon process. This is the simplest way to get started.
Write your first agent memory loop
The example below is taken directly from the repository README. It creates a Membrane instance with the default SQLite backend, ingests three memory records, and retrieves them with a trust context.
main.go
Connect a client
Once the daemon is running, connect from TypeScript or Python.Install the SDKs
Configuration reference
Override defaults using a YAML config file or CLI flags. Secrets should always come from environment variables.config.yaml
| Variable | Purpose |
|---|---|
MEMBRANE_ENCRYPTION_KEY | SQLCipher encryption key for the database |
MEMBRANE_POSTGRES_DSN | PostgreSQL DSN used when backend: postgres |
MEMBRANE_EMBEDDING_API_KEY | API key for the embedding endpoint |
MEMBRANE_LLM_API_KEY | API key for the semantic extraction LLM endpoint |
MEMBRANE_API_KEY | Bearer token for gRPC authentication |
Run the eval suite
Membrane ships a comprehensive evaluation suite. Run the full suite or individual capability evals:Next steps
Architecture
Understand the three logical planes and all subsystems.
Memory types
Learn the five memory types and their lifecycle rules.
Go library guide
Embed Membrane directly in your Go application.
LLM integration
Connect Membrane to your LLM orchestration layer.
Configuration
Full YAML and environment variable reference.
Security
Encryption, TLS, authentication, and rate limiting.