Skip to main content
Glama
benhancock

Things 3 MCP Server

by benhancock
README.md
# 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"
      ]
    }
  }
}
```