
思源笔记API-MCP知识库方案
最近在研究把思源笔记作为主要笔记平台,发现思源笔记社区和API扩展性做得都很好,这很难不让人将它把知识库机器人结合起来。特别是对于主题化的学习笔记、网页收藏和工作归档这类笔记,使用大模型为其提供综合归纳、文档查询、历史问答等功能是很有吸引力的。
实现思路
经过简单的搜索,主要归纳出三个方向:
- 思源自带的AI能力或插件:人工智能 AI | 思源笔记用户指南;
- 使用SQLite MCP server,直接访问思源笔记数据库:思源笔记+Cursor+MCP——打造你的个人专属 AI 资料库(AI搜索笔记、内容总结、大纲凝练、RAG搜索) - 知乎;
- 基于思源笔记API的MCP server:leolulu/siyuan-mcp-server;
首先是思源内置AI,配置完成后可以进行文档编辑,它的主要设计思路还是文本生成、扩写这一类。也有朋友告诉我实际体验一般,同时和我们建设知识库的需求不一致。
然后就是SQLite MCP方案,看起来很有意思。不过这个方案我没有细究,这个方案需要思源笔记客户端在本地打开,然后访问其数据库,而我主要是远程web部署,有兴趣的朋友可以跳转上面文章链接自行浏览。
那么接下来对我来说最优雅的实现方案就是思源开放API + MCP server + MCP客户端了。这个工作已经有很多人做过了,大部分是js实现,我列出这个版本是Python项目,可以去Lobehub自行搜索siyuan获得各种实现。
实验步骤
这个Python项目中的实现应该是可以在Lobechat中直接下载运行并配置的,不过我对源代码进行了简单的修改,所以选择本地手动安装运行。
MCP客户端JSON:
{
"mcpServers": {
"siyuan": {
"command": "uv",
"args": ["run", "siyuan-mcp-server"],
}
}
}
由于环境的特殊性,我将env挪到了.env
文件中,然后修改了启动方式,采用本地conda运行,只需修改command和args对应内容即可。同时将URL修改为从环境变量获取。
经测试cursor、lobechat都可以检测到对应工具,不过对于问答的实际回答效果非常依赖模型能力。在cursor下gpt-5面对文件查找、模糊询问等问题都可以正确回答,需要多轮调用。在lobechat下deepseek-r1进行了长思考和多轮调用也找到了正确答案,但gpt4-turbo往往难以给出答案,其MCP调用内容仅限一轮,一次调用搜索尝试无结果后即终止该回答,效果很差。
因此需要注意,这类问题需要选择支持长消息、多轮对话、思考和方法调用的模型。
下面是deepseek-r1的调用效果:
更多玩法等待探索。