DeltaTask 是一款强大的本地托管任务管理应用程序,它支持与 Obsidian 整合,还具备 Model Context Protocol (MCP) 服务器,能有效提升任务管理的效率与便捷性。
uv 设置 Python 环境:# 创建并激活虚拟环境
uv venv
source .venv/bin/activate # 在 Windows 上:.venv\Scripts\activate
# 安装依赖项
uv pip install -r requirements.txt
DeltaTask MCP 服务器可以与 Claude for Desktop 一起使用:
~/Library/Application Support/Claude/claude_desktop_config.json。{
"mcpServers": {
"deltatask": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/DeltaTask",
"run",
"server.py"
]
}
}
}
- 重新启动 Claude for Desktop。
如果遇到问题或需要更多详细信息,请参阅 MCP 文档。例如从文档中:你可能需要在 command 字段中放入 uv 可执行文件的完整路径。你可以通过运行 which uv(MacOS/Linux)或查找其位置来获取它。
完成上述步骤后,Claude 应该能够连接到 DeltaTask 服务器并与之通信。
以下是一个简单的 Python 脚本示例,演示如何与 DeltaTask MCP 服务器交互:
import requests
# 获取所有任务
response = requests.get('http://localhost:5000/list_tasks')
print(response.json())
# 创建新任务
new_task = {
'title': '完成项目报告',
'description': '提交季度项目报告给管理层',
'urgency': 3,
'workload': 10
}
response = requests.post('http://localhost:5000/create_task', json=new_task)
print(response.json())
# 更新现有任务
updated_task = {
'task_id': 1,
'title': '优先完成项目报告',
'urgency': 5
}
response = requests.put('http://localhost:5000/update_task/1', json=updated_task)
print(response.json())
该应用程序使用 SQLite 数据库,包含以下表格:
todos:存储所有任务及其属性。tags:存储唯一的标签名称。todo_tags:用于任务和标签之间多对多关系的连接表。DeltaTask 创建并维护一个结构化的 Obsidian 保险库:
MCP 服务器公开以下操作:
get_task_by_id:通过 ID 获取特定任务。search_tasks:按标题、描述或标签搜索任务。create_task:创建新任务。update_task:更新任务属性。delete_task:删除任务。sync_tasks:从 Obsidian Markdown 同步到 SQLite 数据库。list_tasks:列出所有任务。get_statistics:获取有关任务的统计信息。create_subtasks:将任务分解为多个子任务。get_all_tags:获取所有唯一的标签名称。get_subtasks:获取给定父任务的所有子任务。finish_task:标记任务为已完成。文档中未提及相关内容,暂不展示。
⚠️ 重要提示
确保服务器在运行时配置了适当的防火墙和安全措施。在生产环境中,建议使用 HTTPS 并启用身份验证。定期备份 SQLite 数据库以防止数据丢失。
通过这些步骤,你可以轻松设置并开始使用 DeltaTask 任务管理系统。