home / mcp / things 3 mcp server
Provides an MCP endpoint to list and create Things 3 tasks from LLMs via AppleScript.
Configuration
View docs{
"mcpServers": {
"benhancock-things3-mcp": {
"command": "node",
"args": [
"/absolute/path/to/things3-mcp/build/index.js"
]
}
}
}This MCP server lets Things 3 on macOS talk to your local Things 3 database through AppleScript, enabling your language models to list and create tasks without leaving your editor. It runs locally and connects to Things 3 so you can automate task management from your prompts.
You interact with this server from an MCP client. Start the server on your Mac, then point your MCP client to the local endpoint. Once connected, you can list todos from standard lists (Inbox, Today, Upcoming, etc.) and create new todos with notes in a chosen list. The server runs locally and communicates with Things 3 using AppleScript.
To start, run the MCP server using Node and the built build artifact. The client should discover the server as a local MCP endpoint you can enable in your client’s Developer or MCP settings. You can also run the server directly from the command line to see any errors or logs.
Prerequisites you need to prepare before installing this MCP server are: - macOS - Things 3 installed and running - Node.js installed and available on your PATH.
Step 1: Clone the project - Clone this MCP server repository to your machine.
Step 2: Install dependencies
- Install the required packages from npm.Step 3: Build the server - Build the MCP server so you have the runnable index.js in the build folder.
Step 4: Run the server (manual test) - Start the server to verify it runs and connects to Things 3.
Configure your MCP client to load the Things 3 MCP server. The configuration below shows an MCP server entry that runs locally via Node and uses the built index. Update the path to your actual build output.
{
"mcpServers": {
"things3": {
"command": "node",
"args": [
"/absolute/path/to/things3-mcp/build/index.js"
]
}
}
}If you run into issues, you can start the server manually to view errors directly in the console. This helps you identify problems with the connection to Things 3 or the AppleScript integration.
To view client-side MCP logs, monitor the log file path used by your MCP client for server logs. If you need to see more details, tail the log files on macOS to watch for errors as they appear.
If you manage multiple Node runtimes, specify the full path to the Node binary in your client’s MCP configuration to ensure the correct runtime is used.
Fetch todos from built-in lists (Inbox, Today, Upcoming, etc.) so you can present current tasks to the user.
Create new todos with notes in a specific list, enabling prompt-driven task creation.