mcpField
B
bear-mcp

bear-mcp

本地服务
github.com/zmainen生产力036 周前更新

关于 bear-mcp

bear-mcp 是用于访问 macOS 上 Bear 笔记的 MCP 服务和 Python 库。它支持搜索和编辑笔记,读取时直接访问 SQLite,写入时使用 Bear URL 操作。

主要功能

  1. 01按文本或标签搜索笔记
  2. 02读取笔记并列出近期修改
  3. 03创建和编辑笔记内容
  4. 04将笔记移至废纸篓
  5. 05锁定或解锁笔记

适用场景

  1. 01在 Bear 中记录会议笔记
  2. 02查找并总结带标签的研究笔记
  3. 03在笔记内容中添加行内标签
  4. 04将审阅完成的笔记设为只读

MCP 相关

该服务将 Bear 笔记操作作为 MCP 工具提供,并可添加到 MCP 配置中。锁定笔记时使用 AppleScript UI 自动化。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

bear-mcp

一个 MCP 服务,可让 AI 助手(Claude 等)完整访问你在 macOS 上的 Bear 笔记。搜索、阅读、创建、编辑和锁定笔记——全程通过 AI 工作流完成。

为什么?

Bear 没有官方 API。本项目通过两种方式弥补这一缺口:

  • 读取直接访问 Bear 的 SQLite 数据库——速度快、无提示,即使 Bear 已关闭也能使用。
  • 写入使用 Bear 的 x-callback-url 方案——每次操作都会短暂打开 Bear,但可靠且不会破坏数据。
  • 锁定/解锁使用 AppleScript UI 自动化——这是唯一的方法,因为 Bear 没有在其 URL 方案中提供此功能。

它能做什么?

工具功能
bear_search按文本和/或标签查找笔记
bear_get读取笔记的完整内容
bear_recent列出最近修改的笔记
bear_tags列出所有标签
bear_create创建新笔记
bear_prepend在笔记顶部添加文本
bear_append在笔记底部添加文本
bear_replace替换笔记的全部正文
bear_trash将笔记移至废纸篓
bear_lock切换只读状态(锁定/解锁)

笔记通过 UUID(或 UUID 的前 8 个字符)而非标题进行标识。

设置

1. 安装
git clone https://github.com/zmainen/bear-mcp.git
cd bear-mcp
pip install -e .
2. 添加到 MCP 配置

在项目的 .mcp.json(或同等配置文件)中:

{
  "bear-notes": {
    "command": "python",
    "args": ["/path/to/bear-mcp/mcp_server.py"]
  }
}
3. 授予辅助功能权限(仅用于锁定)

bear_lock 使用 AppleScript 点击 Bear 的菜单项。macOS 首次会提示你授予辅助功能权限。这是一次性设置,位置在系统设置 > 隐私与安全性 > 辅助功能。

使用场景

AI 辅助记笔记。 让 AI 助手将想法、会议记录或研究内容连同适当的标签直接记录到 Bear 中。

自动添加标签。 Bear 的 add-tags URL 操作无法正常工作。本服务通过在笔记正文中写入行内 #tags 来绕过此问题,Bear 会自动识别这些标签。嵌套标签(如 #project/docs)也适用。

搜索和总结。 让 AI 帮你查找并整合笔记中的信息——它可以按文本搜索、按标签筛选并读取完整内容。

锁定已完成的工作。 使用 bear_lock 在审阅后将笔记设为只读,防止意外修改。

库的用法

底层 Python 库可以独立于 MCP 使用:

from bear_app import BearNotesAPI

bear = BearNotesAPI()  # auto-detects Bear's database

notes = bear.search_notes("query", tag="project")
note = bear.get_note(note_id="83779062-...")
print(note.title, note.is_locked, note.locked_date)

bear.create_note(title="New note", text="body", tags=["project"])
bear.toggle_read_only(note_id=uuid)

注意事项

  • ID 是 UUID,不是行号。Bear 内部使用 ZUNIQUEIDENTIFIER。
  • Bear 的 URL 方案中,add-tags 无法正常工作。请改用行内 #tag 文本。
  • 空格必须写为 %20,不能写成 +。Bear 会将 + 按字面解释。该库会自动处理。
  • 锁定需要 Bear 正在运行,并且需要辅助功能权限。其底层采用 UI 自动化——可靠,但无法隐形运行。
  • 切勿写入 SQLite 数据库。 所有写入操作都通过 Bear 的 URL 方案完成。

许可证

MIT — Zach Mainen,2025

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。