get_inbox_projects
Retrieve the three designated inbox projects from Todoist to organize and manage tasks across personal and shared workspaces.
Instructions
Get the three inbox projects: Inbox, Brian inbox - per Becky, and Becky inbox - per Brian
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/projects.ts:23-43 (handler)The async handler function that executes the 'get_inbox_projects' tool logic. It calls the getInboxProjects service function, formats the result as JSON text content, and handles errors.handler: async () => { console.error('Executing get_inbox_projects...'); try { const result = await getInboxProjects(); console.error('get_inbox_projects completed successfully'); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; } catch (error) { throw new Error( `Failed to get inbox projects: ${ error instanceof Error ? error.message : 'Unknown error' }` ); } },
- src/tools/projects.ts:13-22 (schema)The schema definition for the 'get_inbox_projects' tool, including name, description, and empty input schema (no parameters required).schema: { name: 'get_inbox_projects', description: 'Get the three inbox projects: Inbox, Brian inbox - per Becky, and Becky inbox - per Brian', inputSchema: { type: 'object', properties: {}, required: [], }, },
- src/handlers/tool-request-handler.ts:74-74 (registration)Registration of the tool handler in the toolsWithoutArgs registry map, which dispatches tool calls without arguments to the correct handler.get_inbox_projects: getInboxProjectsTool.handler,
- src/index.ts:90-90 (registration)The tool schema is registered in the server's ListTools response, making it discoverable by MCP clients.getInboxProjectsTool.schema,
- Helper service function that implements the core logic: lists all projects and filters for inbox projects using isInboxProject utility.export async function getInboxProjects(): Promise<ProjectsResponse> { try { const allProjects = await listProjects(); const filteredProjects = allProjects.projects.filter(isInboxProject); return { projects: filteredProjects, total_count: filteredProjects.length, }; } catch (error) { throw new Error(`Failed to get inbox projects: ${getErrorMessage(error)}`); } }