Dida365 (TickTick) MCP server

Integrates with Dida365 (TickTick) task management API to create, update, retrieve, and delete tasks and projects after user authorization.
Back to servers
Provider
iamjzx
Release date
Mar 20, 2025
Language
TypeScript
Package
Stats
219 downloads

The Dida365 (TickTick) MCP Server allows AI assistants to interact with the Dida365 (TickTick) API, enabling them to manage tasks and projects after user authorization. This tool bridges the gap between AI systems and your task management workflow.

Features

  • User authentication with Dida365
  • Get all projects (lists)
  • Get tasks from a specific project or all tasks
  • Create new tasks with various parameters
  • Update existing tasks
  • Delete tasks
  • Create new projects

Prerequisites

  • Node.js (v14 or higher)
  • npm or yarn
  • Dida365 (TickTick) account

Installation

Using Smithery CLI (Recommended)

You can install the Dida365 MCP server using Smithery CLI:

npx -y @smithery/cli@latest install @iamjzx/dida

During installation, you'll be prompted to enter:

  • Your Dida365 Client ID
  • Your Dida365 Client Secret
  • Server port (defaults to 4000)

Direct Installation

If you prefer manual installation:

  1. Clone the repository
  2. Install dependencies:
npm install

Setting Up Your Dida365 App

Before using the server, you need to:

  1. Create your Dida365 (TickTick) app at https://developer.dida365.com/manage
  2. Click "Edit" on your app and configure the OAuth redirect URL (e.g., http://localhost:4000/oauth/callback)
    • The port in the URL should match the port you'll use when running the server
  3. Note your Client ID and Client Secret for configuration

Running the Server

For Cursor

npx -y @smithery/cli@latest run @iamjzx/dida --client cursor --config '{"clientId":"YOUR_CLIENT_ID","clientSecret":"YOUR_CLIENT_SECRET","port":"4000"}'

For Claude Desktop

  1. Open Claude Desktop and go to Settings > Developer
  2. Enable Developer Mode
  3. Click on "Edit Config" to open your claude_desktop_config.json
  4. Add the following configuration to the "mcpServers" section:
"dida365": {
  "command": "npx",
  "args": ["-y", "@smithery/cli@latest", "run", "@iamjzx/dida"],
  "env": {
    "CLIENT_ID": "YOUR_CLIENT_ID",
    "CLIENT_SECRET": "YOUR_CLIENT_SECRET",
    "SERVER_PORT": "4000"
  }
}
  1. Save the file and restart Claude Desktop

Running Directly

If you've cloned the repository and installed dependencies:

# Set required environment variables
export CLIENT_ID=YOUR_CLIENT_ID
export CLIENT_SECRET=YOUR_CLIENT_SECRET
export SERVER_PORT=4000 # Optional, defaults to 4000

# Start the server
npm start

On Windows:

set CLIENT_ID=YOUR_CLIENT_ID
set CLIENT_SECRET=YOUR_CLIENT_SECRET
set SERVER_PORT=4000
npm start

Using the MCP Tools

The server provides several tools for interacting with Dida365:

Project Management

Get All Projects

Use dida365_getProjects to retrieve all projects.

Create a New Project

Use dida365_createProject with these parameters:

  • name: Project name
  • color: (Optional) Project color

Task Management

Get Tasks

Use dida365_getTasks with these parameters:

  • projectId: (Optional) Get tasks from a specific project

Create a New Task

Use dida365_createTask with these parameters:

  • title: Task title
  • content: (Optional) Task content/description
  • projectId: (Optional) Project ID
  • startDate: (Optional) Start date in ISO format
  • dueDate: (Optional) Due date in ISO format
  • priority: (Optional) Priority level (0-5)
  • reminders: (Optional) Array of reminder times

Update a Task

Use dida365_updateTask with these parameters:

  • taskId: Task ID to update
  • title: (Optional) New task title
  • content: (Optional) New task content
  • projectId: (Optional) New project ID
  • startDate: (Optional) New start date
  • dueDate: (Optional) New due date
  • priority: (Optional) New priority level
  • status: (Optional) Task status (0 for not completed, 2 for completed)
  • reminders: (Optional) New array of reminder times

Delete a Task

Use dida365_deleteTask with this parameter:

  • taskId: Task ID to delete

How to add this MCP server to Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "cursor-rules-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "cursor-rules-mcp"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later