第一天MCP服务器
一种模型上下文协议(MCP)服务器,通过stdio通信为AI助手提供对Day One期刊的编程访问。
这是什么?
Day One MCP服务器作为Day One Mac应用程序的一部分提供,并实现 模型上下文协议 将Day One日志操作作为AI助手可以调用的工具。
此存储库提供:
- 📦 分布
.mcpb捆绑包,便于在MCP客户端中安装 - 📖 设置和使用文档
能力:
- 📝 程序化日记账分录创建和更新
- 🔍 跨日记条目的全文搜索
- 🏷️ 标签和元数据管理
- 📅 基于日期的条目检索和过滤
技术概述
MCP服务器作为基于本地stdio的进程运行,通过JSON-RPC 2.0进行通信:
- 运输:stdio(标准输入/输出)
- 数据访问:直接读/写Day One的核心数据存储
- 安全:具有选择加入配置的日志级访问控制
隐私说明: MCP服务器完全在您的本地计算机上运行。但是,MCP客户端会将检索到的日志内容发送给各自的LLM提供商进行处理。
需求
- 仅限macOS -Day One MCP服务器目前仅适用于Mac版Day One
- Day One Mac应用程序 -可在 Mac应用商店
- 第一天CLI -MCP服务器功能所需
安装
第一步:为Mac安装Day One
从Mac App Store下载并安装Day One:
步骤2:安装Day One CLI
MCP服务器需要Day One CLI。通过运行以下命令进行安装:
sudo bash /Applications/Day\ One.app/Contents/Resources/install_cli.sh这将安装 dayone 命令到 /usr/local/bin/dayone.
验证安装:
/usr/local/bin/dayone --version步骤3:配置MCP客户端
Day One MCP服务器通过以下方式调用 dayone mcp 命令,启动基于stdio的MCP服务器进程。
适用于克劳德桌面
下载并安装预构建 .mcpb 捆绑:
- 下载最新版
.mcpb文件来自 发布 - 打开克劳德桌面→ 设置→ 扩展
- 拖放
.mcpb要安装的文件
适用于Claude Code CLI
claude mcp add --scope user --transport stdio dayone-cli /usr/local/bin/dayone mcp对于光标
添加 ~/.cursor/mcp.json:
{
"mcpServers": {
"dayone-cli": {
"command": "/usr/local/bin/dayone",
"args": ["mcp"],
"transport": "stdio"
}
}
}其他MCP客户端的手动配置
大多数MCP客户端接受stdio服务器配置。配置为:
- 命令:
/usr/local/bin/dayone - 参数:
["mcp"] - 运输:
stdio
服务器通过JSON-RPC 2.0在stdin/stdout上进行通信。有关配置细节,请参阅MCP客户端的文档。
步骤4:配置日志访问
为了安全和隐私,您必须明确授予MCP访问期刊的权限:
- 第一天开放 在Mac上
- 转到“首选项”→ Labs
- 启用 “Mac CLI MCP服务器”
- 点击 “MCP访问控制”
- 开启 您希望提供的期刊
重要提示: 只有启用的日志对AI助手可见。您可以完全控制访问权限。
MCP工具
服务器通过以下方式公开以下MCP工具 tools/list 和 tools/call 方法:
list_journals
返回启用MCP访问的所有日记账。
例子:
"Show me all my journals"______________________________________________________________________
create_entry
使用标记内容和可选元数据创建新的日记条目。
参数:
text(必填)-以markdown格式输入内容journal_id或journal_name(可选)-目标日记账date(可选)-ISO8601时间戳(例如。,2025-08-20T15:30:00Z)tags(可选)-逗号分隔的标记列表attachments(可选)-逗号分隔的文件路径starred,all_day(可选)-布尔标志
例子:
"Create a journal entry about today's meeting with tags 'work' and 'meeting'"______________________________________________________________________
get_entries
通过全文搜索、日期过滤器或日记约束检索条目。
参数:
query(可选)-全文搜索查询(触发搜索索引)journal_ids或journal_names(可选)-按日记账筛选start_date,end_date(可选)-YYYY-MM-DD格式的日期范围on_this_day(可选)-周年纪念查询的MM-DD格式limit(可选)-最大结果(默认值:10,最大值:50)offset(可选)-分页偏移(搜索查询忽略)
示例:
"Find entries about vacation from last summer"
"What did I write on this day in previous years?"
"Show recent entries from my Travel Journal"______________________________________________________________________
update_entry
更新现有条目的内容或元数据。
参数:
entry_id(必填)-条目UUIDjournal_id(可选)-用于消除歧义的日志同步IDtext(可选)-新的降价内容tags(可选)-逗号分隔标签(替换现有标签)attachments(可选)-要添加的文件路径starred,all_day(可选)-布尔标志
例子:
"Add the tag 'important' to my last entry"安全模型
密码锁定保护
启用Day One的密码锁后,MCP服务器拒绝启动,在stderr上返回错误。这可以防止在Mac解锁但第一天需要身份验证时进行未经授权的访问。
日志级访问控制
通过Day One的偏好在期刊级别控制访问。服务器只公开具有 isMcpAccessAllowed 标志设置为 true。所有操作在执行之前都会验证日志访问。
仅本地执行
MCP服务器进程在本地运行,没有网络I/O。所有数据访问都直接针对Day One的Core data SQLite存储执行。但是,请注意,MCP客户端通常会将检索到的内容发送到远程LLM API。
支持
对于问题或疑问:
______________________________________________________________________
©2025 Automattic,股份有限公司Day One是Automattic(股份有限公司)的注册商标。
