Memorix

io.github.AVIDS2Published by GitHub account AVIDS2v1.10.2Updated Nov 3, 2026

Local-first project memory with legacy MCP and 2026 discovery compatibility.

VerifiedSTDIODesktop onlyKnowledge & MemoryDeveloper Tools

Overview

AI-generated overview

Local-first project memory for AI coding agents: store, search and retrieve facts, decisions and code context that persist across sessions and IDEs.

What you can do
  • Store observations, decisions, gotchas and fixes as searchable project memory
  • Search project memory and fetch full details of a stored observation or durable memory
  • Build a compact task brief or context pack with start files, cautions and verification hints
  • Start coding sessions and mark memories resolved so stale items stop appearing
  • Check CodeGraph index status and manage a local media library with explicit import and attach
When to use it
Useful when you keep re-explaining the same project to new agent sessions, switch between IDEs or agents, or want design decisions and bug fixes to survive beyond a single chat.
Requirements
Runs locally over stdio via npx or a global npm install. Needs Node.js 22.18.0 or newer and Git, since project identity comes from the Git root. No API keys are declared; optional LLM-backed formation, embeddings and MiniMax media generation need their own provider configuration.
Before you install
The server writes memory, session and code-index data under the Git project and can install agent config, rules and hooks. Optional hooks capture prompts, tool events and file edits. Media generation is disabled by default because it may incur provider costs and is enabled with MEMORIX_MCP_MEDIA_GENERATION; MiniMax generation needs MINIMAX_API_KEY. Optional multi-device sync uploads project-visible observations to a configured relay.

Installation

In SourceWeft

  1. Open Memorix in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[Memorix]

Memorix

Local-first shared memory layer for AI coding agents.
One project memory system for Claude Code, Codex, CodeBuddy Code, Cursor, Windsurf, Copilot, Gemini CLI, OpenCode, Grok Build, OpenClaw, Hermes Agent, Oh-my-Pi, Pi, Kiro, Antigravity, Trae, DeepSeek Harness, WorkBuddy, and any MCP-capable agent.

[npm] [monthly downloads] [CI] [license] [stars]

Listed in the official MCP Registry
[View Memorix on MCP Toplist]

Shared Project Memory | MCP | Git Memory | Reasoning Memory | Plugins | Orchestration

Website | Chinese | Install | Capabilities | Agents | Quick Start | Memory Model | memcode | Active Work | Docs


Maintainer status and the current public work boundary live in ACTIVE_WORK.md. It is the repository's single living work tracker.

[Memorix]

Memorix gives the AI coding agents you already use a shared, searchable project memory that survives new chats, IDE switches, terminal sessions, and handoffs. The memory lives under the Git project, not inside one chat window or one tool.

Use Claude Code today, Codex tomorrow, and Cursor in the afternoon. The agent can change; the project memory stays the same.

Use Memorix when you keep re-explaining the same project to a new agent session: the last session already figured something out, another IDE cannot see it, or a design decision is buried in a chat you cannot find anymore.

ProblemWhat Memorix adds
The next session forgets what the last session learnedProject-scoped memory, session summaries, timelines, and detail retrieval
Different agents know different thingsOne local memory pool available through MCP, hooks, CLI, SDK, and the bundled terminal agent
Git records what changed, but agents cannot recall it wellGit Memory turns commits into searchable engineering facts
Architecture decisions disappear into old chatsReasoning Memory stores why choices were made, with alternatives and trade-offs
Static rule files driftGotchas, fixes, and project skills evolve from real work
Parallel agent work gets messymemorix orchestrate coordinates task context, handoffs, locks, verification, and review loops

Memorix is local-first. SQLite is the canonical store. Small projects use the in-process Orama path; larger projects use a persistent SQLite FTS5 candidate index and, when available, an optional local LanceDB semantic shadow index. Both indexes are rebuildable and are never a limit on how many durable memories you can keep. LLM-backed formation and embedding remain optional.

Capabilities

Memorix is more than a memory store. It also installs agent integrations, keeps useful work events, turns commits into project facts, exposes a local control plane, and can coordinate multi-agent work when a task needs it.

CapabilityWhat it doesEntry point
Memory AutopilotA bounded task Workset with start files, current memory, source-backed knowledge, workflow starts, cautions, and verification. Compact JSON receipts keep fallback CLI use bounded too.memorix context "..." --brief-json, memorix resume "..." --brief-json, memorix_project_context
Observation MemorySearchable facts, fixes, gotchas, session summaries, and implementation notes scoped to the current Git projectmemorix memory, MCP memory tools
Curated Long-term MemoryDeliberately reviewed episodic, semantic, and procedural memory with source evidence. Only an explicitly portable user item can cross local projectsmemorix memory long-term
Code State and Code MemoryVersioned local code snapshots, source-backed TypeScript/JavaScript symbols and relations, file/symbol links, and freshness checks. Other languages keep the honest Lite fallback; an already-indexed local CodeGraph or SCIP result can add a bounded external outline without taking over the local index.memorix codegraph status|refresh|init|sync, automatic context refresh
Git MemoryCommit-derived engineering facts that answer what changed, where, and why it mattersmemorix ingest commit, git hook
Reasoning MemoryDesign rationale, alternatives, trade-offs, and risks that should survive beyond one chatmemorix reasoning, memory formation
Knowledge WorkspaceReview-gated source-backed claims, Markdown pages, and canonical project workflows; proposals never overwrite reviewed pages silentlymemorix knowledge, memorix knowledge workflow
Agent setupOne setup path for MCP, rules, hooks, skills, plugins, bundles, or extensions depending on the agentmemorix setup --agent <agent>
Agent doctorChecks whether agent MCP config and guidance are current, then repairs Memorix-owned entries when neededmemorix doctor agents, memorix repair agents
Hooks and skillsOptional capture from supported agents, plus reusable project skills promoted from durable knowledgememorix hooks, memorix skills
Dashboard and HTTPA local web UI and shared MCP endpoint for browsing memory, project state, teams, diagnostics, and preview-first cleanup, consolidation, deduplication, and retention actionsmemorix dashboard, memorix background start
Orchestration and team workTask planning, worker handoffs, file locks, messages, verification gates, and review loopsmemorix orchestrate, memorix team, memorix lock
memcodeA bundled terminal coding agent that already reads and writes the same project memorymemorix, memcode
CLI and SDKScriptable access for automation, imports/exports, diagnostics, and custom integrationsmemorix ..., createMemoryClient()
Optional multi-device syncPrivacy-filtered observation events with local SQLite kept canonical; default project scope, optional --scope user for every local project; GitHub JSONL, filesystem, S3, or Postgres relaymemorix sync store status|push|pull

[Works with every agent]

Memorix connects through the interfaces each agent already supports: plugin packages, MCP, project rules, hooks, skills, or the bundled terminal agent. memorix setup chooses the right setup for each agent and keeps stdio MCP as the default transport.

[Claude Code]
Claude Code
official plugin + MCP + hooks + skills
[Codex CLI]
Codex CLI
official plugin + MCP + AGENTS.md
[GitHub Copilot CLI]
GitHub Copilot CLI
plugin + MCP + hooks + skills
[Cursor]
Cursor
MCP + rules + skills
[Windsurf]
Windsurf
MCP + rules + hooks
[Gemini CLI]
Gemini CLI
extension + MCP + hooks + skills
[OpenCode]
OpenCode
local plugin + MCP + skills + AGENTS.md
[pi coding agent]
pi coding agent
package + extension + skill
[Kiro]
Kiro
MCP + steering + hooks
[Antigravity]
Antigravity
plugin + MCP + hooks + skills
[Trae]
Trae
MCP + project rules
[memcode]
memcode
bundled terminal agent
[OpenClaw]
OpenClaw
bundle + MCP + hooks + skills
[Hermes Agent]
Hermes Agent
plugin + MCP + hooks + skills
[Oh-my-Pi]
Oh-my-Pi
package + MCP + hooks + skills
[DeepSeek Harness]
DeepSeek Harness
MCP patch + AGENTS.md + skills
[Any MCP Client]
Any MCP Client
stdio or HTTP MCP
[Grok Build]
Grok Build
native hooks + AGENTS.md

Works with agents that speak MCP, expose hooks/rules, or support plugin/package entries. One local-first memory layer shared across all of them.

Integration surfaces:

SurfaceWhat it doesMemorix entry
Setup commandInstalls the recommended one-time user-level Memorix integrationmemorix setup --agent <agent> --global
MCPGives an agent compact Memorix tools for project context, search, detail retrieval, storage, and resolutionbundled in setup packages or memorix serve
Usage guidanceTeaches an agent when and how to use Memorix without forcing memory lookup on every promptbundled or generated by memorix setup
HooksOptional capture of prompts, tool events, file edits, session lifecycle events, and native compaction checkpoints where the agent exposes thembundled or generated by memorix setup
Plugin or bundle packageInstalls plugin, compatible-bundle, or package files where the agent supports themClaude Code, Codex, CodeBuddy Code, GitHub Copilot CLI, Antigravity, OpenClaw, Hermes Agent, Oh-my-Pi, Pi
ExtensionInstalls extension files where the agent supports themGemini CLI
Local pluginInstalls local plugin files where the agent loads them directlyOpenCode
MCP/rules configWrites MCP, rules, steering, guidance, or hook config for IDEs and agents that expose those surfacesCursor, Windsurf, Kiro, Trae, DeepSeek Harness, WorkBuddy
SkillsTurns durable project knowledge into reusable task guidancememorix skills and memorix_promote
memcodeOpens the bundled terminal agent that already uses Memorix memorymemorix or memcode

See Integration Surfaces for the current support matrix and what each generated file means.

Use the same setup command without --global only when you intentionally want repo-local guidance, rules, or hooks in the current Git project.

CLI, MCP, and HTTP are different entry points:

  • memorix CLI is the direct command surface for setup, memory search/store, Git Memory, import/export, dashboard, orchestration, diagnostics, and automation.
  • memorix serve is the stdio MCP bridge used by IDEs and coding agents. Its default tool profile is micro, so agents see only the compact core tool set.
  • memorix background start / memorix serve-http run the HTTP service for a shared endpoint, dashboard, VPS Docker deployment, or multiple clients.

Multi-device store sync is opt-in and separate from HTTP sharing. It never uploads the live SQLite database or WAL files. By default it only relays qualified project-visible observations for the current Git project; personal, agent-targeted, candidate, and ephemeral records stay local. Pass --scope user to include every local project. Set MEMORIX_SYNC_PROVIDER and inspect memorix sync store status --json before the first push.

[Install]

Requirements:

  • Node.js >=22.18.0
  • Git, because project identity is derived from the real Git root

Install and initialize:

bash
npm install -g memorixmemorix init --global                   # optional defaultsmemorix setup --agent claude --global   # or codex, copilot, cursor, pi, gemini-cli, opencode,                                       # codebuddy, windsurf, kiro, antigravity, trae, openclaw, hermes, omp

memorix init is optional. It creates or updates TOML configuration:

  • ~/.memorix/config.toml for global defaults
  • <git-root>/memorix.toml for optional project overrides

Legacy memorix.yml, .env, and ~/.memorix/config.json are still read for compatibility, but new setup flows use TOML.

If you want repo-local guidance or hooks for a specific repository, run the same setup command from inside that repo without --global. Codex is the exception: its supported path is the user-level plugin install, so Memorix leaves project .codex configuration alone.

[Quick Start]

Connect an existing agent

Use the setup command first. The global form is the normal one-time install:

bash
memorix setup --agent claude --globalmemorix setup --agent codex --globalmemorix setup --agent copilot --globalmemorix setup --agent cursor --globalmemorix setup --agent pi --globalmemorix setup --agent gemini-cli --globalmemorix setup --agent opencode --globalmemorix setup --agent windsurf --globalmemorix setup --agent kiro --globalmemorix setup --agent antigravity --globalmemorix setup --agent trae --globalmemorix setup --agent openclaw --globalmemorix setup --agent hermes --globalmemorix setup --agent codebuddy --globalmemorix setup --agent omp --globalmemorix setup --agent dsh --globalmemorix setup --agent workbuddy --globalmemorix setup --agent grok --global

What it installs depends on the target agent, but the goal is the same: make Memorix available wherever you open that agent without asking you to wire every repo by hand.

  • Claude Code: installs the Memorix plugin package, adds CLAUDE.md guidance, and enables hook capture when you do not pass --noHooks.
  • Codex: installs one user-level Memorix plugin with bundled stdio MCP, skills, and lifecycle hooks. It does not write project-local .codex config or change your model, approval, or sandbox settings. When Codex asks, review the plugin hook definition once with /hooks; --noHooks skips automatic capture.
  • GitHub Copilot CLI: installs the Copilot plugin package and official Memorix skills.
  • Pi: installs the Pi extension/skills package and native MCP config (Pi 1.0+): ~/.pi/agent/mcp.json with --global, or .pi/mcp.json for project setup.
  • Cursor: writes Cursor MCP/rules/config entries in the chosen scope.
  • Gemini CLI: installs the extension package, GEMINI.md context, hooks, and skills. Antigravity CLI has an official Gemini CLI migration path, but Gemini CLI remains an active standalone target.
  • OpenCode: installs the local plugin file, opencode.json, skills, and AGENTS.md guidance.
  • Windsurf, Kiro, Trae: write the MCP/rules/hooks files the target supports.
  • Antigravity: installs the official plugin package with plugin.json, mcp_config.json, hooks.json, rules, and skills under ~/.gemini/config/plugins/memorix or .agents/plugins/memorix.
  • OpenClaw: installs an OpenClaw-compatible bundle with .mcp.json, official skills, and an OpenClaw HOOK.md/handler.ts hook pack.
  • Hermes Agent: installs into Hermes home (%LOCALAPPDATA%\hermes on native Windows, ~/.hermes elsewhere, or HERMES_HOME), enables the plugin in config.yaml, registers plugin hooks, slash/CLI commands, skills, and writes MCP config.
  • CodeBuddy Code: installs a user-scope local marketplace plugin under ~/.codebuddy/memorix-local with MCP, skills, and hooks. It does not change existing CodeBuddy model, permission, or settings files; CodeBuddy keeps third-party hook approval in its own /hooks flow.
  • Oh-my-Pi: installs an omp.extensions package with extension hook events, a memorix command, official skills, and writes MCP config.
  • DeepSeek Harness: writes a Memorix @deepseek-ai/dsh-mcp-client row into $DSH_HOME/cordis.patch.yml (default ~/.dsh/cordis.patch.yml), appends guidance to the harness AGENTS.md, and installs official skills under $DSH_HOME/skills. The row follows DSH's own shipped Memorix reference, so tools appear as mcp__memorix__*.
  • WorkBuddy: writes a Memorix MCP server row into ~/.workbuddy/mcp.json (or <project>/.workbuddy/mcp.json for project installs) and appends guidance to AGENTS.md. Tools appear as mcp__memorix__*; there is no hooks surface.
  • Grok Build: installs native lifecycle hooks under ~/.grok/hooks/memorix.json and guidance in ~/.grok/AGENTS.md. MCP stays host-owned by default; pass --mcp http to write [mcp_servers.memorix] with url = "http://localhost:3211/mcp". Project-local hooks require Grok /hooks-trust, while global hooks are trusted. Set GROK_HOME to use a custom Grok home.

Need a quieter install? Add --noHooks for targets where setup can control hook capture separately from the host's official package entry. It keeps MCP and guidance, but skips Memorix hook capture.

If you intentionally want repo-local guidance or hooks, run the same command inside that repository without --global.

If your agent only needs a manual MCP entry, use stdio:

json
{  "mcpServers": {    "memorix": {      "command": "memorix",      "args": ["serve"]    }  }}

For an npm-based MCP client or registry tester, use the complete command npx -y memorix serve. The serve argument matters: memorix without arguments opens the bundled memcode terminal agent when run by a human, while MCP clients should start the stdio server explicitly.

For a manually managed Claude Code entry, add "alwaysLoad": true inside the memorix server object. This lets Claude Code expose Memorix tools during print-mode startup; memorix doctor agents --agent claude can detect and repair a missing setting.

HTTP is not required for normal setup. Use it only when you intentionally want a shared background service, dashboard, VPS Docker deployment, or multiple clients using the same endpoint. Local development uses the Node service directly and does not require Docker:

bash
memorix background start

Then point the client at:

text
http://localhost:3211/mcp

In HTTP mode, agents should bind the active repo explicitly with memorix_session_start(projectRoot=...) when the client can provide the workspace path. Git remains the final source of truth for project identity.

Uninstall

Preview what will be removed:

bash
memorix uninstall --dry-run

Stop the background service and remove hooks:

bash
memorix uninstall --background --hooks

Full cleanup:

bash
memorix uninstall --yes --background --hooks --purge-datanpm uninstall -g memorix

memorix uninstall reports MCP config entries for manual cleanup instead of silently editing every MCP file it finds.

Work from the CLI

bash
memorix --cwd /path/to/repo resume "continue release blocker"memorix checkpoint listmemorix memory search --query "release blocker"memorix memory --help
# Optional: activate one local agent identity for personal/team records and coordination.memorix identity join --agent-type codex --name codex-mainmemorix memory store --text "private investigation note" --visibility personalmemorix task create --description "verify the release package"
# Deliberate durable memory: create a candidate, then review it before it can enter a Workset.memorix memory long-term add --kind procedural --scope user --portability portable --title "Release verification preference" --text "Run focused tests and a packed-package smoke before publishing." --applicability "When publishing an npm package."memorix memory long-term qualify --id <id> --reason "The user explicitly confirmed this preference."memorix memory long-term approve --id <id> --reason "Reviewed for future local projects."
memorix transfer export --format json --out ./.memorix-export.jsonmemorix transfer import --file ./.memorix-export.jsonmemorix reasoning search --query "why sqlite"memorix git-hook --forcememorix ingest log --count 20memorix workbench

The CLI is direct and does not depend on an MCP session. It binds to the current Git project, or to the project supplied with --cwd. Without an active identity it reads, writes, and exports project-visible memory only. Use memorix identity join or memorix identity use --agent-id <id> only when you intentionally need personal/team memory or coordinated task actions; memorix identity clear returns the terminal to project scope. --as <active-agent-id> is the one-command alternative for scripts. Both camelCase and kebab-case flags are accepted.

Manage controlled media

Media is opt-in. An explicit local import is copied into Memorix's local data directory, hashed, and kept outside the Git worktree. It becomes normal memory only when you attach it. Memorix never captures every screenshot or tool output. An asset may be up to the configured media limit (100 MiB by default). Automatic vision analysis is deliberately capped at 20 MiB; a larger image is still kept and can be attached, but Memorix records a clear text fallback instead of sending an oversized payload to a model provider.

bash
memorix media import --path ./architecture.png --jsonmemorix media attach --asset <asset-id> --title "Architecture diagram" --jsonmemorix media list --kind image --jsonmemorix media show --asset <asset-id> --jsonmemorix media remove --asset <asset-id> --force --json
# Controlled derivations: explicit, bounded, and attachable to memory.memorix media derive-pdf --asset <asset-id> --attach --jsonmemorix media derive-audio --asset <asset-id> --attach --json
# Legacy image analysis now uses the same controlled asset lifecycle.memorix ingest image --path ./architecture.png --json

MiniMax image generation is a deliberate CLI operation. Video generation returns a durable job immediately; inspect or cancel that job rather than waiting in an agent request.

bash
# Configure MINIMAX_API_KEY in your user environment or .env, never in Git.memorix media generate image --prompt "A clean system architecture diagram" --json# Image-to-image with a reference image (MiniMax image-01 / image-01-live):memorix media generate image --prompt "Keep the subject, change the background" --image ./reference.png --jsonmemorix media generate video --prompt "A short product walkthrough" --jsonmemorix media status --job <media-job-id> --jsonmemorix media cancel --job <media-job-id> --json

memorix_media is the compact MCP companion in every profile, including micro. It supports import, attach, list, show, PDF/audio derivations, generation, and job status. MCP image and video generation are disabled by default because they may incur provider costs. Set MEMORIX_MCP_MEDIA_GENERATION=1 only after you deliberately want an agent to request billed MiniMax output. The normal OpenRouter text embedding lane is still text-only; media vectors are created only by a provider that explicitly declares support for that modality. Text descriptions and attachments remain a useful ordinary retrieval fallback.

Use the bundled terminal agent

bash
memorix# ormemcode

This opens memcode, a terminal coding agent that uses the same Memorix project memory as your MCP-connected agents.

[Memory Model]

LayerStoresBest for
Observation Memoryfacts, gotchas, fixes, implementation notes"How does this work?"
Reasoning Memoryrationale, alternatives, constraints, risks"Why did we choose this?"
Git Memorycommit-derived engineering facts"What changed and where?"
Code Memoryfiles, symbols, import edges, and memory-to-code freshness"Which current code should I inspect first?"
Curated Long-term Memoryreviewed episodic events, stable facts, or reusable procedures with evidence"What should this agent still know or do later?"
Compact Continuityrecent host-native compact summaries or lifecycle markers"What survived the last context compaction?"

Search is project-scoped by default. scope="global" searches across projects. The search boosts Git Memory for "what changed" questions and reasoning records for "why" questions.

Long-term memory is deliberately not an automatic dump of every note. A source observation, Claim, workflow, session, and code snapshot keep their existing roles. An agent may ask memorix_store to create an additional long-term record; an explicit request auto-qualifies and enters task briefs as a durable anchor, while hook-captured or Git-derived candidates stay pending until qualified. Approval stays an explicit operator review. Use memorix memory long-term approve|archive|supersede to record the evidence-backed lifecycle. Only a manually created or user-confirmed user + portable item may be considered in another local project; project code, Git facts, tests, workflows, sessions, and observations cannot be promoted into portable user memory.

memorix context "..." is the default Memory Autopilot entry. It builds a compact task-lensed brief for agents: bugfix tasks lean toward tests and repros, release tasks lean toward package/changelog/build checks, onboarding tasks lean toward docs and entry points, and stale or unrelated memories stay in warning lanes instead of flooding the prompt. Use --fallback --brief-json when MCP is unavailable and a CLI fallback needs the same bounded brief plus a receipt of what was selected or omitted; --json remains the detailed diagnostic form. A normal new task does not receive an old-session dump. For an explicit continuation, memorix resume "..." adds only the latest useful session summary, up to three readable durable anchors, and at most one recent source-labelled host compact checkpoint. A durable anchor carries a durable:<id> reference, so an agent can expand the full reviewed record through memorix_detail only when needed. Keyword matches stay primary; when no reviewed durable item matches and an embedding provider is configured, Memorix makes one 1.8-second, no-retry semantic fallback for paraphrases or cross-language tasks. A slow or unavailable provider simply leaves the normal keyword-only Workset intact. A checkpoint is lifecycle evidence, not durable memory or a transcript backup. Agents should read the suggested files before trusting stored memory.

[Runtime Modes]

You wantRun
Install an agent integration packagememorix setup --agent <agent> --global
Check or repair an agent integrationmemorix doctor agents --agent <agent>, memorix repair agents --agent <agent>
Manually expose stdio MCPmemorix serve
Run shared HTTP MCP plus dashboardmemorix background start
Debug HTTP MCP in the foregroundmemorix serve-http --port 3211
Inspect or manage memory directlymemorix memory, memorix reasoning, memorix session, memorix ingest, memorix media
Manage reviewed long-term memory`memorix memory long-term list
Retire memories from retrievalmemorix purge (current project), memorix purge --all --yes (everything)
Inspect native compaction continuity`memorix checkpoint list
Use the interactive terminal memory control planememorix workbench
Use the bundled terminal agentmemorix or memcode
Run orchestrated subagent workmemorix orchestrate --goal "..."

memorix serve defaults to --mode micro (9 tools) to keep MCP tool schemas small for agents. memorix setup writes --mode lite (21 tools) into the installed MCP config so the normal memory, continuity, and session surface is reachable. Use --mode team (29 tools) for coordination tools, or --mode full (48 tools) for advanced and compatibility tools such as checkpoint inspection.

Shortcuts and aliases: memorix search / remember / recent are direct query shortcuts, bg/bs start the background service, hook runs the hook launcher, and memorix config get|path|migrate inspects or migrates config files.

memorix orchestrate uses the current checkout for single-worker runs. When running multiple workers, it creates task worktrees under .worktrees/ and merges successful task branches back. Use --isolated to force worktree isolation for one worker, --no-worktree to disable it, --allow-dirty to run with uncommitted changes, and --no-auto-merge to preserve task worktrees for manual review.

[memcode]

memcode is the terminal coding agent bundled with Memorix. It can read, edit, run commands, resume sessions, switch models, and use /memory commands — all backed by the same project memory as your MCP-connected agents.

Use it when you want a terminal agent with memory already wired in.

text
one Git project -> one shared Memorix memory pool

See docs/MEMCODE.md for the memcode-specific guide.

[Configuration]

Minimal ~/.memorix/config.toml:

toml
[agent]provider = "openai"model = "gpt-4o"api_key = "..."
[memory.llm]provider = "openai"model = "gpt-4o-mini"api_key = "..."
[embedding]provider = "auto"
[memory]inject = "minimal"formation = "active"

Use [memory.llm] and [embedding] for Memorix memory quality and retrieval. Use [agent] for the model memcode talks to while coding. Keep credentials in global config or environment variables, and do not commit secrets.

For the optional Atlas Cloud memory preset, run memorix init and choose Atlas Cloud, or set provider = "atlascloud" in [memory.llm]. It uses the OpenAI-compatible https://api.atlascloud.ai/v1 endpoint and reads ATLASCLOUD_API_KEY or the explicit MEMORIX_LLM_API_KEY.

For OpenRouter embeddings, use provider = "api", base_url = "https://openrouter.ai/api/v1", and model = "qwen/qwen3-embedding-8b". Memorix accepts OPENROUTER_API_KEY for that embedding endpoint; MEMORIX_EMBEDDING_API_KEY remains the explicit override.

For Requesty, choose Requesty in memorix init or set provider = "requesty" in [memory.llm] (endpoint https://router.requesty.ai/v1, key from REQUESTY_API_KEY or MEMORIX_LLM_API_KEY). Requesty embeddings use provider = "api", base_url = "https://router.requesty.ai/v1", and model = "openai/text-embedding-3-small" with REQUESTY_API_KEY.

For API Route, choose API Route in memorix init or set provider = "apiroute" in [memory.llm]. The preset uses https://global.api-route.com/v1 and deepseek-v4.1-flash, with your own API_ROUTE_API_KEY or MEMORIX_LLM_API_KEY. It is opt-in memory LLM processing; embeddings and memcode's model registry are configured separately. See configuration.

For Cheaper Inference, choose Cheaper Inference in memorix init or set provider = "cheaperinference" in [memory.llm]. The preset uses https://api.cheaperinference.com/v1 and gpt-5.4-mini, with your own CHEAPER_INFERENCE_API_KEY or MEMORIX_LLM_API_KEY. It is opt-in memory LLM processing; embeddings and memcode's model registry are configured separately. See configuration.

For Runcrate, choose Runcrate in memorix init or set provider = "runcrate" in [memory.llm]. The preset uses https://api.runcrate.ai/v1 and the open-weight deepseek-ai/DeepSeek-V4.1-Flash, with your own RUNCRATE_API_KEY or MEMORIX_LLM_API_KEY. It is opt-in memory LLM processing; embeddings and memcode's model registry are configured separately. See configuration.

For controlled MiniMax media generation, set MINIMAX_API_KEY (global) or MINIMAX_CN_API_KEY (China region) in your environment or .env. The media library never stores that key, a signed output URL, or base64 payloads. CLI generation is explicit; MCP generation additionally requires MEMORIX_MCP_MEDIA_GENERATION=1.

[Docker]

Docker is a VPS/hosted HTTP deployment option, not a requirement for local development or stdio MCP:

bash
docker compose up --build -d

Then open:

  • dashboard: http://localhost:3211
  • MCP: http://localhost:3211/mcp
  • health: http://localhost:3211/health

The container must be able to access the repository path passed as projectRoot for project-scoped Git and config behavior.

[SDK]

Use Memorix directly from TypeScript:

ts
import { createMemoryClient } from 'memorix/sdk';
const client = await createMemoryClient({ projectRoot: '/path/to/repo' });
await client.store({  entityName: 'auth-module',  type: 'decision',  title: 'Use JWT for API auth',  narrative: 'Chose JWT because the API is stateless and used by multiple clients.',});
const results = await client.search({ query: 'auth decision' });await client.close();

[Docs]

Start hereUse when
Docs MapYou want the shortest route to the right guide
Setup GuideInstalling, using memorix setup, choosing stdio vs HTTP
Integration SurfacesPlugin packages, MCP, project rules, hooks, and skills support
ConfigurationTOML config, model lanes, compatibility files
API ReferenceMCP tools and CLI commands
Git MemoryCommit ingestion and searchable engineering truth
DockerContainerized HTTP service
memcodeUsing the bundled terminal agent
Agent PlaybookAI-facing execution guide for install, binding, hooks, and troubleshooting
DevelopmentContributing, testing, release checks
ChangelogWhat changed in each release

LLM-friendly summaries: llms.txt and llms-full.txt.

[Development]

bash
git clone https://github.com/AVIDS2/memorix.gitcd memorixnpm installnpm run lintnpm testnpm run build

Community

Desktop and shell integrations built on Memorix:

  • omarchy-memorix — a native Omarchy shell bar widget: pool stats, live global search, per-project breakdown, recent memories, and a workbench launcher. Read-only over ~/.memorix/data; no daemons, no telemetry.

Built something on top of Memorix? Open a PR to list it here.

[Acknowledgements]

Memorix draws from the MCP ecosystem and prior memory projects such as mcp-memory-service, MemCP, claude-mem, and Mem0. memcode is based on the Pi coding-agent codebase and adapts its terminal-agent model for the Memorix ecosystem.

[License]

Apache 2.0

Star History

[Memorix Star History]

Updated automatically from GitHub's privacy-safe star history API. No generated PRs.

Source: README.md at commit 082681e

Tools

9

memorix_store

Store Memory

Store a new observation/memory. Automatically indexed for search. Use type to classify: gotcha ([GOTCHA] critical pitfall), decision ([DECISION] architecture choice), problem-solution ([FIX] bug fix), how-it-works ([INFO] explanation), what-changed ([CHANGE] change), discovery ([DISCOVERY] insight), why-it-exists ([WHY] rationale), trade-off ([TRADEOFF] compromise), session-request ([SESSION] original goal). Project visibility is the default. Personal or team visibility requires an explicitly joined coordination identity. Set longTerm only when the caller explicitly wants an additional source-backed long-term candidate; it is never injected until an operator records a review through the CLI. For a read-only task, do not store unless the user explicitly asks to save a record.

ParameterstyperequiredfactstitlerequiredconceptslongTermprogresstopicKeynarrativerequiredentityNamerequiredvisibilityattachmentsfilesModified+3 more

memorix_project_context

Memory Autopilot Project Context

Build a compact Memory Autopilot brief for the current coding task. Schedules Code Memory refresh when needed, includes Start here files, reliable code-bound memories, stale/suspect cautions, and verification hints. Use this at the start of a new coding turn or after switching tasks.

ParameterstaskagentlimitformattaskIdrefresh

memorix_codegraph_status

CodeGraph Memory Status

Show CodeGraph Memory provider and index status for the current project.

Takes no parameters.

memorix_context_pack

Context Pack

Build a prompt-ready working context pack for a coding task. Combines relevant memories, CodeGraph Memory facts, freshness warnings, suggested reads, and verification hints. After a complete memorix_project_context brief, provide purpose only when deliberately expanding beyond it.

Parameterstaskrequiredlimitpurpose

memorix_resolve

Resolve Memories

Mark observations as resolved (completed/no longer active). Resolved memories are hidden from default search but can still be found with status="all". Use this to mark completed tasks, fixed bugs, or outdated information so they don't pollute future context.

Parametersidsrequiredstatus

memorix_detail

Memory Details

Fetch full observation, mini-skill, or curated durable-memory details — includes source kind (explicit memory / hook trace / git evidence), value category, and cross-references (~500-1000 tokens each). Do not re-fetch content already covered by a complete memorix_project_context brief unless a specific fact is still missing or the user asks for deeper history; provide purpose when intentionally expanding. Always use memorix_search first to find relevant IDs, then fetch only what you need. Accepts typed refs from search results (e.g. "obs:42", "skill:3") and durable refs from a project brief (e.g. "durable:<uuid>") via the typedRefs field, or legacy numeric ids / object refs for backward compatibility.

ParametersidsrefsforcepurposetypedRefs

memorix_session_start

Start Session

Start a new coding session. Returns a compact continuation card with the latest handoff and a few memory references. Call this at the beginning of a session to track activity; retrieve a referenced memory only when it is relevant. Any previous active session for this project will be auto-closed. By default this is lightweight: it binds the project, opens a session, and avoids dumping full history into the new context. Coordination identity is opt-in via `joinTeam: true` or a separate `team_manage` join call. IMPORTANT for HTTP/control-plane mode: pass `projectRoot` with the absolute path to your workspace root (e.g., the directory open in your IDE). Memorix uses this to detect the git project and bind this session to the correct project context. Without it, project-scoped tools will be disabled.

ParametersroleagentjoinTeamagentTypesessionIdinstanceIdprojectRoot

memorix_media

Manage Controlled Media

Use the controlled local media library for an explicit import, attachment, inspection, or MiniMax generation request. Assets stay outside the Git worktree and enter normal memory only when attach is explicitly true. Use the CLI for destructive removal, quota cleanup, and direct generation. MCP generation is disabled by default and requires MEMORIX_MCP_MEDIA_GENERATION=1 after the operator reviews provider billing.

ParameterskindpathjobIdlimittitleactionrequiredattachassetIdmaxCharsmaxPagesnarrative

Version history

13
  1. v1.10.2LatestOct 30, 2026
  2. v1.10.1Oct 23, 2026
  3. v1.10.0Oct 23, 2026
  4. v1.9.12Oct 17, 2026
  5. v1.9.11Oct 16, 2026
  6. v1.9.10Oct 9, 2026
  7. v1.9.9Oct 2, 2026
  8. v1.9.8Oct 2, 2026
  9. v1.9.7Sep 29, 2026
  10. v1.9.6Sep 23, 2026
  11. v1.9.5Sep 20, 2026
  12. v1.9.4Sep 18, 2026
  13. v1.9.3Sep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts