使用说明
MCP服务器
Swift原生MCP(模型上下文协议)服务器 事物 macOS上的任务管理器。允许像Claude这样的人工智能助手在Things中创建、更新和管理待办事项和项目。
注: 这个项目是用vibe编码的 克劳德代码 (克劳德作品4.5)。
特性
- Swift原生实现 -快速、轻便、无依赖性
- 两种操作模式:
- stdio模式 -本地AI工具的标准MCP协议(Claude Code等)
- HTTP模式 -具有SSE传输的网络可访问服务器,用于远程访问
- 菜单栏应用程序 -带设置UI的macOS菜单栏应用程序
- 全方位集成 通过URL方案:
- 创建待办事项和项目
- 更新现有项目(标记完成、修改等)
- 搜索和导航
- 批量操作
安装
先决条件
- macOS 13.0或更高版本
- Swift 5.10或更高版本
- 已安装Things 3应用程序
从源头构建
# Clone the repository
git clone https://github.com/yourusername/things-mcp.git
cd things-mcp
# Build release binaries
swift build -c release
# The CLI tool is at: .build/release/things-mcp
# The menu bar app is at: .build/release/ThingsMCPApp
设置菜单栏应用程序
# Copy the app bundle to Applications (optional)
cp -r ThingsMCP.app /Applications/
# Or run directly
open ThingsMCP.app
用法
CLI工具(stdio模式)
用于Claude Code或其他MCP客户端:
# Add to ~/.mcp.json
{
"mcpServers": {
"things": {
"command": "/path/to/things-mcp",
"env": {
"THINGS_AUTH_TOKEN": "your-token-here"
}
}
}
}
CLI工具(HTTP模式)
作为网络服务器运行:
# Start HTTP server on default port 3000
THINGS_AUTH_TOKEN="your-token" things-mcp --http
# Or specify a custom port
THINGS_AUTH_TOKEN="your-token" things-mcp --http 8080
菜单栏应用程序
- 发射
ThingsMCP.app - 单击菜单栏中的检查表图标
- 选择 设置。.. 配置:
- 身份验证令牌 -您的Things URL方案认证令牌
- 端口 -服务器端口(默认值:3333)
- 服务器自动启动
获取您的身份验证令牌
- 打开 事物 → 设置 → 将军
- 启用 事物URL
- 点击 管理 显示您的身份验证令牌
更新操作(标记待办事项完成、修改项目等)需要身份验证令牌。
可用工具
| 工具 | 说明 |
|---|---|
add_todo |
创建一个新的待办事项,包括标题、注释、时间、截止日期、标签、清单项目 |
add_project |
使用可选的嵌套待办事项创建新项目 |
update_todo |
更新现有todo(需要身份验证令牌) |
update_project |
更新现有项目(需要身份验证令牌) |
search |
搜索待办事项/项目 |
show |
导航到列表(今天、收件箱等)或特定项目 |
json_batch |
批量执行多个操作(需要身份验证令牌) |
API示例
添加到所有
curl -X POST "http://localhost:3333/message?sessionId=test" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "add_todo",
"arguments": {
"title": "Buy groceries",
"notes": "Milk, eggs, bread",
"when": "today",
"tags": ["errands"]
}
}
}'
标记全部完成
curl -X POST "http://localhost:3333/message?sessionId=test" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "update_todo",
"arguments": {
"id": "ABC123...",
"completed": true
}
}
}'
项目结构
things-mcp/
├── Package.swift # Swift package manifest
├── Sources/
│ ├── ThingsMCP/ # CLI tool
│ │ ├── main.swift # Entry point
│ │ ├── MCPServer.swift # MCP protocol (JSON-RPC over stdio)
│ │ ├── HTTPServer.swift # HTTP server with SSE transport
│ │ ├── ThingsClient.swift# Things URL scheme wrapper
│ │ └── Tools.swift # MCP tool definitions
│ └── ThingsMCPApp/ # Menu bar app
│ ├── main.swift # App entry point
│ ├── AppDelegate.swift # Menu bar UI
│ ├── SettingsWindow.swift # Settings UI
│ └── ... (shared files)
├── ThingsMCP.app/ # Built app bundle
└── README.md
许可证
MIT许可证-有关详细信息,请参阅许可证文件。
