MCP server for Recollect
Project description
recollect-mcp
MCP server exposing cognitive memory via the Recollect SDK. 5 tools, 3 resources, server-managed sessions.
Install
pip install recollect-mcp
Usage
# stdio (default)
recollect-mcp
# streamable-http
recollect-mcp --transport streamable-http
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
MEMORY_USER_ID |
Yes | -- | Scopes all operations to this user. Server refuses to start without it. |
DATABASE_URL |
Yes | postgresql://localhost:5432/memory_sdk |
PostgreSQL connection string. |
MEMORY_LLM_PROVIDER |
No | (auto) | LLM provider: anthropic, openai, openai-compat. Empty = auto-fallback (Anthropic -> OpenAI-compat). |
ANTHROPIC_API_KEY |
For default provider | -- | Anthropic API key for LLM extraction. |
OPENAI_API_KEY |
For OpenAI provider | -- | OpenAI API key. |
ANTHROPIC_MODEL |
No | claude-haiku-4-5-20251001 |
Override Anthropic extraction model. |
OPENAI_MODEL |
No | gpt-5-mini |
Override OpenAI extraction model. |
OLLAMA_MODEL |
No | qwen3.5 |
Override Ollama extraction model. |
OLLAMA_BASE_URL |
No | http://localhost:11434/v1 |
Ollama API endpoint. |
MEMORY_CONFIG |
No | -- | Path to custom TOML config file. |
SERVER_HOST |
No | localhost |
Server bind host (streamable-http transport). |
SERVER_PORT |
No | 8000 |
Server bind port (streamable-http transport). |
Client configuration
Add to .mcp.json (Claude Code) or claude_desktop_config.json (Claude Desktop):
{
"mcpServers": {
"memory": {
"command": "uvx",
"args": ["recollect-mcp"],
"env": {
"MEMORY_USER_ID": "your-user-id",
"DATABASE_URL": "postgresql://user@localhost:5432/dbname",
"ANTHROPIC_API_KEY": "sk-ant-..."
}
}
}
}
Providers
The server requires an LLM provider for concept extraction (entities, tags, persona facts). Set MEMORY_LLM_PROVIDER to select explicitly, or omit it for auto-fallback (Anthropic -> OpenAI-compat -> fail).
MEMORY_LLM_PROVIDER |
Provider class | Required env vars |
|---|---|---|
anthropic |
AnthropicProvider |
ANTHROPIC_API_KEY |
openai |
OpenAIProvider |
OPENAI_API_KEY |
openai-compat |
OpenAICompatProvider |
OLLAMA_MODEL + OLLAMA_BASE_URL |
| (empty/unset) | Auto-fallback | Tries Anthropic, then OpenAI-compat |
Anthropic (default)
"env": {
"MEMORY_USER_ID": "your-user-id",
"MEMORY_LLM_PROVIDER": "anthropic",
"DATABASE_URL": "postgresql://user@localhost:5432/dbname",
"ANTHROPIC_API_KEY": "sk-ant-..."
}
OpenAI
"env": {
"MEMORY_USER_ID": "your-user-id",
"MEMORY_LLM_PROVIDER": "openai",
"DATABASE_URL": "postgresql://user@localhost:5432/dbname",
"OPENAI_API_KEY": "sk-...",
"OPENAI_MODEL": "gpt-5-mini"
}
Ollama / OpenAI-compatible
"env": {
"MEMORY_USER_ID": "your-user-id",
"MEMORY_LLM_PROVIDER": "openai-compat",
"DATABASE_URL": "postgresql://user@localhost:5432/dbname",
"OLLAMA_MODEL": "qwen3:8b",
"OLLAMA_BASE_URL": "http://localhost:11434/v1"
}
Reasoning models (Qwen3, DeepSeek-R1) use thinking tokens that count against the extraction budget. If remember returns extraction errors, increase max_tokens via a custom config file:
# memory.toml
[extraction]
max_tokens = 8192
Custom configuration
Mount a memory.toml in the server's working directory, or set MEMORY_CONFIG:
"env": {
"MEMORY_USER_ID": "your-user-id",
"DATABASE_URL": "postgresql://user@localhost:5432/dbname",
"ANTHROPIC_API_KEY": "sk-ant-...",
"MEMORY_CONFIG": "/path/to/memory.toml"
}
Tools
| Tool | Parameters | Description |
|---|---|---|
remember |
content: str |
Store an experience. LLM extracts entities, concepts, significance, and persona facts. |
recall |
query: str |
Retrieve relevant memories. Returns persona facts as context followed by matching traces. |
pin |
content: str |
Promote a statement to a permanent persona fact (allergies, preferences, relationships). |
unpin |
fact_id: str |
Remove a persona fact. |
forget |
trace_id: str |
Delete a memory trace. |
Resources
| URI | Description |
|---|---|
memory://primer |
Relational graph of persona facts. Read at conversation start for user context. |
memory://facts |
All active persona facts with confidence scores and timestamps. |
memory://health |
Server and database health status. |
Requirements
- Python 3.12+
- PostgreSQL 17 with pgvector
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file recollect_mcp-0.3.4.tar.gz.
File metadata
- Download URL: recollect_mcp-0.3.4.tar.gz
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e768b5c3f8cefafbb8c573492dc0dc28066debf34cfab077fc5d33e47135f3e
|
|
| MD5 |
c49f96838c2b0e55c0cdb4e4edfceb73
|
|
| BLAKE2b-256 |
d46f5535a0fbaa18607a314fc0e39c7e08abc8a517749f75cb3d4cebda2f9c92
|
File details
Details for the file recollect_mcp-0.3.4-py3-none-any.whl.
File metadata
- Download URL: recollect_mcp-0.3.4-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04299f165694089aba55f75e7e3a8f55c71f1200667b8d4904f5cf790216b686
|
|
| MD5 |
4a588ea24f8529bc4c8d289361868a15
|
|
| BLAKE2b-256 |
f02941bec1fa727b04065368122e77cad5802d38d8c2e4a124bc3e88825d352b
|