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 的配置文件。
操作步骤如下:
- 打开 eDiary 的“设置”;
- 在设置页面中选择“MCP 服务”;
- eDiary 会自动检测本机上支持的 AI Agent;
- 找到要使用的 Agent,点击右侧的“注册”按钮;
- 注册成功后,重新打开或刷新对应的 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 配置文件,请准备:
- 安装 AI Agent(比如 Codex、Claude Code 等);
- eDiary 可执行文件的完整路径;
- 要使用的
.edf日记本完整路径; - 如果日记本已加密,准备好密码;
- 对日记本做一次备份,尤其是第一次让 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. 注册完成后如何测试
建议按以下顺序测试:
- 让 Agent 调用
ediary_system_echo,确认服务能够响应; - 调用
ediary_system_status,确认 MCP 服务状态正常; - 调用
ediary_file_info,确认打开的是正确的日记本; - 先尝试搜索或读取,不要一开始就执行删除和批量修改;
- 确认读取结果正确后,再测试创建或追加操作。
四、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_list 和 ediary_diary_search 主要用于定位,返回的是摘要或短片段。需要全文时,要继续调用 ediary_diary_get。
3. 删除后还能恢复吗?
普通删除默认将日记或文档移入回收站,可以告诉 Agent 从回收站恢复。永久删除或清空回收站不可逆,执行前应先备份并取得明确确认。
七、使用安全建议
日记是个人隐私数据。让 Agent 能够操作日记时,建议遵循以下原则:
- 先读后写:先确认文件、条目和目标,再执行修改;
- 范围尽量小:按关键词、日期和 ID 读取,不要默认读取整个日记本;
- 追加优先:继续写日记使用
append,谨慎使用会替换正文的update; - 批量操作先备份:批量标签、批量更新、清空回收站或同步前先让 Agent 备份;
- 危险操作要确认:永久删除、修改密码、账号登录和云同步必须得到明确授权;
- 密码不进日志:尽量不要把日记本地密码或云服务密码写在提示词中;
- 控制数据外发:发送日记给云端 AI 前,确认服务的隐私策略和数据处理范围。
需要注意,日记本文件的加密主要保护磁盘上的文件。文件打开后,正文会被 eDiary 读取;当 Agent 需要分析正文时,相关内容还会出现在 MCP 工具结果中。因此,文件加密不能替代对 AI Agent、MCP 客户端和运行环境的安全管理。
结语
MCP 可以把 eDiary 的日记、文档、标签和备忘,以一组清晰的工具接口提供给 AI Agent。用户不需要学习复杂命令,只要说出“帮我查找”“帮我总结”“追加到今天的日记”这类自然语言,Agent 就可以在 eDiary 的规则下完成操作。
最推荐的使用方式是:先注册本地 eDiary MCP 服务,先测试读取,再逐步开放写入权限;查询时先定位、再读取;修改时先确认、再执行;批量操作前先备份。这样,AI Agent 才能真正成为 eDiary 的助手,而不是一个不可控的数据修改程序。