dida365-task-orchestrator
A Model Context Protocol service facilitating programmatic control over Dida365 (also recognized as TickTick) tasks and organizational structures via its authenticated Application Programming Interface. This enables dynamic creation, modification, and removal of to-dos, alongside retrieval of project inventories and existing item lists to optimize workflow efficiency.
Author

iamjzx
Quick Info
Actions
Tags
Dida365 (TickTick) Service Endpoint for AI Orchestration
This package functions as an MCP endpoint, providing a structured interface for artificial intelligence agents to interface with the Dida365 (TickTick) ecosystem. Authorization via the user's credentials is required before operations can commence.
Core Capabilities
- Secure user credential exchange with Dida365.
- Fetching all defined organizational containers (projects/lists).
- Accessing items stored within the designated collection inbox.
- Programmatic generation of novel tasks, supporting comprehensive parameter specification.
- In-place modification of existing items within the inbox context.
- Removal of specified items from the inbox.
- Initiating the creation of new project containers.
Prerequisites for Local Deployment
To run this component locally, ensure you have the following prerequisites met:
- A functioning Node.js runtime (version 14 or newer is required).
- A package manager: npm or yarn.
- An active Dida365 (TickTick) user account.
Recommended Execution Method (Local Cloning)
We strongly advise cloning this repository and executing the service within your local environment:
Setup Instructions
- Duplicate the repository contents to your local machine.
- Install necessary dependencies:
bash npm install
Operational Guide
Securing the Authorization Token
- Navigate to the Dida365 Developer Portal: https://developer.dida365.com/manage and instantiate a "New App".
- Edit the newly created application settings. Configure the OAuth redirection endpoint to point specifically to
http://106.75.247.14:3999/oauth/callback. - Record your Client ID and Client Secret.
- Initiate the authorization sequence using this URI structure:
https://dida365.com/oauth/authorize?scope=tasks%3Aread%20tasks%3Awrite&client_id={client_id}&state=state&redirect_uri=http%3A%2F%2F106.75.247.14%3A3999%2Foauth%2Fcallback&response_type=code
Remember to substitute {client_id} with your actual client identifier.
The server interface will subsequently present a form requiring input of your Client ID and Client Secret to finalize token acquisition.
Integration Configuration for Client Applications
For Cursor Users
- Access Cursor's configuration panel: Settings > MCP.
- Select the option to "Add new global MCP server".
- Incorporate the following JSON configuration snippet into your
mcp.jsonfile:
"dida365": { "command": "cmd", "args": [ "/c", "npx", "-y", "@smithery/cli@latest", "run", "@iamjzx/dida", "--config", "{\"token\":\"your token\"}" ] }
- Persist the changes and activate the MCP feature.
For Claude Desktop Users
- Open Claude Desktop settings and navigate to the Developer section.
- Activate Developer Mode.
- Open the configuration file by selecting "Edit Config" (
claude_desktop_config.json). - Augment the "mcpServers" array with this configuration:
"dida365": { "command": "cmd", "args": [ "/c", "npx", "-y", "@smithery/cli@latest", "run", "@iamjzx/dida", "--config", "{\"token\":\"your token\"}" ] }
- Save the configuration file and restart the Claude Desktop application.
Operational Logging
Diagnostic output regarding the service's runtime behavior can be examined within the src/server.log file.
Current Functional Limitations
Due to constraints originating from the exposed API surface, the following granular management operations are currently unavailable:
- Querying tasks belonging to a specific project context.
- Modifying tasks residing within a designated project.
- Executing deletion commands on tasks tied to a particular project.
- Instantiating new tasks directly within a specified project container.
