MCP server for Recollect
Project description
recollect-mcp
MCP server for persistent memory. 6 tools, 3 resources, server-managed sessions. See the project README for architecture details.
Install
pip install recollect-mcp # or: uv add recollect-mcp
Usage
# stdio (default)
recollect-mcp
# streamable-http
recollect-mcp --transport streamable-http
# with logging
recollect-mcp --log-file logs/mcp.jsonl --verbose
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. |
reflect |
-- | Load persona context for the current session. Call before responding to any user message. |
pin |
content: str |
Promote a statement to a permanent persona fact. |
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. |
Clients that support MCP resources get session priming automatically via primer. For clients that don't, reflect loads the same context as a tool call. If neither is invoked, the server injects the primer on the first tool call of the session.
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",
"PYDANTIC_AI_MODEL": "anthropic:claude-haiku-4-5-20251001",
"ANTHROPIC_API_KEY": "sk-ant-..."
}
}
}
}
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. |
PYDANTIC_AI_MODEL |
No | -- | pydantic-ai model string in provider:model format (e.g., ollama:ministral-3, anthropic:claude-haiku-4-5-20251001). |
ANTHROPIC_API_KEY |
For Anthropic models | -- | Anthropic API key. Read by pydantic-ai's Anthropic backend. |
OPENAI_API_KEY |
For OpenAI models | -- | OpenAI API key. Read by pydantic-ai's OpenAI backend. |
OLLAMA_BASE_URL |
No | http://localhost:11434/v1 |
Ollama API endpoint. |
MEMORY_EXTRACTION_MAX_TOKENS |
No | 8192 |
Max tokens for LLM extraction. Reasoning models consume thinking tokens before output; 8192 covers most cases. |
MEMORY_CONFIG |
No | -- | Path to custom TOML config file. |
MEMORY_EXTRACTION_TEMPLATE_PATH |
No | -- | Path to override extraction prompt (markdown with header schema). |
HF_HUB_OFFLINE |
No | -- | Set to 1 to skip HuggingFace HTTP checks on startup. Use after the embedding model has been cached locally. |
SERVER_HOST |
No | localhost |
Server bind host (streamable-http transport). |
SERVER_PORT |
No | 8000 |
Server bind port (streamable-http transport). |
MEMORY_RECALL_TOKENS_ENABLED |
No | true |
Enable recall token disambiguation. |
MEMORY_RECALL_TOKENS_TOP_K |
No | 5 |
Max related traces for token assessment. |
MEMORY_RECALL_TOKENS_THRESHOLD |
No | 0.42 |
Min cosine similarity for related trace lookup at write time. |
MEMORY_RECALL_TOKENS_STRENGTH_THRESHOLD |
No | 0.1 |
Min token strength to activate. |
MEMORY_RECALL_TOKENS_REINFORCE_BOOST |
No | 0.1 |
Strength increment on activation. |
MEMORY_RECALL_TOKENS_DECAY_FACTOR |
No | 0.9 |
Inactive token decay per consolidation. |
MEMORY_RECALL_TOKENS_HOP_DECAY |
No | 0.85 |
Signal attenuation per token hop during propagation. |
MEMORY_RECALL_TOKENS_PROPAGATION_BLEND |
No | 0.5 |
Weight of propagated signal in the additive blend. |
MEMORY_RECALL_TOKENS_MAX_ROUNDS |
No | 3 |
Max re-seeding iterations at query time. |
MEMORY_RECALL_TOKENS_STABILITY_THRESHOLD |
No | 0.95 |
Top-K overlap fraction to stop re-seeding early. |
MEMORY_RECALL_TOKENS_TOP_SEEDS |
No | 3 |
Token-discovered traces used as seeds per re-seeding round. |
MEMORY_RECALL_TOKENS_SYSTEM_PROMPT |
No | -- | Override situational-assessment system prompt (inline string). |
MEMORY_RECALL_TOKENS_USER_PROMPT |
No | -- | Override situational-assessment user prompt (inline string). |
Provider
PYDANTIC_AI_MODEL prefix |
Required credential |
|---|---|
anthropic:... |
ANTHROPIC_API_KEY |
openai:... |
OPENAI_API_KEY |
openrouter:... |
OPENROUTER_API_KEY (e.g. openrouter:google/gemini-3-flash-preview) |
ollama:... |
OLLAMA_BASE_URL (defaults to http://localhost:11434/v1) |
Reasoning models (Qwen3, DeepSeek-R1) consume thinking tokens from the extraction budget. If remember returns extraction errors, increase MEMORY_EXTRACTION_MAX_TOKENS or set MEMORY_CONFIG to a custom TOML file with [extraction] max_tokens = 8192.
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.9.0.tar.gz.
File metadata
- Download URL: recollect_mcp-0.9.0.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","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 |
ac0a69265da1958860355008cc5cf44965915c2d80e5af2ab6e848a192b0b341
|
|
| MD5 |
3507b1376432a4956d220cd8f7b9bc04
|
|
| BLAKE2b-256 |
0ed00dcd0993ac8215eba101181c5b64a4c852d441efd8dbad65bfe7d3fd9bb1
|
File details
Details for the file recollect_mcp-0.9.0-py3-none-any.whl.
File metadata
- Download URL: recollect_mcp-0.9.0-py3-none-any.whl
- Upload date:
- Size: 10.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","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 |
4521350ad116b50c7e9813f3ddff62b324274652aa21ef5f2afcaafc498e6b3f
|
|
| MD5 |
4716a20527ef3565437e56520f73dc5f
|
|
| BLAKE2b-256 |
fa429f29cae2411c81525f52f8ac929443aee09fa03cf75179b8b3f678006e31
|