things_get_project
Retrieve all to-dos from a specific project in Things 3, enabling users to view and manage task lists by project ID with optional result limits.
Instructions
Get all to-dos in a specific project
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| max_results | No | Limit number of results returned (defaults to all if not specified) |
Implementation Reference
- src/tools/get.ts:130-143 (handler)The logic for `things_get_project` extracts the `project_id` from the parameters and calls `executeAppleScriptFile` with the 'get-project-todos' script.
if (toolName === 'things_get_project') { const projectParams = params as z.infer<typeof GetProjectSchema>; scriptArgs = [projectParams.project_id]; } else if (toolName === 'things_get_area') { const areaParams = params as z.infer<typeof GetAreaSchema>; scriptArgs = [areaParams.area_id]; } else if (toolName === 'things_get_todo_details') { const todoParams = params as z.infer<typeof GetTodoDetailsSchema>; scriptArgs = [todoParams.id]; // Don't pass maxResults for todo details since it's a single item delete options.maxResults; } const output = await executeAppleScriptFile(scriptName, scriptArgs, options); - src/tools/get.ts:62-65 (registration)Definition of the `things_get_project` tool within the GetToolHandler class.
name: 'things_get_project', description: 'Get all to-dos in a specific project', schema: GetProjectSchema },