教程 / 进阶技巧 / eDiary MCP 入门与使用指南

eDiary MCP 入门与使用指南

开始之前:这篇文章能帮你做什么

虽然 eDiary 已内置「AI 写作助手」功能,但在不打开软件的前提下,能否借助外部 AI 对 eDiary 中的内容进行读取、分析、总结乃至改写呢?答案是肯定的。

本文将从实操角度出发,详细介绍如何在 eDiary 之外,通过 MCP(模型上下文协议)来操作日记本中的各类内容。借助 MCP,AI Agent 能够为你自动完成许多有趣且实用的任务,例如:

  • 快速检索过往记录中某件具体事项;
  • 自动总结某一周或某一月的日记要点;
  • 将今日新增内容追加到指定日记条目;
  • 整理现有标签,自动生成阶段性总结文档;
  • 查看、管理提醒事项,等等。

而要让 AI Agent 获得这些能力,关键是在它和 eDiary 之间搭建一座“桥梁” —— 这座桥梁,正是 MCP 服务。

本文会先用通俗的方式解释 MCP,然后介绍 eDiary MCP 服务能做什么、如何注册到不同类型的 AI Agent,以及如何在 Agent 中实际操作 eDiary 日记本数据。

一、MCP 是什么?

1. 用一个简单的比喻理解 MCP

AI Agent 很擅长理解人类语言。例如,你可以对它说:

“帮我找出上个月记录过的旅行计划,并总结预算。”

但是,AI Agent 本身并不知道 eDiary 的 .edf 文件应该怎样打开,也不知道一篇日记的正文、标签和日期分别存在哪里。如果让每个 AI Agent 都自己学习这些细节,开发和维护都会很麻烦。

MCP(Model Context Protocol,模型上下文协议)就是一套让 AI Agent 使用外部工具的通用规则。它规定了几件事:

  • MCP 服务有哪些工具可以使用;
  • 每个工具叫什么、能做什么;
  • 调用工具时需要传入哪些参数;
  • 工具执行后如何把结果返回给 AI Agent。

可以把 MCP 想象成一种“标准插座”:AI Agent 不需要了解每个设备的内部电路,只要按照标准插座连接,就可以使用设备提供的功能。

2. MCP 服务和 AI Agent 分别负责什么

在 eDiary 场景中,双方分工如下:

角色 主要职责
用户 提出想法和需求
AI Agent 理解用户意图,选择合适的 MCP 工具,组织参数,解释结果
eDiary MCP 服务 提供工具接口,校验参数,调用 eDiary 的业务逻辑
eDiary 在后台打开日记本,读取或修改日记、文档、标签和备忘
.edf 文件 保存日记本的实际数据

因此,AI Agent 并不是直接“钻进” .edf 文件里读写数据。它只能通过 eDiary MCP 服务公开的工具接口进行操作。这样可以让 eDiary 继续负责文件格式、加密、回收站、标签关系和同步状态等重要细节。

3. eDiary MCP 服务的工作方式

当前 eDiary MCP 服务运行在 eDiary 的命令行模式中,通过标准输入输出(stdio)和 AI Agent 通信。启动命令如下:

& 'E:\Path\To\eDiary.exe' --mcp

实际工作过程可以简化为:

用户:帮我找上周关于项目进度的日记
  ↓
AI Agent:选择 ediary_diary_search 工具,并填写查询条件
  ↓
eDiary MCP 服务:校验参数,调用 eDiary 搜索功能
  ↓
eDiary:在打开的 .edf 日记本中查找内容
  ↓
AI Agent:根据搜索结果向用户展示和总结

二、eDiary MCP 服务能做什么?

连接成功后,AI Agent 可以通过工具接口访问 eDiary 的多个功能区域。

1. 读取和搜索日记

Agent 可以:

  • 按关键词搜索日记标题和正文;
  • 按年、月、日列出日记;
  • 读取某一篇日记的完整正文;
  • 读取一个日期范围内的多篇日记,用于总结或复盘;
  • 查看文件夹和子日记的层级关系。

例如,你可以说:

“找出今年关于跑步的记录,告诉我训练频率有没有变化。”

Agent 可以先搜索“跑步”,再读取相关日记,最后进行归纳。它不需要把整个日记本一次性加载进来。

2. 创建和继续写日记

Agent 可以按照你的要求:

  • 创建一篇新日记;
  • 指定标题、日期、格式和标签;
  • 向已有日记的末尾追加内容;
  • 修改标题、日期、图标或正文;
  • 把日记放入某个父级文件夹。

继续写一篇已经存在的日记时,推荐使用“追加”操作。追加不会替换原来的正文,更适合“把今天的补充写到昨天的记录后面”这类场景。

3. 整理标签和文档

Agent 可以查看、创建、重命名和分配标签,也可以使用 eDiary 的文档功能保存:

  • 周报和月报;
  • 读书笔记;
  • 项目计划;
  • 从日记中提炼出的长期知识。

一个很实用的做法是:保留日记作为原始记录,把 AI 生成的总结保存为独立文档。这样既不会覆盖原始内容,也方便以后区分“当时写下的记录”和“事后生成的总结”。

4. 管理提醒、文件和同步

在用户明确授权后,Agent 还可以:

  • 创建、查看、修改和删除提醒;
  • 创建新的 .edf 日记本;
  • 查看当前文件信息;
  • 备份和压缩日记本;
  • 将日记本与 eDiary 云端服务同步;
  • 查看当前账号和同步状态。

这些功能影响范围较大。尤其是删除、修改密码、登录账号和云同步,建议 Agent 在执行前说明操作对象和可能影响,并请求用户确认。

三、把 eDiary MCP 服务注册到 AI Agent

1. 通过 eDiary 设置页“MCP 服务”注册

如果你使用的是带有“MCP 服务”设置页的 eDiary,这是最简单的注册方式,不需要手工编辑 AI Agent 的配置文件。

操作步骤如下:

  1. 打开 eDiary 的“设置”;
  2. 在设置页面中选择“MCP 服务”;
  3. eDiary 会自动检测本机上支持的 AI Agent;
  4. 找到要使用的 Agent,点击右侧的“注册”按钮;
  5. 注册成功后,重新打开或刷新对应的 AI Agent。

当前设置页支持的 AI Agent 包括:

  • Codex;
  • Claude Code;
  • Claude Desktop;
  • OpenCode;
  • Grok Build;
  • Cursor;
  • Windsurf;
  • Gemini CLI;
  • Visual Studio Code。

设置页会显示每个 Agent 的检测和注册状态。如果某个 Agent 尚未安装,通常会显示“未检测到”;如果已经注册,按钮会显示为“取消注册”或类似状态。点击“刷新检测”可以重新扫描 Agent 及其配置文件;点击“打开文件夹”可以直接打开对应的配置文件所在目录。

通过设置页注册时,eDiary 会根据不同 Agent 的配置格式,自动写入正确的 MCP 服务配置,并在修改已有配置前创建备份。用户不需要自己处理 Windows 路径转义、配置节点名称或不同 Agent 的配置文件位置。

如果注册按钮不可用,常见原因是 Agent 未安装、配置文件不可写,或者已有配置格式不正确。此时可以先点击“打开文件夹”检查配置,也可以使用下面介绍的手工注册方式。如果设置页注册成功,可以跳过手工注册部分,直接阅读“注册完成后如何测试”。

2. 手工注册前需要准备什么

如果 eDiary 设置页没有检测到你的 Agent,或者你希望自己维护 Agent 配置文件,请准备:

  1. 安装 AI Agent(比如 Codex、Claude Code 等);
  2. eDiary 可执行文件的完整路径;
  3. 要使用的 .edf 日记本完整路径;
  4. 如果日记本已加密,准备好密码;
  5. 对日记本做一次备份,尤其是第一次让 Agent 执行写操作之前。

Windows 路径示例:

eDiary.exe:E:\Apps\eDiary\eDiary.exe
日记本:    E:\Data\MyDiary.edf

不同 AI Agent 的界面可能不同,但注册信息基本相同:

配置项 填写内容
服务名称 ediary 或其他容易识别的名称
启动程序 eDiary 的可执行文件路径
启动参数 --mcp
通信方式 stdio 或“本地命令”
日记本打开方式 注册后调用 ediary_file_open,或设置 EDIARY_FILE
日记本密码 打开加密日记本时提供,建议通过安全环境变量提供

3. JSON 配置型 Agent:填写 mcpServers

很多 AI Agent 使用 JSON 配置文件注册 MCP 服务。常见配置形式如下:

{
  "mcpServers": {
    "ediary": {
      "command": "E:\\Apps\\eDiary\\eDiary.exe",
      "args": ["--mcp"]
    }
  }
}

注意:JSON 中的 Windows 反斜杠需要写成两个反斜杠。例如,实际路径 E:\Data\MyDiary.edf 在 JSON 中要写成 E:\\Data\\MyDiary.edf

配置保存后,通常需要重启 Agent,或者在设置页面中重新加载 MCP 服务。

上面的配置只负责注册 MCP 服务,不负责选择日记本。连接成功后,先让 Agent 调用 ediary_file_open 打开目标 .edf 文件;如果希望启动时自动打开文件,可以参考“需要密码时的推荐配置”中的环境变量方式。

4. 图形界面型 Agent:按字段添加本地服务

如果 Agent 提供“添加 MCP Server”或“添加工具服务”的图形界面,通常按下面的方式填写:

名称:ediary
类型:stdio / Local Command
命令:E:\Apps\eDiary\eDiary.exe (替换为实际路径)
参数:--mcp
环境变量:EDIARY_FILE=E:\Data\MyDiary.edf (替换为实际路径)

5. IDE 或工作区型 Agent:选择用户级或工作区级

有些 IDE 内置的 AI Agent 会提供两种配置范围:

  • 用户级配置:当前用户的所有项目都可以使用 eDiary;
  • 工作区级配置:只有当前项目可以使用 eDiary。

日记属于个人数据,建议优先使用用户级配置,并限制 EDIARY_FILE 指向明确的日记本文件。不要为了方便把整个磁盘或包含多个用户文件的目录授权给 Agent。

6. 命令行型 Agent:使用本地命令启动

如果 Agent 要求填写启动命令,可以直接使用:

& 'E:\Apps\eDiary\eDiary.exe' --mcp

在这种方式下,Agent 会在需要时启动 eDiary MCP 服务,并通过标准输入输出发送 MCP 请求。

7. 需要密码时的推荐配置

不要把真实密码直接写入 Agent 配置或系统提示词。eDiary 支持通过环境变量提供日记本密码:

$env:EDIARY_FILE = 'E:\Data\MyDiary.edf'
$env:EDIARY_FILE_PASSWORD = '123456'
& 'E:\Apps\eDiary\eDiary.exe' --mcp

如果没有设置 EDIARY_FILE,也可以在 Agent 连接后告诉 Agent 打开哪个日记本文件。

8. 注册完成后如何测试

建议按以下顺序测试:

  1. 让 Agent 调用 ediary_system_echo,确认服务能够响应;
  2. 调用 ediary_system_status,确认 MCP 服务状态正常;
  3. 调用 ediary_file_info,确认打开的是正确的日记本;
  4. 先尝试搜索或读取,不要一开始就执行删除和批量修改;
  5. 确认读取结果正确后,再测试创建或追加操作。

四、eDiary 提供了哪些 MCP 工具接口?

当前 eDiary MCP 服务提供了丰富的工具接口。Agent 连接成功后,会通过 MCP 的工具列表自动发现这些接口。下面按功能分组介绍。

1. 系统工具:4 个

工具 作用
ediary_system_echo 测试连接是否正常
ediary_system_version 查看 eDiary 版本信息
ediary_system_status 查看文件打开状态、账号状态和文章数量
ediary_system_help 查看可用的 CLI 命令

2. 文件工具:7 个

工具 作用
ediary_file_open 打开 .edf 日记本
ediary_file_close 关闭当前日记本
ediary_file_create 创建新的日记本
ediary_file_info 查看路径、GUID、大小、加密状态和文章数量
ediary_file_pack 压缩和优化日记本
ediary_file_backup 创建日记本备份
ediary_file_change_password 修改或移除日记本密码

3. 日记工具:14 个

工具 作用
ediary_diary_create 创建日记或日记文件夹
ediary_diary_get 按 ID 获取一篇日记
ediary_diary_update 更新标题、日期、正文、标签等字段
ediary_diary_append 向已有日记正文末尾追加内容
ediary_diary_delete 删除日记,默认移入回收站
ediary_diary_restore 从回收站恢复日记
ediary_diary_list 按时间倒序列出日记摘要
ediary_diary_list_trash 列出回收站中的日记
ediary_diary_clean_trash 永久清空日记回收站
ediary_diary_list_by_date 按年、月、日列出日记
ediary_diary_list_sub 列出某个文件夹下的子日记
ediary_diary_get_texts 获取日期范围内的多篇日记正文
ediary_diary_search 搜索日记或文档的标题、正文

4. 文档工具:10 个

工具 作用
ediary_doc_create 创建文档或文档文件夹
ediary_doc_get 按 ID 获取文档
ediary_doc_update 更新文档字段
ediary_doc_append 向文档末尾追加内容
ediary_doc_delete 删除文档,默认移入回收站
ediary_doc_restore 从回收站恢复文档
ediary_doc_list 列出文档摘要
ediary_doc_list_trash 列出回收站中的文档
ediary_doc_clean_trash 永久清空文档回收站
ediary_doc_list_sub 列出某个文件夹下的子文档

5. 标签工具:5 个

工具 作用
ediary_tag_list 列出日记或文档标签
ediary_tag_create 创建标签
ediary_tag_delete 删除标签
ediary_tag_assign 给日记或文档分配标签
ediary_tag_rename 重命名标签

注意: ediary_tag_assign 会用传入的标签列表替换原有标签,不是简单地在原标签后面追加。整理标签前,Agent 应先读取现有标签并确认要保留的内容。

6. 同步工具:3 个

工具 作用
ediary_sync_start 开始云端同步
ediary_sync_status 查看同步状态
ediary_sync_cancel 取消正在进行的同步

7. 账号工具:4 个

工具 作用
ediary_account_login 登录云端账号
ediary_account_logout 退出云端账号
ediary_account_info 查看当前账号信息
ediary_account_package_list 查看可用的同步包

8. 提醒工具:6 个

工具 作用
ediary_reminder_list 查看指定日期的提醒
ediary_reminder_list_all 查看全部提醒
ediary_reminder_get 按 ID 获取提醒
ediary_reminder_create 创建提醒
ediary_reminder_update 修改提醒
ediary_reminder_delete 删除提醒

五、在 Agent 中实际操作 eDiary 日记本

下面的例子假设 Agent 已经成功连接 eDiary MCP 服务,并且已经打开了日记本。实际对话时,用户通常只需要说自然语言,Agent 会自动选择相应工具。

示例一:确认当前使用的是哪个日记本文件

可以对 Agent 说:

“请确认你现在连接的是哪一个 eDiary 日记本,并告诉我里面有多少篇日记。”

Agent 会调用:

{
  "name": "ediary_file_info",
  "arguments": {}
}

返回结果中可以看到文件路径、GUID、文件大小、加密状态以及日记和文档数量。这个步骤很重要,可以避免 Agent 在错误的日记本上执行后续操作。

示例二:搜索一件以前记录过的事情

用户请求:

“我以前在哪篇日记里写过搬家预算?”

Agent 会使用搜索工具定位候选条目:

{
  "name": "ediary_diary_search",
  "arguments": {
    "query": "搬家预算",
    "scope": "diary",
    "limit": 20
  }
}

搜索结果一般包含条目 ID、标题和简短摘要。接着,Agent 会再使用搜索结果中的 ID 读取完整正文:

{
  "name": "ediary_diary_get",
  "arguments": {
    "id": "<search-result-diary-id>"
  }
}

这种“先搜索、再读取”的方式比一次性读取整个日记本更快,也能减少不必要的隐私内容暴露。

示例三:总结一周的日记

用户请求:

“请总结上周的工作压力、睡眠情况和最值得继续做的事情。”

Agent 会调用日期范围工具:

{
  "name": "ediary_diary_get_texts",
  "arguments": {
    "start": "2026-08-10T00:00:00+08:00",
    "end": "2026-08-16T23:59:59+08:00",
    "limit": 100,
    "include_folder": false
  }
}

然后,Agent 会根据返回的每一项 text 内容进行总结。

示例四:向今天的日记追加内容

用户请求:

“把这段话追加到今天的日记中:今天终于完成了第一版计划。”

如果已经知道目标日记 ID,可以调用:

{
  "name": "ediary_diary_append",
  "arguments": {
    "id": "<today-diary-id>",
    "text": "今天终于完成了第一版计划。",
    "separator": "\n\n"
  }
}

如果不知道今天日记的 ID,Agent 会先使用 ediary_diary_list_by_date 查询当天的日记,再让用户确认目标。如果当天没有日记,会创建一篇:

{
  "name": "ediary_diary_create",
  "arguments": {
    "title": "2026-08-23",
    "date": "2026-08-23T21:30:00+08:00",
    "format": "markdown",
    "text": "今天终于完成了第一版计划。",
    "tags": []
  }
}

示例五:把日记总结保存成一篇文档

用户请求:

“把刚才的月度总结保存到 eDiary 的‘月度总结’文件夹中。”

Agent 会先确认文件夹 ID,再创建文档:

{
  "name": "ediary_doc_create",
  "arguments": {
    "title": "2026 年 8 月月度总结",
    "parent_id": "<monthly-summary-folder-id>",
    "format": "markdown",
    "text": "# 2026 年 8 月月度总结\n\n这里是经过确认的总结内容。",
    "tags": []
  }
}

六、常见问题

1. Agent 提示“没有打开日记本”

先确认配置中的 EDIARY_FILE 路径正确,或者明确告诉 Agent 要打开哪个文件。

2. Agent 只显示摘要,没有显示全文

ediary_diary_listediary_diary_search 主要用于定位,返回的是摘要或短片段。需要全文时,要继续调用 ediary_diary_get

3. 删除后还能恢复吗?

普通删除默认将日记或文档移入回收站,可以告诉 Agent 从回收站恢复。永久删除或清空回收站不可逆,执行前应先备份并取得明确确认。

七、使用安全建议

日记是个人隐私数据。让 Agent 能够操作日记时,建议遵循以下原则:

  1. 先读后写:先确认文件、条目和目标,再执行修改;
  2. 范围尽量小:按关键词、日期和 ID 读取,不要默认读取整个日记本;
  3. 追加优先:继续写日记使用 append,谨慎使用会替换正文的 update
  4. 批量操作先备份:批量标签、批量更新、清空回收站或同步前先让 Agent 备份;
  5. 危险操作要确认:永久删除、修改密码、账号登录和云同步必须得到明确授权;
  6. 密码不进日志:尽量不要把日记本地密码或云服务密码写在提示词中;
  7. 控制数据外发:发送日记给云端 AI 前,确认服务的隐私策略和数据处理范围。

需要注意,日记本文件的加密主要保护磁盘上的文件。文件打开后,正文会被 eDiary 读取;当 Agent 需要分析正文时,相关内容还会出现在 MCP 工具结果中。因此,文件加密不能替代对 AI Agent、MCP 客户端和运行环境的安全管理。

结语

MCP 可以把 eDiary 的日记、文档、标签和备忘,以一组清晰的工具接口提供给 AI Agent。用户不需要学习复杂命令,只要说出“帮我查找”“帮我总结”“追加到今天的日记”这类自然语言,Agent 就可以在 eDiary 的规则下完成操作。

最推荐的使用方式是:先注册本地 eDiary MCP 服务,先测试读取,再逐步开放写入权限;查询时先定位、再读取;修改时先确认、再执行;批量操作前先备份。这样,AI Agent 才能真正成为 eDiary 的助手,而不是一个不可控的数据修改程序。