Things3
MCP server for Things 3 with read/write support for tasks, projects, areas and tags.
claude mcp add --transport stdio rossshannon-things3-mcp ~/.venvs/things3-mcp-env/bin/Things3-MCP-server
How to use
This MCP server enables Claude Desktop and other MCP clients to read from and write to Things 3 by leveraging the Things.py library together with Things 3's AppleScript support. It exposes a set of tools to fetch lists (Inbox, Today, Upcoming, Logbook, Someday, etc.), manage projects and areas, and perform tag and search operations, all while supporting reading nested structures like subtasks. You can ask Claude to create tasks with rich descriptions, perform project analyses, and run GTD-style workflows within Things 3. Available tools cover list retrieval (get_todos, get_projects, get_areas, get_inbox, get_today, get_upcoming, get_logbook, get_trash), tagging (get_tags, get_tagged_items), and modification (add_todo, add_project, update_todo, update_project, show_item, search_items, search_todos, search_advanced). There are also random sampling tools to enrich LLM responses (get_random_inbox, get_random_anytime, get_random_todos) and time-based queries (get_recent). Use these through Claude Desktop or your MCP client to interact programmatically with your Things 3 data.
How to install
Prerequisites:
- Python 3.12+ (recommended)
- Claude Desktop (for configuration and usage with the MCP)
- Things 3 for MacOS
Option A: Install from PyPI in a virtual environment (recommended)
- Create and activate a virtual environment:
python3 -m venv ~/.venvs/things3-mcp-env
source ~/.venvs/things3-mcp-env/bin/activate
- Install the MCP server package from PyPI:
pip install Things3-MCP-server==2.0.6
- Ensure the executable is available at the path used in mcp_config (e.g., ~/.venvs/things3-mcp-env/bin/Things3-MCP-server).
Option B: Install from source (for development/contributors)
- Install uv if you haven't already:
curl -LsSf https://astral.sh/uv/install.sh | sh
- Clone the repository and install in development mode:
git clone https://github.com/rossshannon/Things3-MCP
cd Things3-MCP
uv venv
uv pip install -e ".[dev]" # Install in development mode with extra dependencies
Configure Claude Desktop after installation (see Step 2):
Additional notes
Notes and tips:
- The server relies on Things.py and AppleScript support in Things 3 to read and write data; keep Things 3 up-to-date and ensure AppleScript access is allowed.
- In Claude Desktop configuration, you can point to the installed server via the PyPI-based executable path in a virtualenv, or run it via uv for development setups.
- If you run locally in a non-standard environment, ensure the path to the executable in mcp_config matches how you launch the server.
- The API supports nested items, subtasks (via Markdown checklists in notes to simulate checklists), and a broad set of filters for advanced searches. For best results with Claude, provide clear preferences for how to structure created tasks (e.g., including priority, project associations, tags).
- You can pair this MCP with other MCP servers (e.g., calendar integrations) to create time-blocking tasks or context-aware task creation.
Related MCP Servers
mcp -things
A rich MCP server for Things
modelscope
ModelScope's official MCP Server (in active development).
appdog
Compose and generate effortlessly MCP servers from any OpenAPI specifications
MailNet
MailNet Mailing MCP Server
math -learning
Educational MCP server with math operations, matrix algebra, data visualization, and persistent workspace using FastMCP 3.0
lucius
A Model Context Protocol (MCP) server for Allure TestOps.