Skip to content
This page was generated and translated with the assistance of AI. If you spot any inaccuracies, feel free to help improve it. Edit on GitHub

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

bash
git clone https://github.com/openprx/prx-memory.git
cd prx-memory
cargo build -p prx-memory-mcp --bin prx-memoryd

2. Start the Server

Option A: stdio Transport

For direct MCP client integration:

bash
PRX_MEMORYD_TRANSPORT=stdio \
PRX_MEMORY_DB=./data/memory-db.json \
./target/debug/prx-memoryd

Option B: HTTP Transport

For network access with health checks and metrics:

bash
PRX_MEMORYD_TRANSPORT=http \
PRX_MEMORY_HTTP_ADDR=127.0.0.1:8787 \
PRX_MEMORY_DB=./data/memory-db.json \
./target/debug/prx-memoryd

Verify the server is running:

bash
curl -sS http://127.0.0.1:8787/health

3. Configure Your MCP Client

Add PRX-Memory to your MCP client configuration. For example, in Claude Code or Codex:

json
{
  "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:

json
{
  "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:

json
{
  "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:

bash
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-memoryd

With 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:

bash
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-memoryd

Available MCP Tools

ToolDescription
memory_storeStore a new memory entry
memory_recallRecall memories by query
memory_updateUpdate an existing memory
memory_forgetDelete a memory entry
memory_exportExport all memories
memory_importImport memories from export
memory_migrateMigrate storage format
memory_reembedRe-embed memories with new model
memory_compactCompact and optimize storage
memory_evolveEvolve memory with holdout validation
memory_skill_manifestDiscover available skills

Next Steps

Released under the Apache-2.0 License.