bear-notes-mcp
Bear Notes MCP 服务器
通过任何 AI 助手搜索、阅读、创建和更新您的 Bear 笔记。既可作为一键式 Claude Desktop 扩展使用,也可作为适用于任何 MCP 客户端的独立 npm 包使用。
此仅限本地的 MCP 服务器读取 Bear 的 SQLite 数据库以实现支持 OCR 的快速搜索,并使用 Bear 的原生 API 进行写入。完全隐私:无外部连接,所有处理均在您的 Mac 上完成。
示例提示词:
总结我们的对话并用它创建一个新的 Bear 笔记
就我的副业想法对我进行采访,并将要点记录在 Bear 笔记中
帮我重构“产品发布”笔记中的大纲
让我们头脑风暴一下博客文章的想法 —— 将最好的想法保存到我的 Bear 笔记中,并随着我们的进行不断完善

✨ 主要功能
13 个 MCP 工具,用于搜索、阅读、创建、更新、标记和归档笔记
OCR 搜索 —— 查找附加图片和 PDF 中的文本
基于日期的搜索,支持相对日期(“昨天”、“上周”、“上个月初”)
标签管理 —— 以树状结构列出标签、查找未标记的笔记、为笔记添加标签
新笔记约定(可选)—— 将标签放在标题之后,而不是底部
内容替换(可选)—— 替换整个笔记正文或特定部分
仅限本地 —— 无网络调用,所有数据保留在您的 Mac 上
完全隐私(当然,使用 AI 助手时发送给 AI 提供商的数据除外):此服务器不进行任何外部连接。所有处理都在您的 Mac 上使用 Bear 自身的数据库和 API 本地完成。没有额外的遥测、使用统计信息或类似内容。
📦 安装
Claude Desktop 扩展
先决条件:必须安装 Bear 应用 和 Claude Desktop。
从 Releases 下载最新的
bear-notes-mcpb-*.mcpb扩展文件确保您的 Claude Desktop 正在运行(如果未运行请启动)
双击扩展文件 —— Claude Desktop 应会显示安装提示
如果双击因某种原因无效,请打开 Claude -> Settings -> Extensions -> Advanced Settings -> 点击 "Install Extension"。
完成!
让 Claude 使用类似“在我的 Bear 笔记中搜索‘会议’”的查询来搜索您的 Bear 笔记 —— 您应该会在回复中看到您的笔记!
独立 MCP 服务器
想要将此 Bear Notes MCP 服务器与 Claude Code、Cursor、Codex 或其他 AI 助手一起使用吗?
要求:Node.js 24.13.0+
Claude Code(一条命令)
claude mcp add bear-notes --transport stdio -- npx -y bear-notes-mcp@latest其他 AI 助手
添加到您的 MCP 配置文件中:
{
"mcpServers": {
"bear-notes": {
"command": "npx",
"args": ["-y", "bear-notes-mcp@latest"]
}
}
}更多安装选项和本地开发设置 — NPM.md
🛠️ 工具
bear-open-note- 读取 Bear 笔记的全文内容,包括来自附加图片和 PDF 的 OCR 文本bear-create-note- 在您的 Bear 库中创建一个带有可选标题、内容和标签的新笔记bear-search-notes- 通过搜索文本内容、按标签过滤或日期范围来查找笔记。包括附件中的 OCR 搜索bear-add-text- 在 Bear 笔记的开头或结尾,或在由标题标识的特定部分内插入文本bear-replace-text- 替换现有 Bear 笔记中的内容 —— 可以是全文或特定部分。需要在设置中启用内容替换功能。bear-add-file- 将文件附加到现有的 Bear 笔记。提供本地文件路径(首选)或 base64 编码的内容。bear-list-tags- 以带有笔记计数的层级树形式列出 Bear 库中的所有标签bear-find-untagged-notes- 查找 Bear 库中未分配标签的笔记bear-add-tag- 为现有的 Bear 笔记添加一个或多个标签bear-archive-note- 归档 Bear 笔记,将其从活动列表中移除而不删除它bear-rename-tag- 重命名 Bear 库中所有笔记中的标签bear-delete-tag- 从 Bear 库中的所有笔记中删除标签,而不影响笔记本身bear-grab-url- 将网页保存为 Bear 笔记。Bear 会获取页面并将其转换为 markdown。
⚙️ 配置
调试日志
启用详细日志记录以进行故障排除。
Claude Desktop:Settings → Extensions → Configure (在 Bear Notes 旁边) → 切换 "Debug Logging" → Save → 重启 Claude
独立 MCP 服务器:设置环境变量
UI_DEBUG_TOGGLE=true
新笔记约定
默认情况下,通过 API 创建笔记时,Bear 会将标签放在笔记底部。启用此选项可将标签放在标题之后,并用水平线分隔。
┌──────────────────────────────┐
│ # Meeting Notes │ ← Note title
│ #work #meetings │ ← Tags right after title
│ │
│ --- │ ← Separator
│ │
│ Lorem Ipsum... │ ← Note body
└──────────────────────────────┘此约定默认禁用 —— 它是可选的,以保留现有行为。
Claude Desktop:Settings → Extensions → Configure (在 Bear Notes 旁边) → 切换 "New Note Convention" → Save → 重启 Claude
独立 MCP 服务器:设置环境变量
UI_ENABLE_NEW_NOTE_CONVENTION=true
启用该约定的独立配置示例:
{
"mcpServers": {
"bear-notes": {
"command": "npx",
"args": ["-y", "bear-notes-mcp@latest"],
"env": {
"UI_ENABLE_NEW_NOTE_CONVENTION": "true"
}
}
}
}内容替换
启用 bear-replace-text 工具以替换现有笔记中的内容 —— 可以是整个笔记正文,也可以是标题下的特定部分。
此功能默认禁用 —— 它是可选的,因为替换是一种破坏性操作。
Claude Desktop:Settings → Extensions → Configure (在 Bear Notes 旁边) → 切换 "Content Replacement" → Save → 重启 Claude
独立 MCP 服务器:设置环境变量
UI_ENABLE_CONTENT_REPLACEMENT=true
启用内容替换功能的独立配置示例:
{
"mcpServers": {
"bear-notes": {
"command": "npx",
"args": ["-y", "bear-notes-mcp@latest"],
"env": {
"UI_ENABLE_CONTENT_REPLACEMENT": "true"
}
}
}
}技术细节
此服务器直接读取您的 Bear Notes SQLite 数据库进行搜索/读取操作,并使用 Bear 的 X-callback-URL API 进行写入操作。所有数据处理都在您的机器上本地完成,没有外部网络调用。
支持的平台
仅限 macOS,因为 Bear 桌面版仅在 macOS 上运行。
日志
Claude Desktop:
MCP 服务器日志位于
~/Library/Logs/Claude/main.log,查找bear-notes-mcpMCP 传输日志位于
~/Library/Logs/Claude/mcp-server-Bear\ Notes.log
独立 MCP 服务器:
日志写入 stderr;使用
UI_DEBUG_TOGGLE=true启用调试日志记录
常见问题解答
这会窃取我的数据吗?
不会。服务器仅读取 Bear 的本地数据库(Bear 应用向您显示的数据)并使用 Bear 的原生 API 向笔记添加文本。没有网络传输,没有外部服务器。
为什么使用 SQLite 而不是仅使用 Bear 应用的原生 x-callback-url API?
对于读取操作(搜索/打开),x-callback-url API 在 x-success 响应中返回笔记数据:这需要服务器或自定义二进制文件来处理 x-success 响应 —— 这既有风险又脆弱。直接的 SQLite 只读访问对于搜索和阅读笔记来说更简单、更可靠。
为什么使用原生 Node.js SQLite 而不是第三方包?
这避免了从第三方节点包中分发 SQLite 二进制文件,这会带来供应链风险,并阻止 Claude Desktop 扩展在 macOS 上运行。
Anthropic 不会签署第三方 SQLite 二进制文件(显然),导致 macOS 安全系统标记由 Anthropic 签署的 Claude 进程试图运行由第三方签署的另一个二进制文件。因此,Claude Desktop 无法运行该扩展。
安装扩展时,我看到一个红色警告:“安装将授予对您计算机上所有内容的访问权限。” —— 这是什么意思?
这是 Claude for Desktop 对此扩展需要访问您 Mac 上的 Bear SQLite 数据库这一事实的反应。
Claude 警告系统无法区分仅访问一个文件(扩展所做的)与访问所有文件(这不是扩展所做的)的需求。
验证这一点的方法之一是在安装扩展之前让您的 Claude 分析代码库(它非常小)并告诉您。
我该如何报告错误或做出贡献?
使用 issues 或 discussions!我很乐意看到您的反馈或建议,或者您帮助使这个项目变得更好!❤️
保持更新
考虑订阅发布公告,以便在新版本发布时获知:

当有新版本发布时,我也会发布到 reddit.com/r/bearapp/。
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vasylenko/bear-notes-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server