hald/things-mcp
Things.app MCP Server
What it solves
If you use Things 3 on macOS to manage tasks, you often have to switch between your to‑do app and your chat with an AI assistant. This server bridges that gap by letting ChatGPT, Claude, Codex, and other MCP clients read and modify your Things data directly from a conversation. You can ask for a summary of today's tasks, create a new to‑do with a checklist, or search for stale items without leaving the chat window.
How it works
The server is a local Model Context Protocol (MCP) server. It talks to Things 3 using the official Things URL scheme (and AppleScript for a few operations where the URL scheme is not enough). When you install it (via uvx things-mcp or a one‑click package) and connect it to an MCP client like Claude Desktop or ChatGPT Work, the assistant gains access to a set of tools. These tools include reading all the standard lists (Inbox, Today, Upcoming, etc.), creating and updating todos and projects, managing tags, and performing advanced searches. The server runs on your Mac, so it only works with Things 3 installed and with “Enable Things URLs” turned on.
Who it's for
This is for individuals who use Things 3 on macOS and regularly interact with AI assistants such as ChatGPT, Claude, or Codex. It suits anyone who wants to manage personal tasks by typing a natural‑language request instead of opening the Things app every time. It is not a team collaboration tool – it connects to a single user's local task database.
Highlights
- Access to all major Things lists: Inbox, Today, Upcoming, Someday, Logbook, Trash, and more
- Create, update, and manage todos, projects, and areas directly from a chat
- Tag operations, including a usage report that flags unused tags for cleanup
- Advanced search with filters for status, date, tag, project, and creation time
- Supports nested data (areas contain projects, projects contain todos and headings)
- Someday projects are automatically excluded from Today, Upcoming, and Anytime views, matching Things UI behaviour
- Pagination and structured content for read tools, enabling programmatic access to raw data
- Bulk operations: update many todos at once (reschedule, set tags, mark complete, etc.)
- Optional HTTP transport for remote access (default is stdio)
Related
- Project
- Project
- Project
- Project