Things MCP Server
Click on "Deploy 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 MCP Server What's on my todo list today?"
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 Server
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.
Features
Access to all major Things lists (Inbox, Today, Upcoming, etc.)
Project and area management
Tag operations
Advanced search capabilities
Recent items tracking
Detailed item information including checklists
Support for nested data (projects within areas, todos within projects)
Related MCP server: Things MCP Server
Installation (for Claude Desktop)
Prerequisites
Python 3.12+
Claude Desktop
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 | shResart your terminal afterwards.
Clone this repository:
git clone https://github.com/hald/things-mcpInstall the required Python packages:
cd things-mcp
uv venv
uv pip install -r pyproject.tomlEdit the Claude Desktop configuration file:
code ~/Library/Application\ Support/Claude/claude_desktop_config.jsonAdd 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.
Sample Usage with Claude Desktop
"What's on my todo list today?"
"Create a todo to pack for my beach vacation next week, include a packling checklist."
"Evaluate my current todos using the Eisenhower matrix."
"Help me conduct a GTD-style weekly review using Things."
Tips
Create a project in Claude with custom instructions that explains how you use Things and organize areas, projects, tags, etc. Tell Claude what information you want included when it creates a new task (eg asking it to include relevant details in the task description might be helpful).
Try adding another MCP server that gives Claude access to your calendar. This will let you ask Claude to block time on your calendar for specific tasks, create todos from upcoming calendar events (eg prep for a meeting), etc.
Available Tools
List Views
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 todos
Basic Operations
get-todos- Get todos, optionally filtered by projectget-projects- Get all projectsget-areas- Get all areas
Tag Operations
get-tags- Get all tagsget-tagged-items- Get items with a specific tag
Search Operations
search-todos- Simple search by title/notessearch-advanced- Advanced search with multiple filters
Time-based Operations
get-recent- Get recently created items
Tool Parameters
get-todos
project_uuid(optional) - Filter todos by projectinclude_items(optional, default: true) - Include checklist items
get-projects / get-areas / get-tags
include_items(optional, default: false) - Include contained items
search-advanced
status- 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)
get-recent
period- Time period (e.g., '3d', '1w', '2m', '1y')
Troubleshooting
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*.logAvailable Tools
21 toolsadd-projectB
Create a new project in Things
Inputs: title (required), tags, when, notes, +4 more.
add-todoB
Create a new todo in Things
Inputs: title (required), tags, when, notes, +5 more.
get-anytimeB
Get todos from Anytime list
Inputs: no named parameters.
get-areasB
Get all areas from Things
Inputs: include_items.
get-inboxB
Get todos from Inbox
Inputs: no named parameters.
get-logbookA
Get completed todos from Logbook, defaults to last 7 days
Inputs: limit, period.
get-projectsA
Get all projects from Things
Inputs: include_items.
get-recentC
Get recently created items
Inputs: period (required).
get-somedayB
Get todos from Someday list
Inputs: no named parameters.
get-tagged-itemsB
Get items with a specific tag
Inputs: tag (required).
get-tagsC
Get all tags
Inputs: include_items.
get-todayB
Get todos due today
Inputs: no named parameters.
get-todosB
Get todos from Things, optionally filtered by project
Inputs: project_uuid, include_items.
get-trashB
Get trashed todos
Inputs: no named parameters.
get-upcomingC
Get upcoming todos
Inputs: no named parameters.
search-advancedC
Advanced todo search with multiple filters
Inputs: tag, area, type, status, +2 more.
search-itemsC
Search for items in Things
Inputs: query (required).
search-todosC
Search todos by title or notes
Inputs: query (required).
show-itemB
Show a specific item or list in Things
Inputs: id (required), query, filter_tags.
update-projectC
Update an existing project in Things
Inputs: id (required), tags, when, notes, +4 more.
update-todoB
Update an existing todo in Things
Inputs: id (required), tags, when, notes, +4 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 21 tools
Most tools have clearly distinct purposes, but search-todos, search-advanced, and search-items overlap in functionality, potentially causing confusion. Additionally, get-todos with a project filter vs get-recent could be ambiguous.
All tool names use snake_case and follow a consistent verb_noun pattern (get_*, add_*, update_*, search_*). The only minor deviation is show-item, but it fits the retrieval pattern.
21 tools is slightly high but still reasonable for a comprehensive task management server. Each tool serves a distinct retrieval or action, though a few could be consolidated (e.g., multiple search tools).
The tool set covers creation, retrieval with various filters, updates, and search. However, it lacks explicit delete/trash operations and may miss move or bulk actions, leaving minor gaps.
Maintenance
Related MCP Connectors
Manage Redbooth tasks, task lists, comments, tags and files from Claude and other AI assistants.
Manage tasks, Focus Zone, notes, projects, and task history from compatible AI assistants.
Lets Claude, ChatGPT, and Muse read and update your beckett tasks, notes, calendar, and lists.
Manage Superlist tasks and lists in plain language from any MCP-compatible AI agent.
Related MCP Servers
- AlicenseBqualityBmaintenanceEnables interaction with the Things app through Claude Desktop, allowing task creation, project analysis, and priority management using natural language commands.22931 PyPI642MIT
- AlicenseNot gradedqualityDmaintenanceLets you use Claude Desktop to interact with your task management data in Things app, enabling you to create tasks, analyze projects, manage priorities, and implement productivity workflows through natural language.35MIT
- AlicenseBqualityDmaintenanceEnables Claude to interact with Things 3 on macOS, allowing users to create, update, and manage to-dos and projects, list tasks, search items, and navigate through Things lists using natural language.2017 npm16ISC
- AlicenseBqualityDmaintenanceEnables Claude to interact with Things 3 task management, allowing creation, analysis, and management of tasks, projects, and tags via natural language.22MIT