](https://mseep.ai/app/drjforrest-mcp-things3)
MCP Things服务器3
一个强大的MCP(模型上下文协议)服务器,提供与Things3的全面集成,允许您通过MCP协议创建、管理和搜索任务和项目。改进了错误处理、安全的URL编码和增强的AppleScript集成。
特性
- ✅ 创建项目:在Things3中创建具有完整元数据支持的新项目
- ✅ 创建全部:创建具有详细属性的新待办事项,包括清单、标签和日期
- ✅ 查看任务:列出收件箱、今天的列表或所有项目中的任务
- ✅ 完成任务:通过搜索待办事项的标题将其标记为已完成
- ✅ 搜索功能:按标题或内容搜索所有待办事项
- ✅ 稳健的错误处理:全面的验证和错误恢复
- ✅ 安全URL编码:正确处理特殊字符和unicode
- ✅ AppleScript集成:安全的非JSON字符串连接方法
安装
先决条件
- 安装了Things3的macOS
- Python 3.8+
- Things3正在运行(用于实时操作)
安装服务器
- 克隆此存储库:
git clone
cd mcp-things3- 使用pip安装:
pip install -e .- 服务器将可用
mcp-server-things3
可用工具
查看操作
view-inbox
查看Things3收件箱中的所有待办事项。
- 参数:无
- 退货:收件箱待办事项列表,包括截止日期和日程安排信息
view-projects
查看Things3中的所有项目。
- 参数:无
- 退货:所有项目及其标题的列表
view-todos
查看今天列表中的所有待办事项。
- 参数:无
- 退货:包含元数据的今天待办事项列表
创建操作
create-things3-project
在Things3中创建新项目。
- 必需:
title(字符串) - 可选的:
- notes (字符串) - area (字符串) - when (string)-开始日期/时间 - deadline (string)-到期日 - tags (字符串数组)
示例:
{
"title": "Website Redesign",
"notes": "Complete overhaul of company website",
"area": "Work",
"deadline": "2024-03-15",
"tags": ["urgent", "web-dev"]
}create-things3-todo
在Things3中创建新待办事项。
- 必需:
title(字符串) - 可选的:
- notes (字符串) - when (string)-开始日期/时间 - deadline (string)-到期日 - checklist (字符串数组) - tags (字符串数组) - list (string)-要分配的项目或区域 - heading (string)-本标题下的组
示例:
{
"title": "Review design mockups",
"notes": "Check the new homepage designs",
"list": "Website Redesign",
"deadline": "2024-02-20",
"tags": ["review"],
"checklist": ["Check mobile responsiveness", "Verify brand guidelines", "Test accessibility"]
}管理操作
complete-things3-todo
通过搜索待办事项的标题,将其标记为已完成。
- 必需:
title(string)-要搜索的标题或部分标题 - 退货:成功/失败消息
示例:
{
"title": "Review design"
}search-things3-todos
按标题或内容搜索待办事项。
- 必需:
query(string)-搜索词 - 退货:与状态和元数据匹配的待办事项列表
示例:
{
"query": "website"
}与Claude整合
此MCP服务器旨在与Claude AI无缝协作。配置后,您可以使用自然语言管理Things3任务:
- “创建一个名为“Q1规划”的项目,截止日期为3月31日”
- “添加待办事项,用任务清单审查预算”
- “显示我今天的所有任务”
- “将‘呼叫客户端’任务标记为已完成”
- “搜索与网站项目相关的所有待办事项”
配置
MCP客户端配置
添加到您的MCP客户端配置中(例如,Claude Desktop配置):
{
"mcpServers": {
"things3": {
"command": "mcp-server-things3",
"args": []
}
}
}Things3设置
- 确保Things3已安装并正在运行
- 在提示访问AppleScript时授予必要的权限
- 服务器将在操作前验证Things3的可用性
建筑
组件
server.py:带有工具定义和处理程序的主MCP服务器实现applescript_handler.py:强大的AppleScript集成和安全的数据解析- URL译码:特殊字符的正确x-callback-url参数编码
- 错误处理:全面的验证和优雅的错误恢复
安全功能
- 输入消毒:AppleScript的所有用户输入都已正确转义
- URL译码:在URL中正确处理特殊字符和unicode
- 验证:操作前检查Things3的可用性
- 错误恢复:巧妙地处理AppleScript和系统错误
发展
运行测试
python test_things3.py调试
服务器包括全面的日志记录。设置调试日志级别:
export PYTHONPATH="."
python -c "
import logging
logging.basicConfig(level=logging.DEBUG)
from src.mcp_server_things3.server import main
import asyncio
asyncio.run(main())
"贡献
- 分叉存储库
- 创建要素分支
- 添加新功能的测试
- 确保所有测试通过
- 提交拉取请求
故障排除
常见问题
“Things3不可用”
- 确保Things3已安装并正在运行
- 在系统提示时授予AppleScript权限
- 检查Things3是否处于权限限制模式
“执行AppleScript失败”
- 验证macOS安全设置是否允许AppleScript
- 确保Things3具有必要的访问权限
- 尝试重新启动Things3
带有特殊字符的URL编码问题
- 服务器现在可以正确处理unicode和特殊字符
- 如果问题仍然存在,请检查日志中的特定URL构造错误
业绩说明
- AppleScript操作可能会有轻微延迟
- 大型待办事项列表(1000+个项目)可能需要更长的时间才能搜索
- 考虑使用特定的搜索而不是广泛的查询来获得更好的性能
许可证
MIT许可证-有关详细信息,请参阅许可证文件。
更新日志
v0.1.0
- 带有基本CRUD操作的初始版本
- 全面的错误处理和验证
- 安全的URL编码和AppleScript集成
- 搜索和完成功能
- 无需JSON字符串连接的强大数据解析
