{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"awesome-todoist","slug":"todoist","name":"Todoist","type":"mcp","url":"https://github.com/stanislavlysenko0912/todoist-mcp-server","page_url":"https://unfragile.ai/todoist","categories":["mcp-servers"],"tags":[],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"awesome-todoist__cap_0","uri":"capability://tool.use.integration.task.creation.via.mcp.protocol","name":"task-creation-via-mcp-protocol","description":"Creates tasks in Todoist by translating MCP protocol messages into REST API calls, handling task properties (title, description, due dates, priority, labels, project assignment) through a standardized message-passing interface. Implements bidirectional serialization between MCP's JSON-RPC format and Todoist's REST payload structure, enabling AI agents and tools to create tasks without direct API knowledge.","intents":["I want my AI agent to create Todoist tasks from natural language descriptions","I need to programmatically add tasks with metadata (due date, priority, labels) through an MCP server","I want to integrate task creation into an agentic workflow without managing API authentication directly"],"best_for":["AI agents and LLM applications using MCP protocol","developers building multi-tool orchestration systems","teams automating task management workflows through Claude or other MCP-compatible clients"],"limitations":["Requires valid Todoist API token with write permissions","Task creation latency depends on Todoist API response time (typically 200-500ms)","No local caching of created tasks — each creation requires a live API call","Batch task creation not optimized — creates tasks sequentially rather than in parallel"],"requires":["Todoist API token (generated from Todoist account settings)","MCP client compatible with JSON-RPC 2.0 protocol","Network connectivity to Todoist API endpoints","Node.js runtime for the MCP server"],"input_types":["JSON-RPC method call with task parameters (title, description, due_date, priority, labels, project_id)"],"output_types":["JSON response containing created task ID, content, and metadata"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-todoist__cap_1","uri":"capability://tool.use.integration.task.retrieval.and.filtering","name":"task-retrieval-and-filtering","description":"Retrieves tasks from Todoist with support for filtering by project, label, priority, due date, and completion status through MCP method calls that translate to REST API queries. Implements query parameter construction to leverage Todoist's server-side filtering, returning structured task objects with full metadata for downstream processing by AI agents.","intents":["I want to fetch all tasks in a specific project to analyze workload","I need to retrieve overdue tasks to prioritize them in an agent workflow","I want to search tasks by label or priority to build a filtered task list"],"best_for":["AI agents that need to understand current task state before making decisions","workflow automation systems that filter tasks for specific processing","task analysis and reporting tools built on top of MCP"],"limitations":["Filtering happens server-side via Todoist API — no local indexing for complex queries","Pagination not explicitly handled — may return truncated results for accounts with thousands of tasks","No full-text search capability — filtering limited to metadata fields (project, label, priority, due date)","Real-time updates not supported — retrieved data reflects state at query time only"],"requires":["Todoist API token with read permissions","MCP client implementation","Knowledge of Todoist project IDs and label names for filtering"],"input_types":["JSON-RPC method call with optional filter parameters (project_id, label, priority, due_date_range, is_completed)"],"output_types":["JSON array of task objects containing id, content, description, due_date, priority, labels, project_id, is_completed"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-todoist__cap_2","uri":"capability://tool.use.integration.task.update.and.modification","name":"task-update-and-modification","description":"Updates existing tasks in Todoist by accepting MCP method calls with task ID and modified fields (title, description, due date, priority, labels, project assignment), translating them into REST API PATCH/PUT requests. Implements field-level updates so agents can modify specific task properties without overwriting unspecified fields.","intents":["I want to update a task's due date based on agent reasoning","I need to change task priority or labels in response to workflow events","I want to move a task to a different project programmatically"],"best_for":["AI agents that adjust task metadata based on context or user input","automation workflows that reprioritize or reschedule tasks","integration layers that sync task state across multiple systems"],"limitations":["Requires exact task ID — no fuzzy matching or search-then-update pattern","Updates are synchronous — no batch update optimization for multiple tasks","No conflict resolution for concurrent updates from multiple clients","Cannot update task subtasks or dependencies through this interface"],"requires":["Todoist API token with write permissions","Valid task ID from Todoist","MCP client implementation"],"input_types":["JSON-RPC method call with task_id and fields to update (content, description, due_date, priority, labels, project_id)"],"output_types":["JSON response confirming update with updated task object"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-todoist__cap_3","uri":"capability://tool.use.integration.task.completion.and.deletion","name":"task-completion-and-deletion","description":"Marks tasks as complete or permanently deletes them from Todoist through MCP method calls that invoke REST API endpoints for task state transitions. Implements idempotent operations so repeated completion calls don't cause errors, and provides explicit deletion with confirmation semantics for destructive operations.","intents":["I want my agent to mark tasks as done when they're completed","I need to remove tasks that are no longer relevant","I want to clean up old or duplicate tasks programmatically"],"best_for":["AI agents that track task completion and update state","automation workflows that clean up task lists","task lifecycle management systems"],"limitations":["Deletion is permanent — no undo or recovery mechanism","No bulk completion/deletion — operations are per-task","Completed tasks may still appear in some API responses depending on filter settings","No soft-delete option — cannot archive tasks for historical tracking"],"requires":["Todoist API token with write permissions","Valid task ID","MCP client implementation"],"input_types":["JSON-RPC method call with task_id and operation type (complete or delete)"],"output_types":["JSON response confirming operation success"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-todoist__cap_4","uri":"capability://tool.use.integration.project.and.section.management","name":"project-and-section-management","description":"Retrieves and manages Todoist projects and sections through MCP, allowing agents to list projects, create new projects, and organize tasks into sections. Translates MCP method calls into REST API operations for project CRUD and section management, enabling hierarchical task organization through the protocol interface.","intents":["I want to list all projects to understand the task organization structure","I need to create a new project programmatically for a workflow","I want to organize tasks into sections within a project"],"best_for":["AI agents that need to understand task hierarchy and organization","automation systems that create projects dynamically","multi-project task management workflows"],"limitations":["Project creation limited to basic properties — no advanced settings like templates or sharing","Section management requires project context — cannot create sections without project ID","No project deletion through MCP (may be intentional safety measure)","Project hierarchy is flat — no nested projects or project templates"],"requires":["Todoist API token with write permissions for project creation","MCP client implementation","Project IDs for section operations"],"input_types":["JSON-RPC method call with project/section parameters (name, color, favorite status)"],"output_types":["JSON array of project objects or confirmation of project/section creation"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-todoist__cap_5","uri":"capability://tool.use.integration.label.and.metadata.management","name":"label-and-metadata-management","description":"Manages task labels and metadata through MCP by providing methods to list available labels, create new labels, and assign/remove labels from tasks. Implements label discovery so agents understand available organizational tags, and supports label operations as part of task update workflows.","intents":["I want to see all available labels to categorize tasks","I need to create new labels dynamically for a workflow","I want to add or remove labels from tasks based on agent reasoning"],"best_for":["AI agents that use labels for task categorization and filtering","workflow systems that dynamically create labels for new task types","task organization systems that leverage metadata"],"limitations":["Labels are account-wide — no project-specific label scoping","Label deletion not supported through MCP","No label hierarchy or parent-child relationships","Label color customization limited to predefined palette"],"requires":["Todoist API token with read/write permissions","MCP client implementation"],"input_types":["JSON-RPC method call with label parameters (name, color)"],"output_types":["JSON array of label objects or confirmation of label creation"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-todoist__cap_6","uri":"capability://tool.use.integration.mcp.protocol.authentication.and.session.management","name":"mcp-protocol-authentication-and-session-management","description":"Handles Todoist API authentication by accepting an API token at MCP server initialization and managing session state server-side, so individual MCP clients never handle credentials directly. Implements token validation and error handling for authentication failures, translating Todoist API auth errors into MCP-compliant error responses.","intents":["I want to set up an MCP server with Todoist without exposing credentials to clients","I need to handle authentication errors gracefully in my agent workflow","I want to validate that my Todoist token is valid before using the MCP server"],"best_for":["teams deploying MCP servers in shared environments","security-conscious developers who want centralized credential management","multi-user systems where clients shouldn't access raw API tokens"],"limitations":["Single token per server instance — no multi-account support","Token rotation requires server restart","No token refresh mechanism — uses static API token","Authentication errors may leak information about token validity"],"requires":["Todoist API token (valid and with appropriate permissions)","MCP server runtime environment","Secure storage for token (environment variable or config file)"],"input_types":["API token provided at server initialization"],"output_types":["MCP error responses for authentication failures"],"categories":["tool-use-integration","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-todoist__cap_7","uri":"capability://tool.use.integration.error.handling.and.protocol.compliance","name":"error-handling-and-protocol-compliance","description":"Implements comprehensive error handling that translates Todoist REST API errors into MCP-compliant JSON-RPC error responses, including rate limiting, invalid parameters, and authentication failures. Maps HTTP status codes and Todoist error messages to standardized MCP error codes and descriptions, ensuring consistent error semantics across all capabilities.","intents":["I want my agent to handle Todoist API errors gracefully without crashing","I need to understand why a task operation failed (invalid input, rate limit, auth error)","I want to implement retry logic based on error types"],"best_for":["AI agents that need robust error handling for task operations","production systems that require graceful degradation","developers building resilient MCP-based workflows"],"limitations":["Rate limiting errors don't include retry-after headers — clients must implement exponential backoff","Some Todoist API errors may not map cleanly to MCP error codes","Error messages may expose internal API details","No circuit breaker pattern — repeated failures don't automatically disable the server"],"requires":["MCP client implementation that handles JSON-RPC errors","Understanding of MCP error code semantics"],"input_types":["Any MCP method call that may fail"],"output_types":["JSON-RPC error response with code, message, and optional data"],"categories":["tool-use-integration","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-todoist__cap_8","uri":"capability://tool.use.integration.json.rpc.method.dispatch.and.routing","name":"json-rpc-method-dispatch-and-routing","description":"Implements JSON-RPC 2.0 method dispatch that routes incoming MCP requests to appropriate Todoist API handlers based on method name. Uses a registry pattern to map method names (e.g., 'createTask', 'getTask') to handler functions, with parameter validation and type coercion before API calls.","intents":["I want to call Todoist operations through standardized MCP method names","I need the MCP server to validate my parameters before sending to Todoist","I want to understand what methods are available on the MCP server"],"best_for":["MCP clients that need standardized method interfaces","developers building agent systems on top of MCP","systems that require parameter validation before API calls"],"limitations":["Method names are fixed — no dynamic method registration","Parameter validation is basic — may not catch all invalid inputs","No method introspection or schema discovery through MCP","Method routing adds ~10-50ms overhead per call"],"requires":["MCP client that supports JSON-RPC 2.0","Knowledge of available method names and signatures"],"input_types":["JSON-RPC request object with method name and parameters"],"output_types":["JSON-RPC response with result or error"],"categories":["tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":26,"verified":false,"data_access_risk":"high","permissions":["Todoist API token (generated from Todoist account settings)","MCP client compatible with JSON-RPC 2.0 protocol","Network connectivity to Todoist API endpoints","Node.js runtime for the MCP server","Todoist API token with read permissions","MCP client implementation","Knowledge of Todoist project IDs and label names for filtering","Todoist API token with write permissions","Valid task ID from Todoist","Valid task ID"],"failure_modes":["Requires valid Todoist API token with write permissions","Task creation latency depends on Todoist API response time (typically 200-500ms)","No local caching of created tasks — each creation requires a live API call","Batch task creation not optimized — creates tasks sequentially rather than in parallel","Filtering happens server-side via Todoist API — no local indexing for complex queries","Pagination not explicitly handled — may return truncated results for accounts with thousands of tasks","No full-text search capability — filtering limited to metadata fields (project, label, priority, due date)","Real-time updates not supported — retrieved data reflects state at query time only","Requires exact task ID — no fuzzy matching or search-then-update pattern","Updates are synchronous — no batch update optimization for multiple tasks","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.28,"ecosystem":0.39999999999999997,"match_graph":0.25,"freshness":0.52,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-06-17T09:51:04.050Z","last_scraped_at":"2026-05-03T14:00:15.503Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=todoist","compare_url":"https://unfragile.ai/compare?artifact=todoist"}},"signature":"AJfmaywWe1A0jVkB74sTorAQAp+H9zB2cAirFUMom3tiejOWkVeRAo3ejCHLfLDDigUp3iWP6jjIaHX8/y0jDg==","signedAt":"2026-06-23T07:08:51.201Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/todoist","artifact":"https://unfragile.ai/todoist","verify":"https://unfragile.ai/api/v1/verify?slug=todoist","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}