通过 MCP server(SQLite)连接思源笔记的体验非常有趣

小小实践一下之前的想法 思源笔记作为 AI agentic 知识库的展望 - 链滴

实践过程

今天在 Cline 里面安装了 Claude 官方出品的 MCP server 之 SQLite,

image.png

它帮助大模型具有了如下能力

image.png

虽然我对 SQLite 不太熟悉,命令也写不出来几条,但是初步体验,使用大模型操纵数据库的确很有意思!!

AI 初探数据库之 blocks

我安装好之后,马上将配置文件中的 database path 修改为了思源笔记的 db 文件(位于 temp 文件夹里面)

"github.com/modelcontextprotocol/servers/tree/main/src/sqlite": { "command": "uv", "args": [ "--directory", "/Users/ssqc/AIGC_Projects/mcp/sqlite-mcp/src/sqlite", "run", "mcp-server-sqlite", "--db-path", "/Users/ssqc/SiYuan/temp/siyuan.db" ], "disabled": false, "autoApprove": [] }

然后就和 AI 对话,让它从零开始研究这个数据库,

image.png

它首先通过 MCP server 调用了 list_tables 工具,查到了可以先关注表 blocks

image.png

然后使用 describe_table tool 来观察 blocks 这个表 ,发现了里面丰富的结构

image.png

然后 AI 使用工具 read_query 获取了最近的几条笔记内容, 发现了我前几天剪藏的大佬的 SQLite 入门文章思源 SQL 新人指南:SQL 语法 + Query + 模板 - 链滴,AI 阅读了一下, 并且发现了文档类型的关键字 dh 分别代表文档和标题,且发现文档内容包括层级结构

image.png

紧接着 AI 继续发起 query, 仔细阅读这篇 SQL 新人指南, 认为块类型系统非常重要, 总结了出来

image.png

AI 又看了我最近创建的一篇文章. 随后它开始统计我笔记里面各种块的数量, 并分析块数目最多的文档,

image.png

image.png

AI 二探数据库之双向链接引用网络

下面, 我拒绝了 AI 继续查看我笔记内容的请求. AI 就转向了对我数据库中引用网络的查询, 并识别到了其中丰富的双向链接结构

image.png

并查询了引用和被引用次数最多的文档标题, 对我的知识库作出了评估

image.png

对我的标签作出了评估,

image.png

AI 表示任务完成并作出总结

最后, AI 不再发起请求, 作出总结, Cline 完成任务

image.png

注意, 以上这一切都是自动发生的, 当然我对许多查询请求进行了手动的批准. 故事的开头仅仅就是我问 AI,

image.png

一些想法

  • AI agent 完全有能力从零开始了解这个数据库. 这是数据库的天然优势, 其结构化的特征是所谓"LLM 友好"的数据类型.
    • 其他使用树状结构的笔记应用, Obsidian, notion, 也可以将文件夹的树状结构辅助 AI 探索. 目前开源社区中已经存在 notion 和 Obsidian 的 MCP server 了.
    • 对于像 roam research 和 logseq 这种激进的放弃树状结构的软件, 也不需要灰心. 双向链接笔记都存在一个网状结构, 类似于知识图谱, 也是 LLM 友好的. 只是目前似乎还没有太多的讨论和项目开展.
    • 思源笔记很特别. 虽然思源笔记的用户量不是很多, 像 MCP server 也没有大佬牵头, 但是由于它直接维护一个 SQLite 数据库, 使得 SQLite 的 toolkit 可以直接应用.
  • 如果搭配一个像思源 SQL 新人指南:SQL 语法 + Query + 模板 - 链滴这样的文档教程先喂给 AI, 它会更快上手, 直接根据用户需要发起查询.
  • agent 搜索的特点
    • 根据搜索结果进行自我修正(self-reflection), step-by-step 地判断是否需要进一步搜索, 是否需要更换 query 搜索, 是否可以停止搜索开始内容生成.
      • 各位可以体验一下马斯克 XAI 刚发布的 Grok3 deep search 模型, 完全免费登陆就能用, 且透明展示思维链, 非常清晰地展示了 agent 搜索的范式.
    • 可以通过规则设定, 让 AI 搜索到合适的内容之后, 全文读进去, 避免 RAG 的将文本分段的弊端.

视频教程推荐

MCP 是非常好上手的, VS Code 的 AI 编程插件 Cline 已经安排上了 MCP 商店, 可以让 AI 帮你安装; AI 编辑器 Cursor 和 Windsurf 也可以进行方便地配置. 配置好 SQLite 的 MCP server 之后就按照我最前面的代码, 将 MCP server 的配置文件数据库文件路径替换为自己电脑里面思源笔记的数据库文件就行 (Cursor 可以进行可视化配置).

推荐观看:

  • : 关于如何通过命令来使用 GitHub 上开源的 MCP server, 视频中展示了日常生活很常用的 fetch 和 filesystem 这些, SQLite 也是类似的.
  • : 关于如何搭建自己的 MCP server
  • 思源笔记

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

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

    25461 引用 • 105314 回帖
5 操作
Wangfh5 在 2025-02-26 20:36:54 更新了该帖
Wangfh5 在 2025-02-26 20:36:09 更新了该帖
Wangfh5 在 2025-02-26 19:37:24 更新了该帖
Wangfh5 在 2025-02-23 22:25:17 更新了该帖 Wangfh5 在 2025-02-23 22:24:31 更新了该帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 卧槽,牛逼,这个能够解决思源格式不能被 ai 直接读取的问题

  • 但是随之而来的,它能够读取你软件中所有数据,也就是你在模型前面是裸奔的

    1 回复
  • 没办法, 只要用云端的大模型就会有隐私问题. 不过 AI 发起一个 query 请求, 你可以拒绝的.

    1 回复
  • 犀利!先收藏,慢慢学习!

  • 最主要的是请求以后可能读取的数据范围,这里才是风险大的地方。

    不过可以考虑对数据进行标记,然后同步维护一个不带隐私内容的数据库。

    但这样做,最后还是会丢掉一部分可能需要,但却是隐私内容的部分。

    1 回复
  • 一直想这样试试,感谢大佬

  • 最佳方案是使用本地部署大模型 😂 解决所有隐私困扰

  • 大佬太有前瞻性了,两周前就有想法了。

    顺便问一下,RAG 在隐私方面和 MCP 有什么差别吗?

    1 回复
  • Wangfh5 1 via macOS

    非常简单的判定, 只要用了云端大模型, 就会有隐私泄露.

    1. RAG 需要对知识库做向量化. 如果你使用的是云端的向量化模型, 如 OpenAI 的 text-embedding-ada-002, 那么你的数据已经全部没有隐私可言. 如果你使用了本地的向量化模型, 例如 Ollama 部署的模型 nomic-embed-text, 那么就还没问题.
    2. 基于 RAG 的知识库会使用大模型连接向量库进行问题, agentic 知识库会通过调用工具 (function call) 来自主检索数据库内容. 两者在这一步都是一样的, 只要用了云端大模型, 就会将一些本地内容上传至模型提供商, 造成隐私泄露.
      1. RAG 知识库上传的是向量匹配程度较高的 Chunks.
      2. agentic 知识库上传的是从数据库中请求的内容, 直接作为 Prompt 来上传.
  • xlxmobai 1 评论

    教程被删除了,老哥有其他的教程视频吗?

    两个 b 站视频应该都还在啊
    Wangfh5
请输入回帖内容 ...