things_add_items_to_project
Add todos and headings to an existing project. Items are added as a flat array where headings act as visual separators for the todos that follow them.
Create Things to-dos with checklists and multi-phase projects with headings, then read back Inbox, Today, Upcoming, Anytime, Someday, Logbook and Trash.
LABSCO SUMMARY
things_add_project takes an items array in which headings act as dividers for the to-dos beneath them, so a plan with phases lands structured instead of as a flat pile that you then reorganise by hand. Reading is equally complete — every built-in list has its own tool and its own max_results ceiling, which keeps a Logbook query from dragging in years of history. Updates route through the JSON API path, and that is where completed and canceled state is set rather than through a separate action.
A Things client with 20 tools that write to-dos and projects into the app and read every built-in list, area and tag back out.
Things itself plus its authorization token in THINGS_AUTH_TOKEN; every read and write in the tool set goes through the app.
One command plus a key — npx github:hildersantos/things-mcp, then supply credentials
USE CASES
The plan arrives as one project whose headings separate the phases, and later additions drop into the same structure rather than at the bottom of a flat list.
Everything captured in a hurry is read back in one call, sorted into lists or dated, and the item that needs a human decision is opened in the app.
Today's list on its own hides what is about to land. Reading the scheduled items alongside it turns an optimistic day into a realistic one.
The Logbook holds completed work with its dates and notes, which is the raw material for a status report you would otherwise write from memory.
A task that has several components lands as a single to-do carrying its checklist, rather than as a project you did not want or five loose items.
Areas accumulate projects and tags nobody reviews. Reading the area's contents next to the active project list shows what has stalled.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
things_add_items_to_projectAdd todos and headings to an existing project. Items are added as a flat array where headings act as visual separators for the todos that follow them.
things_add_projectCreates a project in Things with support for sections (headings) and todos. Perfect for complex projects with multiple phases, days, or categories. Headings act as visual dividers - todos that follow a heading in the items array will appear grouped under it.
things_add_todoAdd a new to-do to Things with full support for checklists to break down complex tasks into manageable steps. Use checklist when task has multiple components that don't warrant a separate project.
things_get_anytimeGet all to-dos in Anytime
things_get_areaGet all items in a specific area
things_get_areasGet all areas
things_get_inboxGet all to-dos in the Inbox
things_get_listGet all to-dos from a specific list by name
things_get_logbookGet all completed to-dos in the Logbook
things_get_projectGet all to-dos in a specific project
things_get_projectsGet all active projects
things_get_somedayGet all to-dos in Someday
things_get_tagsGet all tags
things_get_todayGet all to-dos scheduled for Today
things_get_todo_detailsGet detailed information about a specific to-do including deadline, notes, status, etc.
things_get_trashGet all deleted to-dos in the Trash
things_get_upcomingGet all scheduled to-dos (with dates)
things_showNavigate to a specific item or list in Things
things_update_projectUpdate an existing project in Things using JSON API for full feature support
things_update_todoUpdate an existing to-do in Things using JSON API for full feature support
BEFORE YOU INSTALL
20 tools when we connected. The update tools need THINGS_AUTH_TOKEN; without it you can create and read but not change existing items. There is no search tool.
CONTEXT COST
Rated by the size of the 20 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npx github:hildersantos/things-mcp{
"mcpServers": {
"things-mcp": {
"command": "npx",
"args": [
"github:hildersantos/things-mcp"
],
"env": {
"THINGS_AUTH_TOKEN": "<YOUR_THINGS_AUTH_TOKEN>"
}
}
}
}git clone https://github.com/hildersantos/things-mcp.git
cd things-mcp
npm install
npm run buildAdd the server to Claude Desktop with the full path to dist/index.js in that folder
{
"mcpServers": {
"things-mcp": {
"command": "node",
"args": [
"<YOUR_PATH_TO_THINGS_MCP>/dist/index.js"
],
"env": {
"THINGS_AUTH_TOKEN": "<YOUR_THINGS_AUTH_TOKEN>"
}
}
}
}<YOUR_PATH_TO_THINGS_MCP> is the full path of your clone, and <YOUR_THINGS_AUTH_TOKEN> is your Things auth token (Things → Settings → General → Enable Things URLs → Manage → Copy Token).