Get the FREE Ultimate OpenClaw Setup Guide →

dida

A Model Context Protocol (MCP) server for interacting with TickTick/Dida365 task management service. This server provides tools to manage tasks, projects, and tags through the TickTick API.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio zhongwencool-dida-mcp-server node /path/to/node_modules/dida-mcp-server/dist/index.js

How to use

Dida MCP Server provides a Node.js-based MCP implementation that lets AI assistants interact with TickTick/Dida365 tasks, projects, and tags through a robust set of tools. It includes authentication via OAuth (V1) and optional username/password session-based authentication (V2), a GTD-oriented system prompt, and a suite of CRUD operations for tasks and projects, plus batch actions for efficiency. You can connect to the running MCP server from any MCP-compatible client using the server configuration provided in the README, then issue tool commands like list-projects, create-task, move-task, and batch-update-tasks to manage your TickTick/Dida365 data with AI-driven workflows.

Key capabilities include: authentication status checking (check-auth-status), project management (list-projects, create-project, update-project, delete-project, refresh-project-cache), task management (list-tasks, create-task, get-task, update-task, batch-update-tasks, complete-task, delete-task, batch-delete-tasks, move-task, batch-move-tasks), and data querying (list-cached-data). The server ships two built-in prompts: a GTD Assistant Prompt to guide tool usage and a Process Inbox Prompt for GTD-oriented inbox organization. To start, authenticate via the get-access-token workflow, then invoke the desired tools through an MCP client connected to the server.

How to install

Prerequisites:

  • Node.js v16 or higher
  • npm v7 or higher
  • TickTick/Dida365 account
  • Client ID and Client Secret from Dida365 Developer Center for OAuth (optional for V2 API if using username/password)

Option 1: Install from npm (Recommended)

# Install globally
npm install -g dida-mcp-server

# Or install locally in your project
npm install dida-mcp-server

Option 2: Install from source

# Clone the repository
git clone https://github.com/zhongwencool/dida-mcp-server.git
cd dida-mcp-server

# Install dependencies
npm install

# Build the project (if needed)
npm run build

Start the server after installation:

# If installed globally
dida-mcp-server

# If installed locally or from source
npm start

To connect via an MCP client, use the server's configuration as shown in the README, e.g. the default command wiring for a local install:

{
  "mcpServers": {
    "dida": {
      "command": "node",
      "args": ["/path/to/node_modules/dida-mcp-server/dist/index.js"]
    }
  }
}

For development workflows, you can run in development mode (watch/rebuild) with:

npm run dev

Tests can be run with:

npm test

Additional notes

Tips and caveats:

  • The authentication process stores tokens in ~/.dida-mcp-config.json. Ensure this file is secure and backed up if needed.
  • OAuth setup requires redirect URI to http://localhost:3000/oauth/callback during token retrieval.
  • If you encounter token refresh issues, verify your v1 (OAuth) and v2 (session) tokens are correctly stored in the config file.
  • The MCP config uses a node-based entry point path. If your project layout differs, adjust the path in mcp_config accordingly.
  • The server exposes a local port for OAuth callback (default 3000). Ensure this port is available in your environment.
  • When connecting from an MCP client, you can either reference the global npm package command or a local node invocation with the dist/index.js file, depending on how you installed the server.
  • For caching-sensitive operations, you can use list-cached-data to inspect current projects and tags cache before making changes.

Related MCP Servers

Sponsor this space

Reach thousands of developers