rms-memory-mcp
Persistent, local, cross-IDE memory for AI agents — markdown source of truth, LanceDB-powered semantic search, zero cloud dependency
Install / Use
claude mcp add max-ramas -- npx -y github:max-ramas/rms-memory-mcpIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Content & MediaSupported Platforms
Our assessment of rms-memory-mcp
rms-memory-mcp scores 78/100 on our quality scale, 1069th of 1,188 Content & Media skills we index.
Its MCP Server is 39 KB long, well organised into 26 sections with 17 code examples: long enough that it reads more like full documentation than a focused instruction file, which agents can find harder to follow.
It has 43 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 12 days ago, so rms-memory-mcp is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
rms-memory-mcp compared with similar skills
All 4 of these similar skills score higher than rms-memory-mcp; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| rms-memory-mcp (this skill)by max-ramas | 78 | 43 | 12d ago | MCP Server |
| headroomby headroomlabs-ai | 100 | 78.0k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 104.6k | 2d ago | MCP Server |
| Scraplingby D4Vinci | 100 | 90.0k | today | MCP Server |
| crawl4aiby unclecode | 100 | 86.4k | 1d ago | MCP Server |
Frequently asked questions
- How do I install rms-memory-mcp?
- Run
claude mcp add max-ramas -- npx -y github:max-ramas/rms-memory-mcp. The install tabs above show the steps for each supported agent. - Which AI agents does rms-memory-mcp work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is rms-memory-mcp safe to use?
- It is MIT-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is rms-memory-mcp still maintained?
- The repository was last updated 12 days ago, so rms-memory-mcp is actively maintained.
Skill content
View source on GitHub🧠 RMS Memory MCP
Version: 1.3.0 (2026-10-13) · companion GUI 1.3.0 (unified numbering)
Persistent, local-first memory for your AI coding agents.
Stop re-explaining your architecture to Cursor, Zed, and Claude Code and other IDEs every single session.
Features • Download • Install • Quick Start • CLI • MCP Tools • Architecture
</div><div align="center"> <a href="https://ko-fi.com/M7I020HKXX" target="_blank" rel="noopener noreferrer"> <img src="https://ko-fi.com/img/githubbutton_sm.svg" alt="ko-fi"> </a> </div>
The Problem
You're developing a single project but switching between different agents — Cursor, Zed, Claude Code, OpenCode, etc. Every one of them loses context of architectural decisions, system requirements, and user preferences the moment you close the tab. You end up re-explaining the same things over and over, or copy-pasting a stale CLAUDE.md between tools.
RMS Memory MCP bridges this gap: a single, isolated, centralized Markdown vault — perfectly structured for LLM consumption — that any MCP-compatible IDE can read from and write to.
🖥️ Prefer a GUI over raw Markdown?
RMS Memory GUI turns your vault into a visual workspace — full graph editor, per-project Git & GitHub sync, one-click Doctor repair, and an AI-assisted Wiki generator (bring your own key). One-time desktop app, works on top of everything below. The MCP server stays 100% free and standalone either way.
✨ Key Features
| | |
|---|---|
| 🗂️ Global Centralized Vaults | Project context lives outside your repo — zero .mcp file pollution. |
| 🔍 Hybrid Retrieval (LanceDB) | Embedded Vector Search + Tantivy Full-Text Search for zero-fail context hits. |
| 🌐 Multilingual Semantic Parsing | fastembed-rs + multilingual-e5-small by default — native Russian & English understanding. Since 1.3.0 rms-memory embedding use switches to another bundled model or a local Ollama model (each keeps its own index), and rms-memory embedding eval measures hit@k / MRR on your own vault. |
| 🌳 AST Markdown Chunker | pulldown-cmark-based chunking keeps code blocks and lists bound to their parent heading. |
| 🧩 Semantic Code Memory | Optional Tree-sitter indexing for Rust, Go, JS/JSX, TS/TSX, Python, C/C++, Java, Ruby, Swift, C#, PHP, Kotlin, SQL, HTML, CSS, and Vue <script> blocks; stable segment identities and repeated preambles preserve context when large implementations split. Opt-in watch mode reindexes only dirty paths (with full-walk fallback). |
| 🕸️ Knowledge Graph (v1.2.0) | Durable Markdown/code relationships via MCP rms_graph (neighbors, path, snapshot, mutations) and optional search include_graph_neighbors. Companion GUI still owns the visual GraphView. |
| 🧹 Safe Project Lifecycle | Unregistering preserves vault/index data; permanent GUI deletion requires the exact project key, is confined to the master vault, and never touches source code. |
| 🔀 Federated Corpus Search | Search vault, code, or all; mixed results use Reciprocal Rank Fusion rather than incompatible raw vector distances. |
| 🎯 Bounded Recall (v1.0.7) | rms_search returns an inject/abstain envelope with max_chars, optional min_score, fail-closed errors, and retrieval_mode (hybrid or short-query fts_prefer). |
| ♻️ Knowledge Lifecycle | Frontmatter status / supersedes / temporal valid_* gate Lance recall; soft supersede via rms_write; Doctor freshness lint (check 7 of 8); rms-memory prune archives aged superseded notes (dry-run default). |
| 📓 Obsidian vaults (v1.3.0) | rms-memory projects attach-obsidian <PATH> indexes an existing Obsidian vault in place, strictly read-only (RMS Memory never creates, edits or deletes files in it); rms-memory import --obsidian <DIR> copies one into a project vault instead. [[wikilinks]], aliases, headings and embeds resolve the way Obsidian does in the graph, index and doctor. |
| 🌍 Local HTTP transport (v1.3.0) | rms-memory serve --http serves MCP Streamable HTTP on 127.0.0.1:7337/mcp with a bearer token from ~/.rms-memory/http-token, loopback Host/Origin checks and per-session state — for clients that cannot spawn a stdio process. See SECURITY.md. |
| 🔐 Credential refusal (v1.3.0) | rms_write and checkpoint tools refuse text containing well-known token formats (AWS AKIA…, GitHub ghp_…/github_pat_…, OpenAI/Anthropic sk-…, Slack, Stripe live, Google, npm, GitLab) or a PEM private key, naming the kind and line but never the value. Doctor check 8 reports such notes already in the vault (report only). Not a guarantee — see SECURITY.md. |
| ⬆️ Update notices (v1.3.0) | doctor checks GitHub for a newer release at most once a day (RMS_MEMORY_NO_UPDATE_CHECK=1 disables it) and warns when the running MCP server binary was replaced on disk; MCP initialize repeats the cached notice without network access. Upgrade with the tool that installed it (brew, cargo, package, archive). |
| 🔄 Session Continuity (v1.0.7) | Vault-backed checkpoints (rms_checkpoint_save/done/load/query), rms_overview project orientation (since 1.3.0 with index lag and git branch / changed files), MCP resources rms://<project>/… and prompts (session_start, save_progress, record_decision), rms_hygiene consolidation report, rms_system_instructions self-bootstrap, editor-agnostic rms-memory hook CLI, installer L3 thin adapters, and pinned notes that bypass temporal/min_confidence recall gates. |
| 🧭 Multi-project MCP routing (v1.0.8+) | Explicit project always rebinds the active vault; empty Cursor roots/list falls back to process cwd; injected rules require project: "<key>" on every memory tool call; rms-memory inject-rules [--all] refreshes keys. |
| 🔗 Cross-project federated search (v1.0.9) | Pass projects: [key, …] to rms_search / rms_code_search for read-only RRF federation. Vault/all across multiple projects requires cross_project_vault=true on every listed key (hard fail otherwise). |
| 🧊 Concurrent bind cache (v1.0.9) | Up to 4 warm Store+watcher pairs (LRU); multi-root IDE sessions stop thrashing open/close. |
| 🧱 Cargo workspace (v1.0.9+) | rms-memory-{core,index,vault,cli} path crates under crates/; public umbrella rms-memory-mcp keeps stable module paths for the GUI. cli hosts cycle-free gc/prune (1.1.1). See docs/crate-split.md. |
| 📦 Unified Releases | Public assets use rms_memory_mcp_<version>_<target>.* / rms_memory_gui_<version>_* on the same vX.Y.Z tag (MCP + GUI share numbering). Unversioned names are no longer published. |
| 🪶 Small idle footprint (v1.3.0) | Each serve process loads the embedding model only when it needs to embed and releases it after 5 idle minutes (RMS_MEMORY_MODEL_IDLE_SECS), so many IDEs with an idle server cost about 50 MB each instead of a model copy each. |
| ⚙️ Dynamic Auto-Installer | rms-memory install scans your system and wires itself into every supported IDE. |
| 📜 Rules-as-Code Patching | Non-destructive AST patching of .cursorrules, .zed/assistant.md, etc. Opt-in by default. |
| 🧪 Durable Vault Writes | rms_write creates rolling .bak backups and atomically replaces create/replace targets after fsync, so interrupted writes never expose a truncated Markdown file. Optional dry_run previews create/update/noop without touching disk or the index (fingerprint ignores volatile audit stamps). |
| 📜 File git history (v1.1.2) | Derived code_path file→commit cache (rms_file_history / rms-memory file-history); agents should not shell git log. Optional search include_file_history attaches the last 3 commits per code hit (not with federated projects). |
| 📚 Canonical Wiki Isolation | Generated <vault>/wiki/** stay Git-synchronized but are excluded from indexes/search/watchers/graph/packs; MCP write and canonical DocumentService also reject wiki paths (wiki-safe writers only). |
| 🛡️ Ten-Point Resiliency | GC, background sync, write-guard snapshots, macOS sandbox bypass, llms.txt export, path traversal + injection protection, zombie prevention, graceful shutdown. |
| 🔒 Security Hardened | Panic-free database layer, symlink traversal blocked, JSON-RPC error responses, request size limits. See SECURITY.md and NOTICE. |
| 🧠 Audit Metadata | Every record auto-receives last_modified_by, timestamp, confidence, source — agents can filter by reliability. |
| 🔀 Multi-Scope | --scope flag supports arbitrary identifiers beyond filesystem paths (thread IDs, lead IDs, etc.). |
| 🖥️ Optional Companion GUI | Paid Tauri desktop app: visual Markdown/graph editor, Git & Vault sync, Doctor dashboard, AI-assisted organizer/Wiki (BYOK), and cross-tool spend tracking — layered on top of the same vault, never required. See GUI-README.md. |
📦 Installation
Option 1: Homebrew (macOS Apple Silicon & Linux)
brew tap max-ramas/tap
brew install rms-memory-mcp
Installs a prebuilt binary — no Rust toolchain required. The formula updates automatically with every release.
Not covered by Homebrew: macOS Intel (dropped as of v1.0.1) and Windows (Homebrew doesn't run there — use Option 2 or the
.zipbelow).
Option 2: GitHub release binary
Prebuilt binaries for aarch64-apple-darwin (Apple Silicon), x86_64-unknown-linux-gnu,
aarch64-unknown-linux-gnu, and x86_64-pc-windows-msvc are published on every
release, along with
.deb/.rpm packages for Linux. One-line installers auto-detect your architecture:
curl -fsSL https://raw.githubusercontent.com/max-ramas/rms-memory-mcp/master/scripts/install.sh | bash
irm https://raw.githubusercontent.com/max-ramas/rms-memory-mcp/master/scripts/install.ps1 | iex
Option 3: Build from Source
# 1. Clone the repository
git clone https://github.com/max-ramas/rms-memory-mcp.git
cd rms-memory-mcp
# 2. Build the optimized release binary
cargo build --release
# 3. Add the binary to your global PATH
cp target/release/rms-memory ~/.cargo/bin/
crates.io (cargo install)
As of 1.1.0+, tag push publishes only the umbrella crate rms-memory-mcp
to crates.io. Internal workspace members (rms-memory-core / index / vault /
cli) stay publish = false (path deps for local builds and the companion GUI).
Release packaging flattens those crates into a staging tree via
scripts/flatten-for-crates-io.py before cargo publish (as of 1.1.1 the
staging tree also inlines rms-memory-cli) — see
docs/crate-split.md.
cargo install rms-memory-mcp
# Prefer
Truncated for display — read the full file on GitHub.
Related Skills
headroom
78.0kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Agent-Reach
104.6kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Scrapling
90.0k🕷️ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
crawl4ai
86.4kOpen-source web crawler and scraper for LLMs and AI agents: any website into clean, LLM-ready Markdown. Run it yourself, or use Crawl4AI Cloud with one key. Join our Discord https://discord.gg/VuxzM8mtf
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
