Skip to content

Install

WARM is a Rust engine. Use it directly, install the Node bindings, connect an editor through MCP, or call a self-hosted server from Python. Choose an integration before installing. Package installation needs network access; the engine can run offline after installation.

Requirements

You need For
Rust 1.89 or newer (the MSRV) the Rust crate, the HTTP server and the Node build
Node 22 or newer the Node bindings; Node 24 for the quickstart, which uses node:sqlite
Python 3.10 or newer the Python SDK (warm-python needs 3.9)

For Python, create and activate a virtual environment first: uv venv, then source .venv/bin/activate (PowerShell: .venv\Scripts\Activate.ps1).

Install for your runtime

cargo add warm-rust

default = []: nothing is on unless you ask. Turn on what you need, for example cargo add warm-rust --features security for AES-256-GCM stores and signed audit logs. Every feature, what it turns on and whether it is experimental: Cargo features.

The Python SDK is an HTTP client for warm-server, which holds the engine and stores the vectors you supply:

uv pip install warm-sdk

Build and start the server from a checkout, then point the client at it:

git clone https://github.com/writerslogic/warm
cd warm
cargo build --release --features server --bin warm-server
WARM_API_KEY=change-me target/release/warm-server --input-dim 384

The warm-python wheel provides native vector search and phase vectors, imported as writerslogic_warm. It does not include document search.

uv pip install warm-python

Install the Node bindings. npm selects the native binary for your platform:

npm install writerslogic-warm

To build from a checkout instead, run npm ci --omit=optional && npm run build with a Rust toolchain. The separate writerslogic-warm-mcp package launches the MCP server.

Check that it works

cargo run --release --manifest-path examples/quickstart/rust/Cargo.toml
uv run --with warm-sdk python -c "from writerslogic_warm_sdk import WarmClient; print(WarmClient.__name__)"
node -e "const { WarmMemorySystem } = require('writerslogic-warm'); console.log(typeof WarmMemorySystem)"

The quickstart runs a full ingest and search against the same checkout.

The Python check verifies the SDK import; it does not contact the server. For a complete round trip, run the Python tab in the quickstart.

Connect an editor

Run the separate MCP launcher from npm:

npx -y writerslogic-warm-mcp

To build warm-mcp from this checkout instead and configure your editor to launch its absolute path:

cargo build --release --features mcp,security --bin warm-mcp

Follow the editor setup guide for your host. The MCP reference covers tools, storage and shared HTTP access.

If setup fails

See troubleshooting for import errors, missing native binaries, server authentication, vector dimensions and locked stores.

Next steps