Things Cloud MCP

← Back to home

Documentation

Complete reference for all 23 tools available through the Things Cloud MCP server.

Read

10 tools
things_find_tasks
List tasks with optional filters
ParameterTypeDescription
scheduleenuminbox, today, tonight, anytime, someday, upcoming
scheduled_beforestringYYYY-MM-DD
scheduled_afterstringYYYY-MM-DD
deadline_beforestringYYYY-MM-DD
deadline_afterstringYYYY-MM-DD
created_beforestringYYYY-MM-DD or RFC3339 with timezone
created_afterstringYYYY-MM-DD or RFC3339 with timezone
tagstringFilter by tag
areastringFilter by area
projectstringFilter by project
contains_textstringFilter by text in title or note
in_trashboolInclude trashed items (default false)
statusenumpending (default), completed, canceled
things_show_task
Show task details including checklist. Accepts UUID prefix.
ParameterTypeDescription
uuidrequiredstringTask UUID or prefix
things_show_project
Show project with headings and grouped tasks
ParameterTypeDescription
uuidrequiredstringProject UUID
statusenumFilter child tasks: pending (default), completed, canceled
things_find_projects
List projects with optional filters
ParameterTypeDescription
scheduleenuminbox, today, tonight, anytime, someday, upcoming
scheduled_beforestringYYYY-MM-DD
scheduled_afterstringYYYY-MM-DD
deadline_beforestringYYYY-MM-DD
deadline_afterstringYYYY-MM-DD
created_beforestringYYYY-MM-DD or RFC3339 with timezone
created_afterstringYYYY-MM-DD or RFC3339 with timezone
tagstringFilter by tag
areastringFilter by area
contains_textstringFilter by text in title or note
in_trashboolInclude trashed items (default false)
statusenumpending (default), completed, canceled
things_find_headings
List headings in a project
ParameterTypeDescription
project_uuidrequiredstringProject UUID
things_find_areas
List all areas
No parameters
things_find_tags
List all tags
No parameters
things_overview
Comprehensive snapshot: tags, area→project hierarchy, today's items (tasks & projects), upcoming items. Each item has a type field.
ParameterTypeDescription
lookahead_daysnumberDays ahead to scan for upcoming items (default: 7)
things_debug_raw
Show all raw wire-format fields of a task or project
uuid required
things_diagnose
Run full diagnostic of the Things Cloud sync pipeline
No parameters

Create

5 tools
things_create_task
Create a task
ParameterTypeDescription
titlerequiredstringTask title
notestringTask notes
schedulestringtoday, tonight, anytime, someday, inbox, or YYYY-MM-DD (Upcoming, auto-moves to Today when due)
deadlinestringYYYY-MM-DD
project_uuidstringAssign to project
heading_uuidstringAssign to heading within project
area_uuidstringAssign to area
tagsstringComma-separated tag UUIDs
checkliststringComma-separated checklist items
reminder_datestringYYYY-MM-DD (use with reminder_time)
reminder_timestringHH:MM 24h (use with reminder_date)
recurrencestringdaily, weekly, weekly:mon,wed, monthly, monthly:15, monthly:last, yearly, every N days/weeks
things_create_project
Create a project
ParameterTypeDescription
titlerequiredstringProject title
notestringProject notes
schedulestringtoday, anytime (default), someday, or YYYY-MM-DD
deadlinestringYYYY-MM-DD
area_uuidstringAssign to area
tagsstringComma-separated tag UUIDs
reminder_datestringYYYY-MM-DD (use with reminder_time)
reminder_timestringHH:MM 24h (use with reminder_date)
recurrencestringdaily, weekly, weekly:mon,wed, monthly, monthly:15, monthly:last, yearly, every N days/weeks
things_create_heading
Create a heading in a project
ParameterTypeDescription
titlerequiredstringHeading title
project_uuidrequiredstringParent project UUID
things_create_area
Create an area
ParameterTypeDescription
namerequiredstringArea name
things_create_tag
Create a tag
ParameterTypeDescription
namerequiredstringTag name
shorthandstringShort name for the tag
parent_uuidstringParent tag UUID for nesting

Modify

5 tools
things_edit_item
Edit a task or project (only provided fields change). Completing a recurring task completes only the current instance.
ParameterTypeDescription
uuidrequiredstringItem UUID
titlestringNew title
notestringNew notes
schedulestringtoday, tonight, anytime, someday, inbox, or YYYY-MM-DD (Upcoming, auto-moves to Today when due)
deadlinestringYYYY-MM-DD
area_uuidstringMove to area
project_uuidstringMove to project
heading_uuidstringMove to heading
tagsstringComma-separated tag UUIDs
reminder_datestringYYYY-MM-DD, or "none" to clear (use with reminder_time)
reminder_timestringHH:MM 24h (use with reminder_date)
recurrencestringdaily, weekly, monthly, yearly, etc. Use "none" to clear.
statusenumpending, completed, canceled, trashed, restored
things_edit_area
Rename an area
ParameterTypeDescription
uuidrequiredstringArea UUID
namerequiredstringNew area name
things_edit_tag
Edit a tag (name, shorthand, or parent)
ParameterTypeDescription
uuidrequiredstringTag UUID
namestringNew tag name
shorthandstringNew shorthand/abbreviation
parent_uuidstringNew parent tag UUID
things_delete_area
Permanently delete an area
ParameterTypeDescription
uuidrequiredstringArea UUID
things_delete_tag
Permanently delete a tag
ParameterTypeDescription
uuidrequiredstringTag UUID

Checklist

3 tools
things_add_checklist_item
Add a checklist item to a task
ParameterTypeDescription
task_uuidrequiredstringParent task UUID
titlerequiredstringChecklist item title
indexnumberSort position (default 0)
things_edit_checklist_item
Edit a checklist item (only provided fields change)
ParameterTypeDescription
uuidrequiredstringChecklist item UUID
titlestringNew title
indexnumberNew sort position
completedboolSet true to complete, false to mark pending
things_delete_checklist_item
Delete a checklist item
ParameterTypeDescription
uuidrequiredstringChecklist item UUID

Output Format

Tasks are returned in the following JSON shape:

{
  "uuid": "...",
  "title": "...",
  "note": "...",
  "status": "pending | completed | canceled",
  "schedule": "inbox | today | tonight | anytime | someday | upcoming",
  "scheduledDate": "YYYY-MM-DD",
  "deadlineDate": "YYYY-MM-DD",
  "creationDate": "YYYY-MM-DDTHH:MM:SSZ",
  "modificationDate": "YYYY-MM-DDTHH:MM:SSZ",
  "completionDate": "YYYY-MM-DDTHH:MM:SSZ",
  "areas": [{"uuid": "...", "name": "..."}],
  "project": {"uuid": "...", "name": "..."},
  "tags": [{"uuid": "...", "name": "..."}]
}
Setup MCP with Claude.ai
Claude.ai
Claude Code
ChatGPT
Cursor
Windsurf
1
Go to Settings → Connectors → Add custom connector
2
Enter name: Things Cloud
3
Enter URL:
4
Click Add, then enable in chat via the “+” button
1
Run the following command:
claude mcp add --transport http \
  things-cloud  \
  --header "Authorization: Basic BASE64_ENCODE(email:password)"
Replace BASE64_ENCODE(email:password) with your base64-encoded Things Cloud credentials (email:password). Generate with: echo -n 'email:password' | base64
2
Verify with the /mcp command inside Claude Code.
1
Go to Settings → Apps & Connectors → Advanced, enable Developer Mode
2
Click Add Connector
3
Enter name: Things Cloud, URL:
4
In a new chat, click “+” to select the connector
Note: ChatGPT requires a publicly accessible URL (use ngrok for local dev).
1
Add to ~/.cursor/mcp.json:
{
  "mcpServers": {
    "things-cloud": {
      "url": "",
      "headers": {
        "Authorization": "Basic BASE64_ENCODE(email:password)"
      }
    }
  }
}
Replace BASE64_ENCODE(email:password) with your base64-encoded Things Cloud credentials (email:password). Generate with: echo -n 'email:password' | base64
1
Add to ~/.codeium/windsurf/mcp_config.json:
{
  "mcpServers": {
    "things-cloud": {
      "serverUrl": "",
      "headers": {
        "Authorization": "Basic BASE64_ENCODE(email:password)"
      }
    }
  }
}
Replace BASE64_ENCODE(email:password) with your base64-encoded Things Cloud credentials (email:password). Generate with: echo -n 'email:password' | base64