Skip to content

v0.2.3 - Quality & Reliability Improvements

Latest

Choose a tag to compare

@hoffination hoffination released this 10 Nov 23:06

πŸŽ‰ Overview

This release includes significant quality improvements, critical API fixes, and enhanced developer experience for the Todoist MCP server.

✨ Quality Improvements

Optional Configuration (+15pts)

  • Made apiToken configuration optional with environment variable fallback
  • Server can now run using TODOIST_API_TOKEN environment variable
  • Improved error messaging with helpful setup instructions

Enhanced Input Documentation (+12pts)

  • Added comprehensive JSON schema documentation to all tool parameters
  • Clear descriptions for filtering, natural language queries, and date formats
  • Helpful examples for common use cases

Tool Annotations (+9pts)

  • Added proper annotations to all 16 tools:
    • readOnlyHint for safe GET operations (5 tools)
    • destructiveHint for DELETE operations (2 tools)
    • idempotentHint for safe-to-repeat operations (11 tools)

User Prompts (+5pts)

Added 5 helpful prompts for common workflows:

  • daily-review: Review today's tasks and plan your day
  • quick-add: Quickly add tasks with natural language
  • project-overview: Get overview of all projects
  • weekly-plan: Plan your week ahead
  • cleanup-tasks: Review and clean up old or stuck tasks

Resources (+5pts)

Added 6 resources to expose Todoist data:

  • todoist://tasks/today - Today's tasks
  • todoist://tasks/overdue - Overdue tasks
  • todoist://tasks/week - This week's tasks
  • todoist://tasks/priority/high - High priority tasks
  • todoist://projects - All projects
  • todoist://labels - All personal labels

πŸ› Critical Bug Fixes

Fix 400 API Errors

Fixed issue where Todoist API returned 400 Bad Request errors when updating tasks with partial parameters:

  • Added removeUndefined() helper to filter out undefined values from API requests
  • Applied fix to all create/update operations (tasks, projects, labels, sections)
  • Ensures only explicitly set parameters are sent to the API

Fix Incomplete Tool Schemas

Restored missing parameters to todoist_create_task and todoist_update_task:

  • Added to update_task: due_string, due_date, due_datetime, due_lang, project_id, section_id, assignee_id, duration, duration_unit
  • Added to create_task: parent_id, order, due_date, due_datetime, due_lang, assignee_id, duration, duration_unit
  • Ensures feature parity between single and batch operations

Fix TypeScript Compilation Error

Fixed build failure in createSection method:

  • Added missing AddSectionArgs type import
  • Added proper type casting to resolve type incompatibility
  • Ensures package builds and publishes successfully

πŸ”§ Technical Improvements

  • Fixed MCP SDK 1.21.0 compatibility issues
  • Fixed binary execution with proper shebang and module detection
  • Improved error handling and validation
  • Code quality improvements (linting, formatting)

πŸ“¦ Installation

npm install @hoffination/mcp-todoist@0.2.3

πŸ”— Links

πŸ™ Credits

All improvements implemented with assistance from Claude Code.