🚀 MCP-DayOne
MCP-DayOne 是一個基於模型上下文協議(MCP)的服務器,可實現 Day One 日記與 Claude Desktop 的集成。通過該服務器,Claude Desktop 能借助模型上下文協議與 Day One 日記進行交互,讓用戶可以通過自然對話的方式創建日記條目、查看可用日記列表以及獲取條目數量等。
🚀 快速開始
本 MCP 服務器設計為零配置安裝,你僅需更改一個文件路徑!
1. 安裝先決條件(一次性設置)
- Day One CLI 安裝:
- 從 Mac App Store 或 Day One 官網下載並安裝 Day One。
- Day One CLI 會自動包含在應用程序中,無需單獨安裝!
- 驗證其是否正常工作:
dayone2 --version
- Python 和 uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
dayone2 --version
2. 克隆並設置(自動依賴管理)
git clone <repository-url>
cd mcp-dayone
uv sync
3. 驗證安裝(內置測試)
uv run python test_setup.py
此測試腳本會自動執行以下操作:
- ✅ 驗證 Day One CLI 是否可訪問
- ✅ 測試數據庫連接
- ✅ 驗證 MCP 服務器功能
- ✅ 列出可用工具
- 🔧 如果有任何問題需要修復,會提供有用的錯誤消息
4. 配置 Claude Desktop(僅需更改一個路徑!)
將以下內容添加到你的 Claude Desktop 配置文件中:
- 配置文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- 配置(僅替換路徑):
{
"mcpServers": {
"dayone": {
"command": "uv",
"args": [
"--directory",
"/FULL/PATH/TO/mcp-dayone",
"run",
"python",
"-m",
"mcp_dayone.server"
]
}
}
}
⚠️ 重要提示:僅需將 /FULL/PATH/TO/mcp-dayone 替換為你實際的倉庫路徑。
5. 重啟 Claude Desktop
更新配置後,重啟 Claude Desktop 以加載 MCP 服務器。
完成上述步驟後,你就可以立即使用自然語言命令,如:
- “Show me my recent journal entries”
- “What were my journal entries on this day?”
- “Create a journal entry about my day”
無需額外的設置、配置文件或環境變量!
✨ 主要特性
✍️ 寫入操作(Day One CLI)
- 📝 創建包含豐富內容和元數據的日記條目
- 📎 為條目添加附件(照片、視頻、音頻、PDF)
- ⭐ 將條目標記為星標/重要
- 📍 為條目添加位置座標
- 🕐 增強的日期/時間處理,支持時區
📖 讀取操作(直接數據庫訪問)
- 📖 新增:讀取包含完整元數據的近期日記條目
- 🔍 新增:按文本內容搜索條目
- 📚 新增:列出實際的日記,並顯示條目數量和統計信息
- 📊 新增:從數據庫中獲取實際的條目數量
- 🏷️ 新增:查看條目標籤、日期和元數據
🔧 技術特性
- 完善的錯誤處理和驗證機制
- 直接集成 SQLite 數據庫以進行讀取操作
- 混合方法:使用 CLI 進行寫入,使用數據庫進行讀取
- 🚀 使用
uv 輕鬆安裝
📦 安裝指南
⚡ 快速開始(5 分鐘)
本 MCP 服務器專為零配置安裝而設計,你只需更改一個文件路徑!
1. 安裝先決條件(一次性設置)
- Day One CLI 安裝:
- 從 Mac App Store 或 Day One 官網下載並安裝 Day One。
- Day One CLI 會自動包含在應用程序中,無需單獨安裝!
- 驗證其是否正常工作:
dayone2 --version
- Python 和 uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
dayone2 --version
2. 克隆並設置(自動依賴管理)
git clone <repository-url>
cd mcp-dayone
uv sync
3. 驗證安裝(內置測試)
uv run python test_setup.py
此測試腳本會自動執行以下操作:
- ✅ 驗證 Day One CLI 是否可訪問
- ✅ 測試數據庫連接
- ✅ 驗證 MCP 服務器功能
- ✅ 列出可用工具
- 🔧 如果有任何問題需要修復,會提供有用的錯誤消息
4. 配置 Claude Desktop(僅需更改一個路徑!)
將以下內容添加到你的 Claude Desktop 配置文件中:
- 配置文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- 配置(僅替換路徑):
{
"mcpServers": {
"dayone": {
"command": "uv",
"args": [
"--directory",
"/FULL/PATH/TO/mcp-dayone",
"run",
"python",
"-m",
"mcp_dayone.server"
]
}
}
}
⚠️ 重要提示:僅需將 /FULL/PATH/TO/mcp-dayone 替換為你實際的倉庫路徑。
5. 重啟 Claude Desktop
更新配置後,重啟 Claude Desktop 以加載 MCP 服務器。
💻 使用示例
📅 “On This Day” 功能
MCP 服務器在檢索歷史條目以進行反思和回憶方面表現出色:
- 查詢:“Show me all my journal entries for 'on this day,' today: June 14th.”
- 結果:Claude 會自動執行以下操作:
- 使用
get_entries_by_date 工具搜索多年來 6 月 14 日的條目
- 按年份對條目進行分組,並標記 “X 年前”
- 顯示帶有時間戳和元數據的詳細內容預覽
- 包含條目標題、照片/附件指示符和完整上下文
示例輸出:
📅 On This Day (06-14) - Found 2 entries:
🗓️ 2023 (2 years ago):
• Morning thoughts (8:30 AM) [Personal] - Reflection on summer goals and upcoming
vacation plans. Looking forward to some time off to recharge and spend time with family.
🗓️ 2021 (4 years ago):
• Weekend activities (2:15 PM) [Travel] ⭐ - Great day exploring the local farmers market.
Tried some amazing local honey and picked up fresh ingredients for dinner. This entry
includes photos. #weekend #local #food
No entries found for June 14th in other years (searched back 5 years).
這提供了一種強大的方式來:
- 反思過去同一天的經歷
- 跟蹤多年來的個人成長
- 重新發現被遺忘的記憶和見解
- 發現生活和思維中的模式
✍️ 創建條目
- “Create a journal entry about my day” - 使用你的內容創建條目
- “Create a starred entry about my vacation with photos from /path/to/photo.jpg” - 創建帶有附件和元數據的條目
- “Add a journal entry with location coordinates for my current trip” - 創建帶有位置信息的條目
- “Add tags #work #meeting to an entry about the team standup” - 創建帶有標籤的條目
📖 讀取和搜索
- “Show me my recent journal entries” - 顯示帶有日期、標籤和預覽的近期條目
- “Search my journal for entries about work” - 查找包含特定文本的條目
- “What were my journal entries on this day?” - 新增:顯示往年 “On This Day” 的條目
- “Show me entries from June 14th in past years” - 新增:特定日期的歷史條目
- “List my Day One journals with entry counts” - 顯示實際的日記和統計信息
- “How many entries do I have?” - 從數據庫中獲取實際的條目數量
- “Find entries from last week” - 按日期範圍搜索
📚 詳細文檔
可用的 MCP 工具
✍️ 寫入工具(基於 CLI)
- create_journal_entry - 創建包含豐富元數據(附件、位置、標籤等)的條目
- create_entry_with_attachments - 專門用於添加文件附件(照片、視頻、音頻、PDF)
- create_location_entry - 專門用於創建帶有位置座標的條目
📖 讀取工具(基於數據庫)
- read_recent_entries - 新增:讀取包含完整元數據的近期日記條目
- 參數:limit (1 - 50),journal(可選過濾器)
- 返回:格式化的條目,包含日期、標籤、預覽和星標狀態
- search_entries - 新增:按文本內容搜索條目
- 參數:search_text,limit (1 - 50),journal(可選過濾器)
- 返回:包含上下文和元數據的匹配條目
- list_journals_from_db - 新增:列出實際的日記,並顯示統計信息
- get_entry_count_from_db - 新增:獲取實際的條目數量
- 參數:journal(可選過濾器)
- 返回:數據庫中的實際條目數量
- get_entries_by_date - 新增:獲取往年 “On This Day” 的條目
- 參數:target_date (MM - DD 或 YYYY - MM - DD),years_back (默認 5)
- 返回:多年來同一天的條目,包含完整內容
📋 舊版工具(CLI 限制)
- list_journals - 提供關於 CLI 限制的指導
- get_entry_count - 解釋 CLI 計數的限制
🔧 技術細節
開發
uv sync --dev
uv run python -m mcp_dayone.server
uv run pytest
故障排除
Day One CLI 未找到
- 驗證 Day One CLI 是否已安裝:
dayone2 --version
- 檢查
dayone2 是否在你的 PATH 中
- 從以下網址安裝 Day One 應用程序和 CLI:https://dayoneapp.com/guides/tips-and-tutorials/command-line-interface-cli
Claude Desktop 連接問題
- 驗證
claude_desktop_config.json 中的絕對路徑
- 檢查 Claude Desktop 日誌中是否有 MCP 服務器錯誤
- 更改配置後重啟 Claude Desktop
權限問題
- 確保 Day One CLI 具有訪問日記的適當權限
- 如有需要,運行一次 Day One 應用程序以進行初始化
CLI 限制
- Day One CLI 僅支持創建條目(
new 命令)
- CLI 不支持列出日記和統計條目數量
- 使用 Day One 應用程序界面查看日記和條目數量
- 所有條目創建功能(附件、位置等)均可正常使用
📄 許可證
本項目採用 MIT 許可證。