get_recent_media
Retrieve Todoist tasks with media content created within the last 30 days, providing structured task details for tracking and management.
Instructions
Get all media tasks created in the last 30 days from Todoist, excluding subtasks and watched items. 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/workflows-tasks.ts:104-116 (handler)The handler function for the 'get_recent_media' tool. It calls the getRecentMedia helper, formats the result as JSON text content, and returns it.handler: async () => { console.error('Executing get_recent_media...'); const result = await getRecentMedia(); console.error('get_recent_media completed successfully'); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; },
- src/tools/workflows-tasks.ts:94-103 (schema)The schema definition for the 'get_recent_media' tool, specifying name, description, and empty input schema.schema: { name: 'get_recent_media', description: 'Get all media tasks created in the last 30 days from Todoist, excluding subtasks and watched items. 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: [], }, },
- The core helper function that fetches recent media tasks from Todoist using a predefined filter (RECENT_MEDIA_FILTER).export async function getRecentMedia(): Promise<TodoistTask[]> { return await fetchRawTasksByFilter(RECENT_MEDIA_FILTER, 'get recent media'); }
- src/handlers/tool-request-handler.ts:66-87 (registration)Registration of the 'get_recent_media' handler in the toolsWithoutArgs registry used by the tool request handler.const toolsWithoutArgs: Record<string, () => Promise<ToolResponse>> = { list_personal_inbox_tasks: listPersonalInboxTasksTool.handler, list_brian_inbox_per_becky_tasks: listBrianInboxPerBeckyTasksTool.handler, list_becky_inbox_per_brian_tasks: listBeckyInboxPerBrianTasksTool.handler, list_next_actions: listNextActionsTool.handler, get_brian_only_projects: getBrianOnlyProjectsTool.handler, get_brian_shared_projects: getBrianSharedProjectsTool.handler, get_becky_shared_projects: getBeckySharedProjectsTool.handler, get_inbox_projects: getInboxProjectsTool.handler, get_context_labels: getContextLabelsTool.handler, get_chores_due_today: getChoresDueTodayTool.handler, get_tasks_due_tomorrow: getTasksDueTomorrowTool.handler, get_tasks_due_this_week: getTasksDueThisWeekTool.handler, get_tickler_tasks: getTicklerTasksTool.handler, list_gtd_projects: listGtdProjectsTool.handler, get_waiting_tasks: getWaitingTasksTool.handler, get_recent_media: getRecentMediaTool.handler, get_areas_of_focus: getAreasOfFocusTool.handler, get_shopping_list: getShoppingListTool.handler, list_brian_time_sensitive_tasks: listBrianTimeSensitiveTasksTool.handler, list_becky_time_sensitive_tasks: listBeckyTimeSensitiveTasksTool.handler, };
- src/index.ts:109-109 (registration)Registration of the tool schema in the MCP ListTools response.getRecentMediaTool.schema,