Get the FREE Ultimate OpenClaw Setup Guide →

Things3

MCP server for Things 3 with read/write support for tasks, projects, areas and tags.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
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)

  1. Create and activate a virtual environment:
python3 -m venv ~/.venvs/things3-mcp-env
source ~/.venvs/things3-mcp-env/bin/activate
  1. Install the MCP server package from PyPI:
pip install Things3-MCP-server==2.0.6
  1. 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)

  1. Install uv if you haven't already:
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 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

Sponsor this space

Reach thousands of developers