get-projects
Retrieve all Todoist projects in one action using a standardized API tool, enabling streamlined task management for AI agents or systems.
Instructions
Get all the projects from Todoist
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- Handler logic for the 'todoist_get_projects' MCP tool. Calls TodoistClient.getProjects() and returns the results as JSON text content.case 'todoist_get_projects': const projects = await this.todoistClient.getProjects() return this.createResponse(requestId, { content: [ { type: 'text', text: JSON.stringify(projects, null, 2) } ] })
- Input schema definition for the 'todoist_get_projects' tool (no parameters required). Part of the tools list registration.name: 'todoist_get_projects', description: 'Get projects from Todoist', inputSchema: { type: 'object', properties: {} } },
- Core implementation of getProjects in TodoistClient, makes API request to Todoist /projects endpoint.async getProjects(): Promise<TodoistProject[]> { return this.makeRequest<TodoistProject[]>('GET', '/projects'); }
- packages/mcp-server/server/mcp-handler.ts:23-23 (registration)TOOL_VISIBILITY configuration enabling the 'todoist_get_projects' tool.todoist_get_projects: true,
- convex/mcp.ts:325-345 (helper)Convex action wrapper 'toolGetProjects' that invokes the MCP 'todoist_get_projects' tool.export const toolGetProjects = action({ args: { sessionId: v.id("mcpSessions"), }, handler: async (ctx, args): Promise<any> => { const request = { jsonrpc: "2.0", id: Date.now(), method: "tools/call", params: { name: "todoist_get_projects", arguments: {}, }, }; return await ctx.runAction(api.mcp.handleMCPRequest, { sessionId: args.sessionId, request, }); }, });