Skip to main content
Glama
todoist_tasks.json7.54 kB
{ "name": "todoist_tasks", "description": "Comprehensive task management for Todoist - create, read, update, delete, and query tasks with full CRUD operations and batch support", "inputSchema": { "type": "object", "properties": { "action": { "type": "string", "enum": ["create", "get", "update", "delete", "list", "complete", "uncomplete", "batch"], "description": "Operation to perform on tasks" }, "task_id": { "type": "string", "description": "Task ID (required for get, update, delete, complete, uncomplete)" }, "task_ids": { "type": "array", "items": {"type": "string"}, "description": "Array of task IDs for batch operations" }, "content": { "type": "string", "maxLength": 500, "description": "Task content/title (required for create)" }, "description": { "type": "string", "maxLength": 16384, "description": "Extended task description" }, "project_id": { "type": "string", "description": "Project ID (required for create)" }, "section_id": { "type": "string", "description": "Section ID within project" }, "parent_id": { "type": "string", "description": "Parent task ID for subtasks" }, "priority": { "type": "integer", "minimum": 1, "maximum": 4, "description": "Priority level (1=lowest, 4=highest)" }, "labels": { "type": "array", "items": {"type": "string"}, "maxItems": 100, "description": "Array of label IDs" }, "due_string": { "type": "string", "description": "Natural language due date (e.g., 'tomorrow at 3pm')" }, "due_date": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "description": "Due date in YYYY-MM-DD format" }, "due_datetime": { "type": "string", "format": "date-time", "description": "Due datetime in ISO 8601 format with timezone" }, "assignee_id": { "type": "string", "description": "User ID to assign task to (shared projects only)" }, "filter": { "type": "string", "description": "Todoist query filter for list action" }, "lang": { "type": "string", "default": "en", "description": "Language for natural language processing" }, "batch_commands": { "type": "array", "maxItems": 100, "items": { "type": "object", "properties": { "type": {"type": "string", "enum": ["item_add", "item_update", "item_delete", "item_complete", "item_uncomplete"]}, "temp_id": {"type": "string"}, "args": {"type": "object"} }, "required": ["type", "args"] }, "description": "Batch commands for batch action (max 100)" } }, "required": ["action"], "allOf": [ { "if": {"properties": {"action": {"const": "create"}}}, "then": {"required": ["content", "project_id"]} }, { "if": {"properties": {"action": {"enum": ["get", "update", "delete", "complete", "uncomplete"]}}}, "then": {"required": ["task_id"]} }, { "if": {"properties": {"action": {"const": "batch"}}}, "then": {"required": ["batch_commands"]} } ] }, "outputSchema": { "type": "object", "properties": { "success": {"type": "boolean"}, "data": { "oneOf": [ { "type": "object", "description": "Single task object" }, { "type": "array", "items": {"type": "object"}, "description": "Array of task objects" }, { "type": "object", "properties": { "sync_status": {"type": "object"}, "temp_id_mapping": {"type": "object"}, "full_sync": {"type": "boolean"} }, "description": "Batch operation result" } ] }, "message": {"type": "string"}, "metadata": { "type": "object", "properties": { "total_count": {"type": "integer"}, "has_more": {"type": "boolean"}, "next_cursor": {"type": "string"}, "operation_time": {"type": "number"}, "rate_limit_remaining": {"type": "integer"}, "rate_limit_reset": {"type": "string"} } }, "error": { "type": "object", "properties": { "code": {"type": "string"}, "message": {"type": "string"}, "details": {"type": "object"}, "retryable": {"type": "boolean"}, "retry_after": {"type": "number"} } } }, "required": ["success"] }, "examples": [ { "name": "Create a new task", "input": { "action": "create", "content": "Review quarterly reports", "project_id": "2203306141", "priority": 3, "due_string": "tomorrow at 2pm", "labels": ["work", "urgent"] }, "output": { "success": true, "data": { "id": "2995104339", "content": "Review quarterly reports", "project_id": "2203306141", "priority": 3, "labels": ["work", "urgent"], "completed": false }, "message": "Task created successfully" } }, { "name": "Query tasks with filter", "input": { "action": "list", "filter": "today & @work" }, "output": { "success": true, "data": [ { "id": "2995104339", "content": "Review quarterly reports", "project_id": "2203306141", "labels": ["work", "urgent"], "completed": false } ], "metadata": { "total_count": 1, "has_more": false } } }, { "name": "Batch operations", "input": { "action": "batch", "batch_commands": [ { "type": "item_add", "temp_id": "temp_123", "args": { "content": "First task", "project_id": "2203306141" } }, { "type": "item_add", "temp_id": "temp_124", "args": { "content": "Second task", "project_id": "2203306141", "parent_id": "temp_123" } } ] }, "output": { "success": true, "data": { "sync_status": {"temp_123": "ok", "temp_124": "ok"}, "temp_id_mapping": {"temp_123": "2995104340", "temp_124": "2995104341"}, "full_sync": false }, "message": "Batch operation completed successfully" } } ], "errors": [ { "code": "INVALID_TOKEN", "message": "Invalid or expired API token", "retryable": false }, { "code": "RATE_LIMIT_EXCEEDED", "message": "API rate limit exceeded", "retryable": true, "retry_after": 60 }, { "code": "VALIDATION_ERROR", "message": "Invalid parameters provided", "retryable": false }, { "code": "RESOURCE_NOT_FOUND", "message": "Task not found", "retryable": false } ] }

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/shayonpal/mcp-todoist'

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