things mcp
Enables interaction with the Things app through Claude Desktop, allowing task creation, project analysis, and priority management using natural language commands.
Enables interaction with the Things app through Claude Desktop, allowing task creation, project analysis, and priority management using natural language commands.
This Model Context Protocol (MCP) server lets you use Claude Desktop to interact with your task management data in Things app. You can ask Claude to create tasks, analyze projects, help manage priorities, and more.
This server leverages the Things.py library and the Things URL Scheme.
Things 3 ("Enable Things URLs" must be turned on in Settings -> General)
Install uv if you haven't already:
curl -LsSf https://astral.sh/uv/install.sh | sh
Resart your terminal afterwards.
Clone this repository:
git clone https://github.com/hald/things-mcp
cd things-mcp
uv venv
uv pip install -r pyproject.toml
code ~/Library/Application Support/Claude/claude_desktop_config.json
Add the Things server to the mcpServers key to the configuration file (be sure to update the path to the folder where you installed these files):
{
"mcpServers": {
"things": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/things-mcp",
"run",
"things_server.py"
]
}
}
}
Restart the Claude Desktop app.get-inbox
- Get todos from Inboxget-today
- Get todos due todayget-upcoming
- Get upcoming todosget-anytime
- Get todos from Anytime listget-someday
- Get todos from Someday listget-logbook
- Get completed todosget-trash
- Get trashed todosget-todos
- Get todos, optionally filtered by projectget-projects
- Get all projectsget-areas
- Get all areasget-tags
- Get all tagsget-tagged-items
- Get items with a specific tagsearch-todos
- Simple search by title/notessearch-advanced
- Advanced search with multiple filtersget-recent
- Get recently created itemsproject_uuid
(optional) - Filter todos by projectinclude_items
(optional, default: true) - Include checklist itemsinclude_items
(optional, default: false) - Include contained itemsstatus
- Filter by status (incomplete/completed/canceled)start_date
- Filter by start date (YYYY-MM-DD)deadline
- Filter by deadline (YYYY-MM-DD)tag
- Filter by tagarea
- Filter by area UUIDtype
- Filter by item type (to-do/project/heading)period
- Time period (e.g., '3d', '1w', '2m', '1y')The server includes error handling for: - Invalid UUIDs - Missing required parameters - Things database access errors - Data formatting errors
All errors are logged and returned with descriptive messages. To review the MCP logs from Claude Desktop, run this in the Terminal:
# Follow logs in real-time
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log