Things Cloud MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| API_KEY | Yes | Primary API key for authentication. Must be at least 32 characters. | |
| THINGS_EMAIL | Yes | Your Things Cloud account email | |
| THINGS_PASSWORD | Yes | Your Things Cloud account password |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_inboxA | List tasks in the Inbox — tasks not yet scheduled or assigned to a list. Inbox = schedule is 'inbox', not completed, not trashed. |
| list_todayB | List tasks scheduled for today or earlier that aren't completed. Today = start date is today or before, not completed, not trashed. Ordered by today_index then index. |
| list_upcomingA | List tasks scheduled for a future date. Upcoming = start date is after today, not completed, not trashed. Ordered by start date, then deadline. |
| list_anytimeA | List tasks in the Anytime list — available to work on, no specific date. Anytime = schedule is 'anytime', not completed, not trashed. |
| list_somedayA | List tasks in the Someday list — ideas and tasks without urgency. Someday = schedule is 'someday', not completed, not trashed. |
| list_logbookA | List completed tasks from the Logbook. Shows tasks completed within the last |
| list_trashB | List trashed tasks. Ordered by modification date, newest first. |
| get_taskA | Get a single task by its UUID. Returns full task details including tags. |
| list_areasB | List all areas. Areas are high-level life categories (e.g., Work, Personal). |
| list_tagsA | List all tags. Tags can be hierarchical (e.g., work/errands). |
| list_projectsA | List all projects. Projects are multi-step tasks that contain sub-tasks. Args: include_completed: If True, also include completed/cancelled projects. Default False (active projects only). limit: Optional max number of projects. offset: Optional pagination offset. |
| search_tasksA | Full-text search across task titles, notes, and checklist items. Case-insensitive substring match. Trashed tasks are excluded by default. Args: query: Search string. Returns empty list when blank. include_trashed: If True, also search trashed tasks. include_checklists: If True (default), also match tasks whose checklist items contain the query. limit: Optional max number of tasks. offset: Optional pagination offset. |
| search_advancedA | Multi-predicate search. Every filter is optional and AND-combined. Use this for GTD reviews ("what's overdue?"), area sweeps, or finding tasks modified recently. Args:
status: 'pending', 'cancelled', or 'completed'.
type: 'task', 'project', or 'heading'.
schedule: 'inbox', 'anytime', or 'someday'.
area_uuid: Filter by area.
project_uuid: Filter by parent project.
tag: Tag UUID or name to filter by.
include_descendants: When |
| list_tasks_by_tagA | List tasks with a specific tag. Args:
tag: Tag UUID or name (e.g., 'work' or 'work/errands').
include_descendants: If True (default), also matches child tags.
limit: Optional max number of tasks to return. Omit to fetch every
matching task in one call (typical for agent workflows).
offset: Optional pagination offset. Page by setting offset += limit
until the response is shorter than |
| list_all_tasksA | List every non-trashed task across the entire library. Returns all tasks regardless of schedule, area, or project. By default
fetches the full set in a single request — agents that need every task
should call this without Args: limit: Optional max number of tasks. Omit to fetch all tasks. offset: Optional pagination offset. |
| create_taskA | Create a new task in Things3. Args: title: Task title (required). notes: Optional notes/description. schedule: One of 'inbox', 'anytime', or 'someday'. Default: 'inbox'. tags: Optional list of tag UUIDs or names to assign. project_uuid: UUID of the project to add this task to. area_uuid: UUID of the area to assign this task to. deadline: Unix timestamp for the deadline. start_date: Unix timestamp for the start date (schedules for a specific day). evening: If True, schedule for 'This Evening' instead of morning. |
| update_taskA | Update an existing task. Only provided fields are changed. Args: uuid: Task UUID (required). title: New title. notes: New notes. schedule: 'inbox', 'anytime', or 'someday'. tags: New tag list (replaces existing tags). project_uuid: Move to this project. area_uuid: Assign to this area. deadline: New deadline (Unix timestamp). start_date: New start date (Unix timestamp). |
| complete_taskC | Mark a task as completed. Args: uuid: Task UUID. |
| cancel_taskC | Cancel a task (mark as cancelled, not deleted). Args: uuid: Task UUID. |
| delete_taskC | Move a task to the trash. Args: uuid: Task UUID. |
| schedule_taskA | Schedule a task for today, anytime, someday, or a specific date. Args: uuid: Task UUID. schedule: 'inbox', 'anytime', or 'someday'. start_date: Optional Unix timestamp to schedule for a specific day. evening: If True, schedule for "This Evening" instead of morning. |
| move_to_projectC | Move a task into a project. Args: uuid: Task UUID. project_uuid: Target project UUID. |
| assign_tagsA | Replace the tags on a task. Args: uuid: Task UUID. tags: List of tag UUIDs or names. Pass empty list to remove all tags. |
| create_tagB | Create a new tag. Args: title: Tag name. parent: Optional parent tag UUID or name for hierarchy (e.g., creates 'errands' under 'work'). shortcut: Optional single-character keyboard shortcut. |
| create_projectB | Create a new project. Projects are multi-step tasks that hold sub-tasks. Args: title: Project title (required). notes: Optional notes/description. schedule: 'inbox', 'anytime' (default), or 'someday'. area_uuid: Optional area to assign the project to. deadline: Unix timestamp deadline. start_date: Unix timestamp for the project's start date. tags: Optional list of tag UUIDs or names. |
| update_projectB | Update a project's fields. Only provided fields are changed. Args: uuid: Project UUID (required). title: New title. notes: New notes. schedule: 'inbox', 'anytime', or 'someday'. area_uuid: Move the project to this area. deadline: New deadline (Unix timestamp). start_date: New start date (Unix timestamp). tags: New tag list (replaces existing tags). |
| complete_projectC | Mark a project as completed. Args: uuid: Project UUID. |
| delete_projectA | Move a project to the trash. Args: uuid: Project UUID. |
| trigger_syncA | Trigger a full pull + push sync with Things Cloud. Call this after making changes so they appear on all your devices. |
| add_checklist_itemB | Add a checklist item (sub-task) to a task. Args: task_uuid: UUID of the parent task. title: Checklist item text. |
| complete_checklist_itemC | Check off a checklist item. Args: uuid: Checklist item UUID. |
| uncomplete_checklist_itemC | Uncheck a checklist item. Args: uuid: Checklist item UUID. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nkootstra/things'
If you have feedback or need assistance with the MCP directory API, please join our Discord server