Skip to content

About

MCP server for Things 3 task manager on macOS. 15 tools for Claude Code.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

things-mcp

MCP server for Things 3 on macOS. Gives Claude (and any MCP client) read/write access to your tasks, projects, areas, and tags via the Things SQLite database and URL scheme.

Requirements

  • macOS
  • Things 3 installed
  • Node.js >= 18

Install

Claude Code

claude mcp add things-mcp -- node /path/to/things-mcp/start-mcp-server.js

claude_desktop_config.json

{
  "mcpServers": {
    "things-mcp": {
      "command": "node",
      "args": ["/path/to/things-mcp/start-mcp-server.js"]
    }
  }
}

From source

git clone https://github.com/AaronRoeF/things-mcp.git
cd things-mcp
npm install
npm run build

Tools

Tool Description
things_today List all to-dos in the Today list
things_inbox List all to-dos in the Inbox
things_upcoming List to-dos scheduled for future dates
things_anytime List open to-dos in the Anytime list
things_someday List to-dos in the Someday list
things_logbook List completed to-dos
things_projects List all projects with status and open to-do count
things_areas List all areas with project and to-do counts
things_tags List all tags
things_search Search to-dos by keyword (title and notes)
things_get Get a specific to-do by ID with full details and checklist
things_project_todos List all to-dos in a specific project
things_create Create a new to-do
things_complete Mark a to-do as complete
things_update Update an existing to-do

Read tools (12)

Read tools query the Things 3 SQLite database directly in read-only mode. No authentication required.

Write tools (3)

things_create, things_complete, and things_update use JXA (JavaScript for Automation) and the Things URL scheme. If you use the Things URL scheme auth token, set the THINGS_AUTH_TOKEN environment variable.

How it works

  • SQLite reads: The server opens the Things 3 database at ~/Library/Group Containers/JLMPQHK86H.com.culturedcode.ThingsMac/ThingsData-1YQ4E/Things Database.thingsdatabase/main.sqlite in read-only mode using better-sqlite3.
  • JXA writes: Create and update operations use osascript -l JavaScript to invoke the Things URL scheme.
  • Date encoding: Things stores dates as packed integers (year << 16) | (month << 12) | (day << 7). The server handles encoding/decoding transparently.

License

MIT

About

MCP server for Things 3 task manager on macOS. 15 tools for Claude Code.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages