THE INSTALLATION GUIDE
A home for your
agent’s memory.
Start your server, connect an agent, and save something worth remembering. Here’s everything you need to put down the first roots.
- 01
Give your memories a home.
Start Grove and its Qdrant store. Docker Compose brings them up together; npm fits an existing setup.
macOS, Linux, or Windows with DockerDocker setupgit clone https://github.com/miniaxolotl/grove.git cd grove cp .env.example .env docker compose up -dRequires Git and Docker with Compose. Builds Grove and starts Qdrant with persistent storage. The first run downloads the local embedding model.
npm setup# Start a persistent local Qdrant instance docker run -d --name grove-qdrant \ -p 127.0.0.1:6333:6333 \ -v grove-qdrant:/qdrant/storage \ qdrant/qdrant:latest npm install -g @miniaxolotl/grove grove serveRequires Node.js 22+. The first command starts Qdrant with Docker; skip it if Qdrant is already running. Set QDRANT_URL if your instance is not at localhost:6333.
Check that Grove is ready
Readiness checkcurl --fail http://localhost:26081/readyWait for initialization to finish. The readiness endpoint returns HTTP 200 when the collections are ready.
- 02
Make the connection.
Give your agent access to Grove’s MCP tools. Use the OpenCode configuration, or connect your preferred MCP client.
Client configuration referenceopencode.json{ "$schema": "https://opencode.ai/config.json", "plugin": ["@miniaxolotl/grove-opencode-plugin"], "mcp": { "grove": { "type": "remote", "url": "http://localhost:26080/mcp" } } }Merge these entries into your existing configuration, then restart OpenCode. The companion plugin adds manual saves, error capture, and memory lifecycle hooks. Set
GROVE_PROJECTin OpenCode’s environment to group plugin memories by project.Streamable HTTP endpointhttp://localhost:26080/mcpAdd a remote MCP server named
grovewith this URL and the Streamable HTTP transport. Configuration fields vary by client. Replace localhost with your server’s address if Grove runs elsewhere.Prefer stdio? Install the npm package and configure your client to launch
grovewithout arguments, withQDRANT_URLset to your Qdrant instance. Plant your first memory.
Ask your agent to save something worth keeping. Open a new session, search for it, and pick up the thread.
Ask your agent to rememberUse Grove to remember: "We use PostgreSQL for billing because we need transactions." Save it under the project "my-app".Then, in a new session
Ask your agent to recallSearch Grove for "billing database" in project "my-app". What did we decide, and why?Grove makes memory available through tools. Ask your agent to use them, or add saving and recall instructions to your agent’s workflow.
Ready to grow from here?
Explore all 21 tools, configure optional embedding and reranking services, or set up Grove on your own server.