返回市场
熊-MCP服务器

熊-MCP服务器

作者:ruanodendaal6 星标更新:2025-05-29

项目介绍

Bear Notes MCP Server with RAG

想要通过AI助手增强Bear Notes的使用体验吗?这款小巧的工具利用语义搜索和RAG(检索增强生成)技术,将你的个人知识库与AI系统连接起来。

我创建这个是因为我希望我的AI助手能够真正理解我的笔记内容,而不仅仅是进行简单的文本匹配。结果相当不错,如果我说实话的话。

开始使用

设置非常简单:

git clone [your-repo-url]
cd bear-mcp-server
npm install

使脚本可执行(因为权限很重要):

chmod +x src/bear-mcp-server.js
chmod +x src/create-index.js

首要任务:索引你的笔记

在开始之前,你需要创建笔记的向量嵌入:

npm run index

请注意:如果你像我一样是个笔记狂人,这可能需要几分钟时间。它会将所有笔记转换成捕捉其含义的数学向量——很聪明的东西😉。

配置

更新你的MCP配置文件:

{
  "mcpServers": {
    "bear-notes": {
      "command": "node",
      "args": [
        "/absolute/path/to/bear-mcp-server/src/bear-mcp-server.js"
      ],
      "env": {
        "BEAR_DATABASE_PATH": "/Users/yourusername/Library/Group Containers/9K33E3U3T4.net.shinyfrog.net.bear/Application Data/database.sqlite"
      }
    }
  }
}

🚨 记得用实际安装位置替换路径。直接使用示例路径不会得到任何奖励,恐怕如此。

它的独特之处是什么?

  • 语义搜索:根据意义而不是关键词查找笔记。询问“生产力系统”,即使笔记中没有这些确切词汇,它也会找到关于GTD和番茄工作法的笔记。

  • RAG支持:你的AI助手现在可以从你的笔记中提取相关上下文,即使你没有明确提到它们。

  • 全部本地处理:一切都在你的机器上运行。没有任何数据离开你的计算机,不需要API密钥,也不依赖互联网(初始设置后)。

  • 优雅的回退机制:如果由于某种原因无法使用语义搜索,它会悄悄地回退到传统的搜索。双保险。

它是如何工作的

精妙之处

该服务器使用Xenova实现的transformers.js以及all-MiniLM-L6-v2模型:

  • 它创建了捕获笔记语义本质的384维向量
  • 所有处理都在你的机器上本地进行
  • 第一次启动时,模型加载可能会稍慢,但之后速度很快

流程

  1. 使用变换器模型将查询转换为向量
  2. 将此向量与预索引的笔记向量进行比较
  3. 返回具有相似含义的笔记,而不考虑精确的关键词匹配
  4. AI助手使用这些相关的笔记作为响应的上下文

项目结构

这里没有什么太复杂的内容:

bear-mcp-server/
├── package.json
├── readme.md
└── src/
    ├── bear-mcp-server.js     # 主MCP服务器
    ├── create-index.js        # 索引笔记的脚本
    ├── utils.js               # 工具函数
    ├── lib/                   # 额外的工具和诊断脚本
    │   └── explore-database.js # 数据库探索和诊断工具
    ├── note_vectors.index     # 生成的向量索引(索引后)
    └── note_vectors.json      # 笔记ID映射(索引后)

可供AI助手使用的工具

连接到此服务器的AI助手可以使用以下工具:

  1. search_notes:查找与查询匹配的笔记

    • 参数:query(必需),limit(可选,默认值:110),semantic(可选,默认值:true)
  2. get_note:通过ID获取特定笔记

    • 参数:id(必需)
  3. get_tags:列出你在Bear Notes中使用的所有标签

  4. retrieve_for_rag:获取与查询语义相似的笔记,特别为RAG格式化

    • 参数:query(必需),limit(可选,默认值:5)

要求

  • Node.js版本16或更高
  • macOS上的Bear Notes
  • 兼容MCP的AI助手客户端

局限性及注意事项

  • 对Bear Notes的只读访问(我们不会修改你宝贵的笔记)
  • 仅限macOS(对不起Windows和Linux用户)
  • 如果添加了大量的新笔记,你可能需要通过npm run index重建索引
  • 第一次启动就像等待水壶烧开一样,因为嵌入模型正在加载

故障排除

如果出现问题:

  1. 再次检查Bear数据库路径
  2. 确保已经运行了索引过程npm run index
  3. 检查Bear Notes数据库的权限
  4. 验证服务器脚本是否可执行
  5. 查看日志中的错误消息

不确定时,尝试关闭再打开。比我们愿意承认的更有效。

🐳 使用Docker运行(可选)

喜欢容器吗?你也可以在Docker中运行所有内容。

1. 构建Docker镜像

docker build -t bear-mcp-server .

2. 索引你的笔记

在任何有用的事情发生之前,你仍然需要运行索引步骤:

docker run \
  -v /path/to/your/NoteDatabase.sqlite:/app/database.sqlite \
  -e BEAR_DATABASE_PATH=/app/database.sqlite \
  bear-mcp-server \
  npm run index

🛠 替换/path/to/your/NoteDatabase.sqlite为你实际的Bear数据库路径。

3. 启动服务器

一旦完成索引,就可以启动了:

docker run \
  -v /path/to/your/NoteDatabase.sqlite:/app/database.sqlite \
  -e BEAR_DATABASE_PATH=/app/database.sqlite \
  -p 8000:8000 \
  bear-mcp-server

就这样——你的AI助手现在在一个容器中运行,并与你的笔记交流。

许可

MIT(随意修改、分享和改进)