关于 lanternkb
lanternkb 是本地 MCP 服务,可按语义和关键词搜索选定文件,适合希望 AI 工具检索个人文件并控制文件夹访问范围的用户。它会在索引前遮蔽检测到的秘密,并将搜索留在本地,模型下载除外。
主要功能
- 01语义与关键词文件搜索
- 02按文件夹设置访问级别
- 03索引前遮蔽秘密
- 04沙箱化文件读取
- 05可选文件类型插件
适用场景
- 01按主题搜索笔记和文档
- 02在 PDF 和代码中查找词语
- 03向助手开放选定文件夹
MCP 相关
它作为本地 MCP 服务供 Claude Code 和其他 MCP 客户端使用,搜索设置时选定的文件夹。`open` 层级只返回标记为开放的文件夹中的文件。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
5收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| k | integer | 否 | |
| path | string | 否 | 仅搜索此文件夹中的文件 |
| query | string | 是 | 关键词、问题或名称;* 按最新顺序列出文件 |
| types | array | 否 | 仅搜索这些文件类型,例如 ["pdf","md"] |
| modified_after | string | 否 | YYYY-MM-DD,或相对时间:30d、2w、6m、1y 前 |
| modified_before | string | 否 | YYYY-MM-DD(该日期之前) |
详细介绍
lanternkb
为你和你选择的 AI 工具,在本地私密地搜索自己的文件。
lanternkb 会为你选择的文件夹建立索引,并按含义和精确词语进行搜索。它以本地 MCP 服务的形式运行,供 Claude Code 和其他助手使用,无需守护进程、开放端口,也不会收集遥测数据。它检测到的机密信息会在存储前进行脱敏;对于会将搜索结果发送到云端的助手,你可以决定它们能访问哪些文件夹。
安装
Apple 芯片的 macOS 14 或更高版本,或 Linux,并安装 uv:
uv tool install --managed-python --python 3.12 "lanternkb[embed,ui]"
lanternkb setup # asks for folders and whether an assistant may see them, offers the models, indexes
--python 3.12 很重要:不加此参数时,uv 可能会选择机器上已有的较旧 Python,导致安装失败。在 macOS 上,安装大约需要 0.9 GB 空间,嵌入模型还需约 1.2 GB。运行 uv tool upgrade lanternkb
即可更新。
搜索
lanternkb search "what did the plumber say about the boiler"
lanternkb search "boiler quote" --type pdf,docx --since 30d
lanternkb recent # files changed lately
lanternkb ui # the settings page, with a search box
lanternkb doctor # checks the setup and says what to fix
连接助手之前,请运行 lanternkb setup:服务会搜索你在此处选择的文件夹。
在 AI 工具中使用
Claude Code:
lanternkb mcp-setup会输出一条claude mcp add命令。运行它。- 它注册的服务只会返回你标记为开放的文件夹中的文件,不会返回其他内容。
- Claude Code 也可以使用自身的工具读取文件,因此
mcp-setup还会输出拒绝规则。将这些规则添加到~/.claude/settings.json,以阻止它的工具访问仅限本地的文件夹和索引。
**Codex、Cursor、VS Code、Gemini CLI 和其他任何 MCP 客户端:**运行 lanternkb serve --tier open,将其用作 stdio
服务。对于 Codex,在 ~/.codex/config.toml 中添加:
[mcp_servers.lanternkb]
command = "lanternkb"
args = ["serve", "--tier", "open"]
用户指南提供了其他客户端所需的 JSON 格式,以及需要留意的事项。
可读取的内容
笔记、代码、PDF、Word 和 OpenDocument 文件、富文本、已保存的网页和字幕;也可选择读取扫描页面和音频。插件可以添加文件类型、嵌入模型,以及决定哪些文件夹开放的规则(插件)。
隐私与安全
- 每个文件夹都标记为
open或local-only,新文件夹默认仅限本地。 - 凭据文件夹和疑似包含机密信息的文件会被跳过;机密信息扫描器会在内容被拆分或嵌入之前,对检测到的内容进行脱敏。任何检测到机密信息的文件都会被设为仅限本地,即使它位于开放文件夹中。
- 文件由沙盒工作进程读取,默认拒绝访问:macOS 上使用
sandbox-exec,Linux 上使用 Landlock 和 seccomp。 - 除了你同意下载的模型,不会有任何内容通过网络传输。
威胁模型说明了哪些内容受到保护,哪些不受保护。
效果如何
在一组人工生成的文件上进行测试(三个开源代码库和 654 篇生成的笔记),使用 330 个留出问题:nDCG@10 为 0.831;grooveseek 使用其重排序器时为 0.777,QMD 为 0.760;单次搜索耗时约 30 ms(使用重排序时约 120 ms,在 M5 Max 上)。在最难的留出测试中,测试内容是植入的虚假机密信息,扫描器将其中 71.9% 排除在索引之外。因此请将它视为第二道防线:将凭据文件夹排除在索引文件夹之外,或将其设为仅限本地。
限制
- 机密信息扫描器会漏掉某些机密信息;看起来像示例的值(
example、changeme、<placeholder>、${VARIABLE})不会被处理。 - 在 Linux 上,重排序在 CPU 上运行,每次搜索耗时 0.4 至 1 s,因此默认关闭,需启用后才会运行。
- 不会为电子邮件、浏览器历史记录、日历和联系人卡片建立索引。
- 扫描版 PDF 和图像需要 OCR,默认关闭。
更多信息
许可证
Apache-2.0:请参阅 LICENSE、NOTICE 和 THIRD_PARTY_NOTICES.md。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。