Things Cloud MCP

← Back to home

Documentation

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

Read

7 tools
list_tasks
List tasks with optional filters
ParameterTypeDescription
scheduleenuminbox, today, anytime, someday, upcoming
scheduled_beforestringYYYY-MM-DD
scheduled_afterstringYYYY-MM-DD
deadline_beforestringYYYY-MM-DD
deadline_afterstringYYYY-MM-DD
tagstringFilter by tag
areastringFilter by area
projectstringFilter by project
in_trashboolInclude trashed items (default false)
is_completedboolInclude completed items (default false)
show_task
Show task details including checklist. Accepts UUID prefix.
ParameterTypeDescription
uuidrequiredstringTask UUID or prefix
show_project
Show project with headings and grouped tasks
ParameterTypeDescription
uuidrequiredstringProject UUID or prefix
list_projects
List all active projects
No parameters
list_headings
List headings in a project
ParameterTypeDescription
project_uuidrequiredstringProject UUID
list_areas
List all areas
No parameters
list_tags
List all tags
No parameters

Create

5 tools
create_task
Create a task
ParameterTypeDescription
titlerequiredstringTask title
notestringTask notes
schedulestringtoday, 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
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
recurrencestringdaily, weekly, weekly:mon,wed, monthly, monthly:15, monthly:last, yearly, every N days/weeks
create_heading
Create a heading in a project
ParameterTypeDescription
titlerequiredstringHeading title
project_uuidrequiredstringParent project UUID
create_area
Create an area
ParameterTypeDescription
namerequiredstringArea name
create_tag
Create a tag
ParameterTypeDescription
namerequiredstringTag name
shorthandstringShort name for the tag
parent_uuidstringParent tag UUID for nesting

Modify

7 tools
edit_item
Edit a task or project (only provided fields change)
ParameterTypeDescription
uuidrequiredstringItem UUID
titlestringNew title
notestringNew notes
schedulestringtoday, 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
recurrencestringdaily, weekly, monthly, yearly, etc. Use "none" to clear.
statusenumpending, completed, canceled
edit_area
Rename an area
ParameterTypeDescription
uuidrequiredstringArea UUID
namerequiredstringNew area name
edit_tag
Edit a tag (name, shorthand, or parent)
ParameterTypeDescription
uuidrequiredstringTag UUID
namestringNew tag name
shorthandstringNew shorthand/abbreviation
parent_uuidstringNew parent tag UUID
trash_item
Move an item to trash
ParameterTypeDescription
uuidrequiredstringItem UUID
restore_item
Restore an item from trash
ParameterTypeDescription
uuidrequiredstringItem UUID
delete_area
Permanently delete an area
ParameterTypeDescription
uuidrequiredstringArea UUID
delete_tag
Permanently delete a tag
ParameterTypeDescription
uuidrequiredstringTag UUID

Checklist

4 tools
add_checklist_item
Add a checklist item to a task
ParameterTypeDescription
task_uuidrequiredstringParent task UUID
titlerequiredstringChecklist item title
indexnumberSort position (default 0)
edit_checklist_item
Edit a checklist item (only provided fields change)
ParameterTypeDescription
uuidrequiredstringChecklist item UUID
titlestringNew title
indexnumberNew sort position
complete_checklist_item
Complete or uncomplete a checklist item
ParameterTypeDescription
uuidrequiredstringChecklist item UUID
uncompleteboolSet true to mark as pending instead (default false)
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 | 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 \
  --header "Authorization: Basic BASE64_ENCODE(email:password)" \
  things-cloud 
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