list_gtd_projects
Retrieve all GTD projects from Todoist by filtering specific project tags while excluding baby-related tasks. Returns structured JSON with task details including status, priority, due dates, and labels.
Instructions
List all GTD projects from Todoist using the (#Projects | #Brian projects | #Ansonia Projects) & !subtask filter, excluding baby-related projects. Returns structured JSON data with task details including id, content, description, completion status, labels, priority, due date, and comment count.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/projects.ts:162-175 (handler)The handler function that executes the core logic of the 'list_gtd_projects' tool by invoking listGtdProjects() service and formatting the response as MCP tool output.handler: async () => { console.error('Executing list_gtd_projects...'); const result = await listGtdProjects(); console.error('list_gtd_projects completed successfully'); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; }, };
- src/tools/projects.ts:152-161 (schema)The schema defining the tool's name, description, and input schema (no parameters required).schema: { name: 'list_gtd_projects', description: 'List all GTD projects from Todoist using the (#Projects | #Brian projects | #Ansonia Projects) & !subtask filter, excluding baby-related projects. Returns structured JSON data with task details including id, content, description, completion status, labels, priority, due date, and comment count.', inputSchema: { type: 'object', properties: {}, required: [], }, },
- src/handlers/tool-request-handler.ts:80-80 (registration)Registration of the tool handler in the toolsWithoutArgs registry using the normalized snake_case name 'list_gtd_projects'.list_gtd_projects: listGtdProjectsTool.handler,
- The core service function that fetches GTD projects from Todoist using a specific filter excluding subtasks and baby projects.export async function listGtdProjects(): Promise<TasksResponse> { return await fetchTasksByFilter( `(#Projects | #Brian projects | #Ansonia Projects) & !subtask & ${BABY_PROJECTS_EXCLUSION}`, 'list GTD projects' ); }
- src/index.ts:107-107 (registration)Registration of the tool schema in the MCP server's listTools response.listGtdProjectsTool.schema,