# Things 3 MCP Server
This is a Model Context Protocol (MCP) server for Things 3 on macOS. It allows LLMs to interact with your local Things 3 database via AppleScript.
## Features
- **List Todos**: Fetch todos from built-in lists (Inbox, Today, Upcoming, etc.)
- **Create Todo**: Create new todos with notes in specific lists.
## Prerequisites
- macOS
- Things 3 installed and running
- Node.js installed
## Installation
1. Clone this repository
```bash
git clone https://github.com/benhancock/things3-mcp.git
```
2. Install dependencies:
```bash
npm install
```
3. Build the server:
```bash
npm run build
```
## Configuration
To use this with an MCP client (like Claude Desktop), add the following to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"things3": {
"command": "node",
"args": [
"/absolute/path/to/things3-mcp/build/index.js"
]
}
}
}
```
Within the Claude Desktop app, you should see the MCP server running in the "Developer" settings tab.
## Debugging
If you're having issues with the server, you can run the server manually to see any errors:
```bash
node build/index.js
```
To see logs for MCP servers in Claude Desktop, you can run:
```bash
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
```
If you have node installed in multiple places, you may need to specify the full path to node in the `claude_desktop_config.json` file, for example:
```json
{
"mcpServers": {
"things3": {
"command": "/Users/YOUR_USERNAME/.nvm/versions/node/v21.6.2/bin/node",
"args": [
"/absolute/path/to/things3-mcp/build/index.js"
]
}
}
}
```