Quick Start
This guide walks you through building PRX-Memory, running the daemon, and performing your first store and recall operations.
1. Build the Daemon
git clone https://github.com/openprx/prx-memory.git
cd prx-memory
cargo build -p prx-memory-mcp --bin prx-memoryd2. Start the Server
Option A: stdio Transport
For direct MCP client integration:
PRX_MEMORYD_TRANSPORT=stdio \
PRX_MEMORY_DB=./data/memory-db.json \
./target/debug/prx-memorydOption B: HTTP Transport
For network access with health checks and metrics:
PRX_MEMORYD_TRANSPORT=http \
PRX_MEMORY_HTTP_ADDR=127.0.0.1:8787 \
PRX_MEMORY_DB=./data/memory-db.json \
./target/debug/prx-memorydVerify the server is running:
curl -sS http://127.0.0.1:8787/health3. Configure Your MCP Client
Add PRX-Memory to your MCP client configuration. For example, in Claude Code or Codex:
{
"mcpServers": {
"prx_memory": {
"command": "/path/to/prx-memory/target/release/prx-memoryd",
"env": {
"PRX_MEMORYD_TRANSPORT": "stdio",
"PRX_MEMORY_BACKEND": "json",
"PRX_MEMORY_DB": "/path/to/prx-memory/data/memory-db.json"
}
}
}
}TIP
Replace /path/to/prx-memory with the actual path where you cloned the repository.
4. Store a Memory
Send a memory_store tool call through your MCP client or directly via JSON-RPC:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "memory_store",
"arguments": {
"text": "Always use parameterized queries for SQL to prevent injection attacks",
"scope": "global",
"tags": ["security", "sql", "best-practice"]
}
}
}5. Recall Memories
Retrieve relevant memories using memory_recall:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "memory_recall",
"arguments": {
"query": "SQL security best practices",
"scope": "global",
"limit": 5
}
}
}The system returns memories ranked by relevance using a combination of lexical matching, importance scoring, and recency.
6. Enable Semantic Search (Optional)
For vector-based semantic recall, configure an embedding provider:
PRX_EMBED_PROVIDER=jina \
PRX_EMBED_API_KEY=your_jina_api_key \
PRX_EMBED_MODEL=jina-embeddings-v3 \
PRX_MEMORYD_TRANSPORT=stdio \
PRX_MEMORY_DB=./data/memory-db.json \
./target/debug/prx-memorydWith embeddings enabled, recall queries use vector similarity in addition to lexical matching, significantly improving retrieval quality for natural language queries.
7. Enable Reranking (Optional)
Add a reranker to further improve retrieval precision:
PRX_EMBED_PROVIDER=jina \
PRX_EMBED_API_KEY=your_embed_key \
PRX_EMBED_MODEL=jina-embeddings-v3 \
PRX_RERANK_PROVIDER=cohere \
PRX_RERANK_API_KEY=your_cohere_key \
PRX_RERANK_MODEL=rerank-v3.5 \
PRX_MEMORYD_TRANSPORT=stdio \
PRX_MEMORY_DB=./data/memory-db.json \
./target/debug/prx-memorydAvailable MCP Tools
| Tool | Description |
|---|---|
memory_store | Store a new memory entry |
memory_recall | Recall memories by query |
memory_update | Update an existing memory |
memory_forget | Delete a memory entry |
memory_export | Export all memories |
memory_import | Import memories from export |
memory_migrate | Migrate storage format |
memory_reembed | Re-embed memories with new model |
memory_compact | Compact and optimize storage |
memory_evolve | Evolve memory with holdout validation |
memory_skill_manifest | Discover available skills |
Next Steps
- Embedding Engine -- Explore embedding providers and batch processing
- Reranking -- Configure second-stage reranking
- Storage Backends -- Choose between JSON and SQLite storage
- Configuration Reference -- All environment variables