Skip to main content
Glama
kydycode

Enhanced Todoist MCP Server Extended

todoist_create_section

Create a new section within a Todoist project to organize tasks by category, phase, or priority. Specify the section name and project ID to structure your workflow.

Instructions

Create a new section in a project

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesThe name of the section
projectIdYesThe project ID where the section will be created
orderNoOrder of the section (optional)

Implementation Reference

  • Handler logic for executing the todoist_create_section tool: validates args, calls todoistClient.addSection, and returns formatted response.
    if (name === "todoist_create_section") { if (!isCreateSectionArgs(args)) { throw new Error("Invalid arguments for todoist_create_section"); } const sectionData: any = { name: args.name, projectId: args.projectId }; if (args.order !== undefined) sectionData.order = args.order; const section = await todoistClient.addSection(sectionData); return { content: [{ type: "text", text: `Section created successfully:\nID: ${section.id}\nName: ${section.name}\nProject: ${section.projectId}` }], isError: false, }; }
  • Tool schema definition including name, description, and inputSchema for todoist_create_section.
    const CREATE_SECTION_TOOL: Tool = { name: "todoist_create_section", description: "Create a new section in a project", inputSchema: { type: "object", properties: { name: { type: "string", description: "The name of the section" }, projectId: { type: "string", description: "The project ID where the section will be created" }, order: { type: "number", description: "Order of the section (optional)" } }, required: ["name", "projectId"] } };
  • src/index.ts:1083-1121 (registration)
    Registration of the todoist_create_section tool (as CREATE_SECTION_TOOL) in the list of tools returned by ListToolsRequestSchema handler.
    server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: [ // Task tools CREATE_TASK_TOOL, QUICK_ADD_TASK_TOOL, GET_TASKS_TOOL, GET_TASK_TOOL, UPDATE_TASK_TOOL, DELETE_TASK_TOOL, COMPLETE_TASK_TOOL, REOPEN_TASK_TOOL, SEARCH_TASKS_TOOL, MOVE_TASK_TOOL, BULK_MOVE_TASKS_TOOL, // Project tools GET_PROJECTS_TOOL, GET_PROJECT_TOOL, CREATE_PROJECT_TOOL, UPDATE_PROJECT_TOOL, DELETE_PROJECT_TOOL, // Section tools GET_SECTIONS_TOOL, CREATE_SECTION_TOOL, UPDATE_SECTION_TOOL, DELETE_SECTION_TOOL, // Label tools CREATE_LABEL_TOOL, GET_LABEL_TOOL, GET_LABELS_TOOL, UPDATE_LABEL_TOOL, DELETE_LABEL_TOOL, // Comment tools CREATE_COMMENT_TOOL, GET_COMMENT_TOOL, GET_COMMENTS_TOOL, UPDATE_COMMENT_TOOL, DELETE_COMMENT_TOOL, ], }));
  • Type guard helper function used to validate arguments for todoist_create_section tool.
    function isCreateSectionArgs(args: unknown): args is { name: string; projectId: string; order?: number; } { return ( typeof args === "object" && args !== null && "name" in args && "projectId" in args && typeof (args as { name: string; projectId: string }).name === "string" && typeof (args as { name: string; projectId: string }).projectId === "string" ); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kydycode/todoist-mcp-server-ext'

If you have feedback or need assistance with the MCP directory API, please join our Discord server