
我常用的MCP 服务有一半是自己做的
MCP 问世已有一段时间,在众多服务中,我最常用的只有 4 个,按使用频率排序分别是:Orchard、Memory、Exa、Chrome-DevTools。今天想和大家聊聊排在前两位的 Orchard 和 Memory,也正是我自己做的那一半😂。
Orchard 作为我的一款完整产品已经发布,只是没有像 Zipic 那样大力宣传,但使用频率却比 Zipic 高得多。Memory 则是我用 Golang 实现的记忆服务,已经开源。这两者配合,构建起了我的日常 AI 小助理。
从贾维斯到现实:我的 AI 助理构想
说到理想中的助理,我脑海里浮现的当然是钢铁侠里的贾维斯。虽然现实还达不到那个高度,但我想围绕 Raycast AI 的生态先打好基础。
Raycast AI 是 Raycast 的 AI 功能,包括 Chat 和 Commands 等,我的小助理主要是利用 Chat。Raycast 则是一款强大的启动器,提供了丰富的快捷操作/指令工具,提供高效、顺手且可靠的系统使用体验。
目前我的期望很简单:它能帮我快速完成那些原本需要打开多个 app、操作多个步骤才能完成的任务,并且结合对我日常生活和工作的记录,给出更贴心的建议——这就足够了!
Raycast Store 里有很多对接 Apple 原生 app 的扩展,后来 Raycast 推出了 AI Extension,让这些扩展具备了 AI 能力,有了更多可能性。但我发现这些扩展在性能和原生应用覆盖度上仍有局限:会出错、响应慢、覆盖的 App 不够全面。
目前在我的小助理中,仅保留了 Web 搜索这一个 Raycast 扩展,其余的核心能力都由 Orchard 和 Memory 承担。正是因为意识到了这些局限性,我决定自己开发 Orchard。
Orchard:Apple 生态的果园
Orchard 是一款 macOS 原生应用,目前能对接 10 类原生应用:提醒事项、日历、天气、地图、通讯录、信息、邮件、音乐、备忘录,以及时钟(主要用于获取实时时间)。
为什么取名 Orchard(果园)?这个名字寄托了我的愿景:就像在果园里轻松采摘各种果实一样,通过 Orchard 能够轻松获取 Apple App 的各种"果实"。它的图标是一个包裹——象征着果园为用户精心打包、寄送装满 Apple 应用能力的礼盒。
有了这些信息源和管理工具,小助理的能力基本就到位了。
时间:被忽视的关键要素
特别要说的是时间——对 AI 助理来说,这是必不可少的。AI 本身没有实时时间概念,而我们的很多决策和判断都依赖时间因素,准确的时间信息是助理给出优质建议的前提。
产品化的困境
虽然 Orchard 已经产品化,但 MCP 对普通用户来说还是过于技术化,有一定距离感。尽管我在 Orchard 中做了不少自动配置工作,试图降低使用门槛,但仍然跨越不了"用户教育"这道坎——这也是我一直没有大力宣传的主要原因。
不是王婆卖瓜,我是真心觉得它好用。不过现在通过 AppleScript 控制的部分 app 略微不稳定、支持功能也很有限,比如邮件、备忘录,所以非常期待 Apple Intelligence 与 Apple 自家应用深度联动带来的惊艳体验(尽管这可能让 Orchard 消亡)。
实际应用场景
下面通过几个实际场景来展示 Orchard 的能力:
AI 规划行程
AI 当客服发邮件
每日工作助手
每天执行一次 /new 指令,AI 会自动获取当前时间、提醒事项、日历安排、天气信息以及最近几天的记录,结合这些信息开始当天的信息记录和交互。这个功能我一般会在早上开始工作时执行,帮助我快速了解今天的工作安排和上下文。
(注:为了演示效果,视频中使用的是录制时的时间)
现在就先自己用着 Orchard,慢慢打磨。反正能帮我提效增产,这波投入也不算亏吧!
Memory:让 AI 真正"懂你"
另一个重要环节是记忆。当 AI 的上下文能自动包含记忆中的细节时,我们就会感受到那种"助理真懂我"的惊喜时刻!
当然,记忆的应用场景远不止助理这一方面,还包括阅读笔记、闪念记录、专业领域知识积累等等。
Memory 服务提供了上图所示的工具集,这些工具是构建、查询、更新记忆的基础。AI 会根据你的意图自动识别并调用相应的工具,整个过程无需手动干预。
性能与隐私的平衡
使用 Memory 时,我最在意两点:性能和隐私(毕竟要像写日记一样记录工作生活)。一开始我用的是 MCP 官方推出的 Memory 服务(基于 JSONL),本地化存储。
从好奇到实践:3 小时开发一个 MCP 服务
出于好奇,我想试试开发一个 MCP 服务需要多久——没记错的话,在 AI 的帮助下,不到 3 小时就完成了基于知识图谱原理的 Golang 基础版本(同样采用 JSONL)。因为是本地文件存储,完美满足了隐私需求。
从 JSONL 到 SQLite 的进化
后来我持续优化,将底层存储从 JSONL 文件升级为 SQLite,并在后续优化了检索和处理逻辑。经过实际对比:
- 对于常见的知识图谱操作(读取、搜索、运行期内存),SQLite 整体性能更优
- 若只关注启动速度和磁盘占用,JSONL 更轻量更快
目前的版本支持从 JSONL 到 SQLite 的自动迁移,并集成了 FTS5 全文搜索——当实体规模超过约 100 个时,SQLite 的优势尤为明显。所以现在我使用的是存储容量更大、性能更优的记忆服务。
Orchard:访问 5km.tech 即可体验免费版
Memory memory-mcp-server-go ,欢迎 Star 支持🌟



