Cherry Studio 通过 MCP 对接思源笔记

作为思源笔记用户,我一直在思考怎样让思源笔记和大模型联动。

之前已经有人发过 Cursor 通过 MCP 对接思源笔记的教程:

AI 搜索你的所有笔记!思源笔记 +Cursor+MCP Server——打造你的个人专属 AI 资料库!(AI 大模型搜索笔记、内容总结、大纲凝练、RAG 搜索)

里面讲到了相关原理,感觉很有搞头。但我不太想把思源暴露给 Cursor,就一直在纠结。

但没有纠结太久,昨天 Cherry Studio 发布了 v1.1.1 版本,开始支持 MCP 服务。

这不开搞?

然后一通搞就搞通了。

Cursor 和 Cherry Studio 调用 MCP 的方法不太一样,折腾的时候踩了不少坑,因此我觉得还是得出个教程。

先看看效果:

image

image

以下是教程部分。

1. 安装 uv 和 node.js

首先这一步不太建议参考上面的教程,因为那个教程是 Linux 的安装方法。

我参考的是 Cherry Studio 官方推荐的:

如何在 Cherry Studio 中使用 MCP

里面有 Windows 的安装方法。

1.1 省流:

1.1.1 uv 安装

# 1. 打开 Powershell # 2. 安装 powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" # 3. 检查是否成功,报错就没成功 uv

1.1.2 nodejs 安装(二选一)

1.1.2.1 通过 bunk 安装
# 1. 打开 Powershell # 2. 安装 powershell -c "irm bun.sh/install.ps1|iex" # 3. 检查是否成功,报错就没成功 bun --version
1.1.2.2 官网下载安装

上面这些如果下载太慢了,甚至断联导致要重新下载,就开个代理。

2. 关于 MCP Server 的准备

Cursor 那个教程里是要自己下载 MCP Server 的,但是我发现 Cherry Studio 不能这么搞。

Cherry Studio 的 MCP Server 好像是在添加的时候直接从远程拉取的,不用自己先准备,自己准备的反而用不了。

3. 添加 MCP 服务器

这是官方文档给的命令结构:

### uv ‍```bash # Add the server to your claude_desktop_config.json "mcpServers": { "sqlite": { "command": "uv", "args": [ "--directory", "parent_of_servers_repo/servers/src/sqlite", "run", "mcp-server-sqlite", "--db-path", "~/test.db" ] } } ‍```

Cursor 的和官方的一致,但 Cherry Studio 和这个不一样,可能是考虑到上手难度问题(反而把我坑了)。

3.1 命令部分

首先,Cherry Studio 的命令不支持 uv,只支持 uvx,输入框里写了。

image

然后,你直接输入 uvx 可能是不行的,会出现这样的报错:

image

要换成绝对路径才能成功。

可以使用这个命令在 Poewshell 里查看 uv 的绝对路径:

Get-Command uv | Select-Object -ExpandProperty Source

返回的结果把 uv.exe 改成 uvx 填进去就行了。

image

image

斜线方向不用动,名字可以有中文。

3.2 参数部分

这部分就不用指定 MCP Server 的地址了,你只用指定具体哪个 Server,Cherry Studio 会帮你准备好。这里用的是 mcp-server-sqlite

如果你没有特意设置过,思源笔记的数据库路径就是 C:/Users/Windows用户名/SiYuan/temp/siyuan.db

正常情况下把下面的内容填到参数框里就行了。

mcp-server-sqlite --db-path C:/Users/Windows用户名/SiYuan/temp/siyuan.db

image

但考虑到网络环境问题,有可能拉取 Server 失败,Cherry Studio 贴心地为我们提供了换源功能,在前面加个 -i 替换的源 就行了。

这里用清华的源:

-i https://pypi.tuna.tsinghua.edu.cn/simple mcp-server-sqlite --db-path C:/Users/Windows用户名/SiYuan/temp/siyuan.db

填完界面应该是这样(这里是没换源的):

image

点确定,应该就成了。

4. 使用

首先确认你的模型是否支持 tool call 或者 function call。如果不支持,换模型。

为了配合 MCP,Cherry Studio 同时加入了函数调用支持。

不过要手动打开,在模型的设置界面:

image

这样勾上的模型就能使用 MCP 了。

然后回到聊天界面,在下面的工具栏里点开 MCP 服务器。

image

到此为止,Cherry Studio 就算是和思源笔记对接成功了。

但此时你的模型并不知道你的思源笔记数据库是什么结构。

为了让它不要懵逼,最好设置一个新的助手,加一个系统提示词。

此处可参考另一篇较早的 Cursor MCP 联动思源的文章:

https://ld246.com/forward?goto=https%3A%2F%2Fwww.zhihu.com%2Fquestion%2F5290049088%2Fanswer%2F109400122988

里面讲了思源数据库的结构。

我加的系统提示词是这样的:

image

然后就能畅游思源数据库啦!


2025.03.16 更新

收到评论区热心网友的提醒,又出了一个只读 SQLite 的 MCP 对接思源的教程:

Cherry Studio 通过只读 SQLite MCP 对接思源笔记

更推荐这个 MCP Server!

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    24741 引用 • 101633 回帖
  • MCP
    4 引用 • 47 回帖
2 操作
JeffreyChen 在 2025-03-16 01:04:09 更新了该帖
B3000Kcn 在 2025-03-16 00:07:15 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • TangQi 1 赞同

    牛逼,但是还有一个问题,如何让 ai 搜索的东西可控,防止其搜索到隐私内容

    1 回复
  • B3000Kcn

    这就是我纠结 Cursor 的原因之一。我用 Cherry Studio 可以很方便地调用 Ollama 部署的本地模型,不存在隐私问题。

  • 而且 mcp 服务器还可以写入数据和修改数据,如何防止 ai 做这些行为,也是需要思考的

    所以这个安全性还有待考虑

    2 回复
  • B3000Kcn

    这确实是个问题

  • zackyj 1 赞同 via macOS

    谢谢大佬!刚看到 Cherry Studio 支持 MCP 的消息,就想到了这个,立刻就有热心大佬分享了

  • xqh042 1 赞同

    感谢分享 💖,补充一下这两个环境依赖都可以通过 scoop 包管理器安装

    而且查看位置可以用 where 命令

    PixPin20250313215745.png

  • xnyshu 1 赞同 via macOS

    厉害!

  • xnyshu via macOS

    Mac 上添加 mcp 服务器不成功。

    image

    2 回复
  • openAI 1 赞同 via Android

    膜拜大佬

  • 看不懂......

    将来还会出更方便的方法吗?对我来说这种还是太极客了。

    1 回复
  • B3000Kcn via Android

    以后应该会有 mcp 插件吧

  • B3000Kcn via Android

    mac 安装 uv 和 nodejs 的方法不一样,确认一下有没有装上。mac 的路径格式好像和 Windows 也不一样

  • xqh042 2 评论

    先填写 mcp-server-sqlite 拉取一遍服务器,再填写参数试试?或者更新最新版(貌似更新了一版修复了相关问题)

    我是先不填参数拉取,发现能拉取成功后再重新创建一个填写参数,就是 ds v3 这回答有点绷不住

    顺便建议如果内容太多,可以限制一下查询的时间

    PixPin20250314111623.png

    2 操作
    xqh042 在 2025-03-14 11:16:43 更新了该回帖
    xqh042 在 2025-03-14 11:09:05 更新了该回帖
    先填写 mcp-server-sqlite 拉取一遍服务器,也是一样报错。你是 Mac 系统吗?
    xnyshu
    @xnyshu windows,cherry studio github issue 里有一个 mcp 相关错误汇总贴可以看看。
    xqh042
  • player 1 赞同

    直接接入 db 有个大问题。

    AI 回答分两步:1 搜索资料,2 回答问题。

    问题出在第一步。

    比如我要问什么是巴黎协定。第一步就是查找语义最相近的一部分块。

    而一篇文章被拆分为多个块放在 db,并且没有前后关联,db 内没有块顺序的字段。

    所以,查找到的那些块也没前后关联。

    并且一篇文章中,并不是每一个段落块,都会在语义上与"巴黎协定"相近。

    所以第一步查找到的内容是不完整而且无序的。如果是需要问一些逻辑问题,有可能导致 AI 做出相反的错误回答。

    不过如果你的问题是查找与巴黎协议相关的内容并列罗出来,那还好一点。

    如果能改进,比如查找到内容后,进一步处理得到相关文章,然后给到 AI 这样会更准确。

    如果文章有多个,可以每个文章单独回答,再看是否要总结所有回答。

    如果单个文章太大,可以选文章中的相关片段。

  • veryzhh 1 赞同

    折腾了几个小时,终于成功了,方法是很牛逼的!但目前有太多条件限制。

    其实,昨晚就按贴子的教程,把 Cherry Studio 设置好了,期间也是各种折腾,好像主要是 Powershell 的权限问题。可昨晚没找到支持 Function Call 的合适模型,Deepseek-V3 本家的不行,动不动就提示 "message": "Unexpected non-whitespace character after JSON at position……",要么就是 Token 长度超出上限……像硅基的模型 Token 上限就设得比较低,一直弹超限提示。类似下面这种:

    image.png

    今早试了火山的 DS-V3,几个第三方的 Deepseek 模型中,火山的 Function Call 支持相对稳定。但也只能搜一些关联内容相对很少的东西,内容稍微多一点 Token 就会超限。搜日期相对好一点,搜别的就不好说了。API 接入的模型看来没法进行全库搜索,量太大了。本地模型还没找到合适的,主要笔记本跑不动。

    image.png

    我觉得可能在 Prompt 上需要有针对性的设定,而 Cherry Studio 的 MCP 功能也可能还需要完善。目前单纯检索记录,没太大用,还没思源本身的全局搜索好用。

    至于如何用 AI+MCP 进行分析,或者通过这种方式构建知识库,我就不懂了,以上都是照葫芦画瓢。

    2 操作
    veryzhh 在 2025-03-14 12:53:31 更新了该回帖
    veryzhh 在 2025-03-14 12:51:29 更新了该回帖
  • B3000Kcn 1 评论
    可以可以!
    TangQi 1 赞同
  • xnyshu 1 赞同 via macOS

    MCP 成功,token 量很大,它会把相关块上传,然后返回。我只要块 id,它把块内容也全上传了,用本地模型不知道速度怎么样:

    截屏 2025031923.41.44.png

  • xnyshu via macOS

    本地模型 qwen2.5-0.5b-instruct-mlx 不能用。

    说了句开始搜索,就结束了,没有下文,不返回要求检索的内容。

    你试成功过本地模型吗?叫什么?

    1 回复
  • xnyshu via macOS

    你用的本地模型叫什么名字,什么版本号?

    1 回复
  • B3000Kcn

    qwen2.5:14b

请输入回帖内容 ...