Enables management of the Things 3 task manager on macOS, allowing for the creation, retrieval, and modification of to-dos, projects, areas, and tags through AppleScript and URL schemes.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Things MCPAdd 'Review project proposal' to my Today list with a reminder at 4pm"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Things MCP
An MCP (Model Context Protocol) server for Things 3 on macOS. Enables AI assistants like Claude to create, read, update, and manage your tasks directly in Things.
Features
Write Operations (Things URL Scheme)
Tool | Description |
| Create a new to-do with title, notes, dates, tags, checklist, project/area assignment |
| Create a new project with to-dos, notes, dates, tags, area assignment |
| Update an existing to-do (requires auth-token) |
| Update an existing project (requires auth-token) |
| Navigate to a list, project, area, tag, or specific to-do |
| Open the Things search screen |
| Create complex structures via the Things JSON command |
Read Operations (AppleScript/JXA)
Tool | Description |
| Get to-dos from a list (Inbox, Today, etc.), project, area, or by tag |
| Get a specific to-do by its ID |
| Get all projects |
| Get a specific project by its ID |
| Get all areas |
| Get all tags |
| Search to-dos by title/notes content |
| Get recently modified to-dos |
Requirements
macOS (required for AppleScript/JXA and
opencommand)Things 3 installed
Node.js >= 18
Things URL Scheme enabled (Things > Settings > General > Enable Things URLs)
Installation
Or install globally:
Configuration
Claude Desktop
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Cursor
Add to your Cursor MCP settings (.cursor/mcp.json):
Auth Token (for update operations)
To use update-todo and update-project, you need your Things auth-token:
Open Things on Mac
Go to Things > Settings > General > Enable Things URLs > Manage
Copy your authorization token
Pass it as the
authTokenparameter when calling update tools
Usage Examples
Adding a To-Do
The AI will call add-todo with:
Creating a Project with To-Dos
The AI will call add-project with:
Complex Project via JSON
The AI will call add-json with structured JSON data containing nested headings and to-dos.
Reading To-Dos
The AI will call get-todos with { "list": "Today" } and return the structured data.
Updating a To-Do
The AI will first search/get the to-do to find its ID, then call update-todo with the auth-token.
Things URL Scheme Reference
This MCP server implements the full Things URL Scheme v2:
Date Formats
Format | Example | Description |
Named |
| Built-in schedule options |
Date |
| Specific date |
Date + Time |
| Date with reminder |
Natural language |
| English natural language (parsed by Things) |
Built-in List IDs (for show tool)
inbox, today, anytime, upcoming, someday, logbook, tomorrow, deadlines, repeating, all-projects, logged-projects
JSON Command Object Types
Type | Description |
| A task with title, notes, when, deadline, tags, checklist-items |
| A project with title, notes, items (to-dos and headings) |
| A section heading within a project |
| A checklist item within a to-do |
Architecture
How It Works
Write operations construct
things:///URLs and open them via macOSopencommand. Things processes the URL and creates/updates items accordingly.Read operations use JXA (JavaScript for Automation) scripts executed via
osascriptto query the Things database directly and return structured JSON data.
Development
License
MIT