🧠 RMS Memory MCP
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
**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
---
---
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 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 indexes an existing Obsidian vault in place, strictly read-only (RMS Memory never creates, edits or deletes files in it); rms-memory import --obsidian 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). |