
RootMind
io.github.cgaeking由 GitHub 账号 cgaeking 发布v2.8.3更新于 Nov 7, 2026
Search your local documents with page citations. Needs the RootMind app installed.
概览
RootMind 通过 MCP 提供只读检索工具,在本地文档索引中查找内容,并给出页码、幻灯片或工作表级别的引用。
- 可以做什么
- 按关键词检索本地文档索引,支持纠正拼错的模糊搜索
- 列出命中结果并读取命中位置前后的正文,附带页码、幻灯片或工作表标记
- 查看已添加文件夹的索引统计信息
- 所有工具均为只读,由客户端自己的模型驱动检索与阅读流程
- 适用场景
- 适合让助手基于你自己的 PDF、Office 文件、CSV、Markdown 或文本文件回答问题,并标明每个答案的出处,而不必把整个档案上传到对话中。
- 运行要求
- 需在同一台电脑上安装 RootMind 桌面应用(Windows 10/11 x64 或 Linux x86-64,暂无 macOS 版本)。需开启 MCP HTTP 服务(默认开启),它只绑定 127.0.0.1;本机客户端使用应用设置中复制的 MCP 令牌以 Bearer 方式认证。stdio 包会自动找到本机应用。
安装
在 SourceWeft 中
- 打开 控制台中的 RootMind,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
RootMind
English | Deutsch
[RootMind MCP on mcprush] [RootMind MCP server – quality and maintenance score on Glama] [Latest release] [backend CI] [desktop CI] [License: MIT] [Platform: Windows | Linux] [Downloads]
Quickstart · Install · Claude & other tools · Ollama · How it works · Security · Limitations · For developers
Ask your documents a question. Get the answer with the page it came from.
RootMind indexes the folders you choose on your own computer (PDF, Word, Excel, PowerPoint, CSV, Markdown and text files). When you ask a question, a language model searches that index and reads the passages it asks for, then answers with sources down to the page, slide or sheet. There is no embedding model and no vector database: indexing is plain full-text search in SQLite, and the model drives the retrieval.
https://github.com/user-attachments/assets/d3cc0249-a550-4de5-ae6b-55c1291a282f
- Cited answers. Every answer names its files and, where it can be resolved, the page, slide or sheet.
- Your files stay on your computer. Indexing and search are local and need no LLM and no API key. Answering a question sends the question and the excerpts the model reads to the provider you configure (Anthropic, OpenAI or xAI). With a local Ollama server as the provider, nothing leaves your computer (see Local models with Ollama).
- It reads, it does not stuff. Instead of pasting whole documents into a chat, the model searches and reads targeted windows, and every step is a visible tool call. The cost is more model round trips than classic RAG; see Why a tool loop instead of embedding RAG.
- Usable from your other tools. The same read-only tools are served over MCP, for Claude Desktop, Claude Code, n8n and other agents.
- Windows and Linux. The desktop app is in English and German; the license is MIT.
Quickstart
-
Install. Windows 10 or 11: download and run RootMind-Setup-x64.exe. Linux: the .deb, .rpm or AppImage. If Windows shows "Windows protected your PC", choose More info, then Run anyway (the installer is not code-signed yet).
-
Add a folder. Start RootMind and add a folder with your documents under Folders. Indexing starts within about a minute.
-
Ask. In Chat, tick Search only to search without an API key. For answers with sources, save an API key from Anthropic, OpenAI or xAI under Settings, or choose Ollama.
-
Use it in Claude (optional):
The remote connector belongs to your Claude account, so it works in Claude Desktop too. If you use it, you don't need the mcpb; with both, Claude shows every tool twice.
Install
Windows 10 or 11 (x64): run RootMind-Setup-x64.exe and approve the administrator prompt once; no Python is needed. It installs the app and the RootMind service, which keeps your index up to date while the app is closed and starts with Windows.
The installer is not code-signed yet: Windows SmartScreen may show "Windows protected your PC" (choose More info, then Run anyway), and Smart App Control, when it is on, may block it (see the code signing policy).
Install on Linux
x86-64 with glibc 2.35 or later (Ubuntu 22.04, Debian 12, Fedora 38, openSUSE Tumbleweed and newer):
Start RootMind from your app menu or with rootmind-desktop. On the first
start it sets up its background service for your account, without root. To
keep it running while nobody is logged in (for example for n8n on the same
computer), run loginctl enable-linger "$USER" once. For OCR with the
AppImage, install tesseract-ocr and tesseract-ocr-deu yourself.
Update and uninstall
- Update: install the new version over the old one (Windows: run the new installer; Linux: install the new package or replace the AppImage). Folders, settings, index, tokens and chats are kept.
- Uninstall on Windows: Windows Settings → Apps. Your data stays in
%ProgramData%\RootMindunless you tick Delete the application data. - Uninstall on Linux: first
/usr/lib/RootMind/backend/rootmind-backend service uninstall, thensudo apt remove root-mind(orsudo dnf remove root-mind).
Verify downloads
Every release ships SHA256SUMS.txt and a build provenance attestation for
each file:
Silent and managed installs (winget, Intune), the service in detail, WSL and upgrading from 1.x: docs/INSTALL.md.
Use RootMind in Claude and other tools
Other programs get RootMind's read-only search tools over MCP and use their own model, so RootMind needs no API key for them. Settings → MCP has everything: Local for programs on this computer, Remote / Public access with ngrok for everything else.
Use RootMind in Claude Desktop
Download rootmind.mcpb and double-click it; Claude Desktop installs it once you confirm. There is nothing to configure: it finds RootMind on this computer by itself. It needs Serve MCP over HTTP on (the default).
Claude Code
Copy MCP token under Settings → MCP → Local, then:
Use the port Settings shows if it is not 3000. Reach MCP from Claude, n8n and other clients in the app shows the command with the token filled in.
Reach MCP from n8n
Use the MCP Client Tool node:
For n8n in the cloud or on another machine, use the public address from Remote instead.
Remote: Claude on the web and on your phone
-
Create a free account at ngrok.com. Copy your ngrok Authtoken (dashboard: Getting Started › Your Authtoken) and create your free static domain under Domains.
-
In RootMind, Settings → MCP: tick Remote / Public access with ngrok, enter the Authtoken and the domain, Connect, then Turn on. The status changes to Connected.
-
On claude.ai: Customize → Connectors → Add custom connector:
Use RootMind in Claude on the web and on your phone in the app shows these values with Copy buttons.
The connector is then in the Claude app on your phone and in Claude Desktop too. Good to know:
- Anyone with the MCP token can read every indexed document through the public address. Unticking Remote closes it at once.
- Your computer must be on and awake.
- What Claude reads through RootMind goes to Anthropic.
Other cloud assistants work the same way with the public address and the MCP token. Your own tunnel (ngrok agent, Tailscale Funnel), the mcpb in detail and the MCP Registry entry: docs/MCP.md.
Local models with Ollama
Choose Ollama under Settings → LLM (or provider: ollama under llm
in config.yaml) to run the question loop against a model on your own
machine. There is no API key; the base URL defaults to
http://localhost:11434 and can point at another computer on your network.
- What stays local: with Ollama on this computer, the question, the
excerpts the model reads and the answer never leave it. With a base URL on
another computer, they go to that computer, unencrypted over plain
http://. - Tool support is required. Pick a model Ollama lists as supporting tools
(
ollama show <model>). A model without it fails with a clear message. - Context length: the loop reads document windows, and Ollama's default
context is small. Raise it (for example
OLLAMA_CONTEXT_LENGTH=16384for the server, or a Modelfile withPARAMETER num_ctx 16384), or long documents are cut off without an error. - Search first: Ollama models are not forced to call a tool on the first turn, since not every model supports that. If the first answer never looked at the documents, RootMind asks once more with an explicit instruction.
- How well a local model follows the tool loop depends on the model; the
measurements are in
backend/evals.
How it works
- Indexing uses no LLM. RootMind extracts the text of your files into a local SQLite full-text index (with page, slide and sheet markers) and skips unchanged files.
- The model chooses what to read. For a question, the model gets five read-only tools (search, fuzzy search, list, read, statistics). It searches, reads the text around a hit, searches again if needed, then answers.
- Answers carry sources: the files with page, slide or sheet, and every tool call is visible.
- MCP clients bring their own model and use the same tools.
The details, with a diagram and the limits of the loop: docs/DEVELOPMENT.md.
Why a tool loop instead of embedding RAG
A typical RAG pipeline splits documents into chunks, embeds them, retrieves the top matches by vector similarity and puts those chunks into the prompt. The model sees only what that retrieval step picked.
RootMind keeps each document's full text in a full-text index and lets the
model drive retrieval. It can search, look at the snippets, read the text
around a hit, and search again with different terms when the first query
misses. This is sometimes called RLM-style or agentic retrieval. The engine
module is named rlm_engine after that idea; in this code base it is a bounded
tool-use loop, not a model that calls itself recursively.
Trigram fuzzy search covers typos, not synonyms. Eval case c09 (the synonym trap) keeps that weakness visible.
Security model in short
- RootMind is built for one person on their own computer. The REST API binds
to 127.0.0.1, refuses connections from other machines, rejects foreign
Hostheaders and allows cross-origin requests only from the desktop app. - The RootMind service requires a bearer token on its REST API.
rootmind apifrom source runs without a token unless you ask for one; without a token, any local process can call it. - The service runs as LocalSystem but reads only what the installing account can read without administrator rights. Installing and repairing it needs one administrator approval. On Linux it runs as systemd user services of your own account, without root; file modes keep its data and tokens private to the account.
- The MCP HTTP server is on by default; it requires a bearer token and binds to 127.0.0.1. Remote access (ngrok) is off by default; turned on, anyone with the MCP token can read every indexed document through the public address.
- Indexing stays on your machine. Answering a question sends the question, search snippets and document excerpts to the LLM provider you configured.
- Indexed documents are untrusted input. All tools are read-only, document text is marked as data, and a question's tool use is capped, but prompt injection is not a solved problem.
The full threat model is in SECURITY.md.
Limitations
- The desktop app and the RootMind service run on Windows and on Linux (x86-64); there is no macOS build. The backend is cross-platform Python; CI runs its tests on Ubuntu and Windows.
- The release binaries are not code-signed yet (see Install). RootMind is not in the winget repository yet; the first submission is under way.
- Text recognition (OCR) for scanned PDFs and images is off by default and turned on per folder. It recognizes one page at a time in the background, so a large archive of scans takes hours before all of it is searchable.
- Legacy
.docand.xlsfiles go to the DOCX and XLSX parsers and usually fail to parse. - No streaming: the desktop app waits for the complete answer.
- Full-text search has no synonym or cross-language matching (see the trade-off table above).
- On Windows, installing needs an administrator account, and the service serves one account per computer: the one that installed RootMind. On Linux every account that starts RootMind gets services of its own.
- The Windows service cannot index network drives or shares.
- On Linux the service runs only while you are logged in, unless lingering
is on (
loginctl enable-linger). - Only one process per database should index. The MCP servers only serve by
default; set
RLM_DISABLE_SCHEDULER=1on any additional REST API that shares the database. - The MCP stdio server reads the list of folders at startup; restart it after changing folders.
- An incremental sync hashes every file in every configured folder, which is slow for very large folders.
For developers
Status: this is a personal project. It is not commercially maintained and comes with no support commitment. Issues and pull requests are welcome and get a best-effort response.
- docs/DEVELOPMENT.md: how it works in detail, the command line, installing for developers and servers, running from source, building the installer, tracing, tests and the repository layout.
- docs/SERVER.md: RootMind on a server for several people.
- ARCHITECTURE.md and SECURITY.md: the architecture and the threat model.
Contributing
See CONTRIBUTING.md for the development setup, checks, conventions and the release steps. Please report security issues privately as described in SECURITY.md.
License
MIT, copyright (c) 2026 Christian Gäking.
The packaged backend and the installer bundle third-party dependencies, which keep their own licenses.
Code signing policy
Releases are not code-signed yet; each release ships checksums and build provenance attestations instead (see Verify downloads). CODE_SIGNING.md describes what will be signed, the team roles and the privacy policy.
来源:README.md,提交 76a1958
工具
0版本历史
6- v2.8.3最新Nov 7, 2026
- v2.8.0Nov 3, 2026
- v2.6.1Oct 31, 2026
- v2.6.0Oct 31, 2026
- v2.5.0Oct 25, 2026
- v2.4.0Oct 22, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分