Dida365 (TickTick) MCP Server
Provides tools for interacting with the Dida365 (TickTick) API, enabling task management capabilities including creating, updating, and deleting tasks, as well as creating and managing projects/lists after user authorization.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Dida365 (TickTick) MCP Serveradd a task to buy groceries tomorrow at 5pm"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Dida365 (TickTick) MCP Server
This is a Model Context Protocol (MCP) server that provides tools for interacting with the Dida365 (TickTick) API. It allows AI assistants to manage tasks and projects in Dida365 after user authorization.
Features
User authentication with Dida365
Get all projects (lists)
Get tasks from collection box
Create new tasks with various parameters
Update existing tasks in collection box
Delete tasks in collection box
Create new projects
Related MCP server: TickTick MCP
Prerequisites
Node.js (v14 or higher)
npm or yarn
Dida365 (TickTick) account
We recommend that you clone the repository and run it locally:
Installation
Clone this repository
Install dependencies:
npm installUsage
Get your token
Open https://developer.dida365.com/manage and click "New App" to create your Dida365 (TickTick) app.
Click "Edit" app and configure the OAuth redirect URL "http://106.75.247.14:3999/oauth/callback"
Get your Client ID and Client Secret
Don't forget to replace {client_id} with you client_id
The server will return a form
Fill in your client_id and client_secret, then sumit to get your token.
Setup for Different Clients
Cursor
Open Cursor and go to Settings > MCP
Click on "Add new global MCP server"
Add the follwing configuration to mcp.json:
"dida365": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@smithery/cli@latest",
"run",
"@iamjzx/dida",
"--config",
"{\"token\":\"your token\"}"
]
}Save the file and enable the mcp.
Claude Desktop
Open Claude Desktop and go to Settings > Developer
Enable Developer Mode
Click on "Edit Config" to open your claude_desktop_config.json
Add the following configuration to the "mcpServers" section:
"dida365": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@smithery/cli@latest",
"run",
"@iamjzx/dida",
"--config",
"{\"token\":\"your token\"}"
]
}Save the file and restart Claude Desktop
Logs
You can view the service runtime logs in the src/server.log file.
Unfinished
Due to the lack of api, we can't do the following:
Get tasks from a specific project
Update existing tasks in a specific project
Delete tasks in a specific project
Create new tasks in a specific project
Available Tools
5 toolsapi-clientD
ApiClient tool description
| Name | Required | Description | Default |
|---|---|---|---|
| message | No | Message to process |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. However, it adds nothing about the tool's behavior—such as whether it performs read/write operations, requires authentication, has side effects, or handles errors. This leaves critical behavioral traits completely undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While the description is brief, it is under-specified rather than appropriately concise. The single sentence 'ApiClient tool description' fails to convey meaningful information, making it inefficient rather than well-structured. Every sentence should earn its place, but this one adds negligible value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations, no output schema, and a description that provides almost no information, the description is severely incomplete. It does not compensate for the missing structured data, leaving the agent without essential context for a tool with one parameter and unknown behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the single parameter 'message' documented as 'Message to process'. The description adds no additional meaning beyond this schema information. According to the rules, when coverage is high (>80%), the baseline score is 3 even without parameter details in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'ApiClient tool description' is a tautology that merely restates the tool name with minimal modification. It provides no specific verb or resource information, nor does it differentiate this tool from its siblings (data-processor, example_tool, file-handler, my-tool). This fails to communicate what the tool actually does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus its siblings or any alternatives. There is no mention of appropriate contexts, prerequisites, or exclusions. This leaves the agent with no information to make an informed selection among available tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data-processorD
DataProcessor tool description
| Name | Required | Description | Default |
|---|---|---|---|
| message | No | Message to process |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. However, it reveals nothing about the tool's behavior—whether it's read-only or destructive, what permissions are needed, rate limits, side effects, or output format. This leaves the agent completely in the dark about how the tool operates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While concise with only three words, the description is under-specified rather than efficiently informative. It wastes its limited space on a tautology ('DataProcessor tool description') that adds no value, failing to front-load useful information. Conciseness should not come at the cost of clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is severely incomplete. It does not explain what the tool does, when to use it, behavioral traits, or return values. For a tool with one parameter, this minimal description leaves critical gaps that hinder an AI agent's ability to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'message' documented as 'Message to process'. The description adds no additional meaning beyond this, such as examples, constraints, or processing context. Since the schema does the heavy lifting, the baseline score of 3 is appropriate, but the description fails to compensate or enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'DataProcessor tool description' is a tautology that merely restates the tool name with minimal variation. It provides no information about what specific action the tool performs (e.g., what type of processing), what resource it operates on, or how it differs from sibling tools like 'api-client' or 'file-handler'. This fails to help an AI agent understand when to select this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives. It does not mention any context, prerequisites, exclusions, or comparisons to sibling tools. An AI agent would have no basis for choosing 'data-processor' over 'api-client' or 'file-handler' based on this description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
example_toolC
An example tool that processes messages
| Name | Required | Description | Default |
|---|---|---|---|
| message | No | Message to process |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Processes messages' implies some operation but doesn't specify whether it's read-only, destructive, requires authentication, has rate limits, or what the output looks like. This leaves critical behavioral traits undefined, making it hard for an agent to predict tool behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It's appropriately sized for a simple tool and front-loaded with the core purpose. However, it could be more structured by including key details, but it earns high marks for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'processes' entails, the tool's behavior, or expected outcomes. For a tool with one parameter and no structured context, the description should provide more operational details to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter-specific information beyond what the input schema provides. With 100% schema description coverage (the 'message' parameter is documented in the schema), the baseline score is 3. The description doesn't compensate with additional context about parameter usage, constraints, or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool 'processes messages', which provides a basic verb+resource combination. However, it's vague about what 'processes' means (e.g., filtering, transforming, analyzing) and doesn't distinguish it from sibling tools like 'data-processor' or 'api-client'. The purpose is clear enough to understand the general domain but lacks specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention any context, prerequisites, or exclusions, and it doesn't reference sibling tools. Without this information, an AI agent must guess based on the tool name alone, which is insufficient for effective tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file-handlerD
FileHandler tool description
| Name | Required | Description | Default |
|---|---|---|---|
| message | No | Message to process |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but offers none. It doesn't indicate whether this is a read or write operation, what permissions might be required, whether it's destructive, what side effects it might have, or how it handles errors. The description is completely inadequate for understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While technically concise with just three words, this description represents under-specification rather than effective brevity. The single phrase 'FileHandler tool description' fails to communicate essential information and wastes the opportunity to provide meaningful guidance. True conciseness requires delivering maximum information in minimal words, which this description does not achieve.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there are no annotations and no output schema, the description should compensate by providing comprehensive information about the tool's purpose, behavior, and usage. Instead, it offers only a tautological restatement of the name. This is completely inadequate for a tool with one parameter and no structured behavioral metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'message' documented as 'Message to process'. The description adds no additional parameter information beyond what the schema already provides. According to scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'FileHandler tool description' is a tautology that merely restates the tool name with minimal elaboration. It provides no specific verb or resource information, and fails to distinguish this tool from its siblings (api-client, data-processor, example_tool, my-tool). This offers no meaningful guidance about what the tool actually does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides absolutely no guidance about when to use this tool versus alternatives. There's no mention of appropriate contexts, prerequisites, or comparisons to sibling tools. The agent receives zero information about when this tool should be selected over other available options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my-toolD
MyTool tool description
| Name | Required | Description | Default |
|---|---|---|---|
| message | No | Message to process |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure but offers none. It doesn't indicate whether this is a read or write operation, what permissions are needed, or any side effects like rate limits or data modification.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While concise with only three words, the description is under-specified rather than efficiently informative. It fails to convey meaningful content, making it ineffective despite its brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and a vague description, this is completely inadequate. The description doesn't explain what the tool does, how to use it, or what to expect, leaving critical gaps in understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single parameter 'message' clearly documented in the schema. The description adds no additional parameter information beyond what the schema provides, meeting the baseline of 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'MyTool tool description' is a tautology that merely restates the tool name without specifying what it actually does. It lacks any verb or resource indication, and provides no differentiation from sibling tools like api-client or data-processor.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There is no mention of context, prerequisites, or comparisons to sibling tools, leaving the agent with no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The tool names are highly generic and vague, making it impossible to distinguish their purposes. Tools like 'api-client', 'data-processor', 'file-handler', and 'my-tool' could easily overlap in functionality, and 'example_tool' adds confusion without clear differentiation. This lack of specificity will likely cause agents to misselect tools due to ambiguous boundaries.
The naming conventions are inconsistent, mixing kebab-case (e.g., 'api-client'), snake_case (e.g., 'example_tool'), and camelCase (e.g., 'MyTool' in 'my-tool'). There is no predictable pattern in verb usage or structure, leading to a chaotic and unreadable set that lacks coherence.
With 5 tools, the count is reasonable for a server, but it feels borderline due to the vague and overlapping purposes. For a TickTick integration, this number might be thin if it aims to cover core task management features, but it's not extreme enough to score lower.
Given the server's name suggests a TickTick (Dida365) integration, the tool set is severely incomplete. There are no tools for core task management operations like creating, listing, updating, or deleting tasks, notes, or reminders. The generic tool names provide no coverage for the domain, leaving obvious gaps that will cause agent failures.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Manage tasks, Focus Zone, notes, projects, and task history from compatible AI assistants.
Create and manage MeisterTask projects, tasks, and notes from your AI assistant.
Official Todoist MCP server for AI assistants to manage tasks, projects, and workflows.
Manage Superlist tasks and lists in plain language from any MCP-compatible AI agent.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI assistants to manage TickTick tasks and projects through OAuth2 authentication, supporting task creation, updates, completion, project management, and smart daily scheduling based on priorities and due dates.55MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage TickTick tasks through natural language, including creating, updating, completing, and deleting tasks, as well as managing projects.14MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to directly manage Dida365 (TickTick) tasks, including creating, editing, completing, and setting priorities, deadlines, subtasks, reminders, and recurring tasks via natural language.8MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage tasks and projects in TickTick through the TickTick Open API, supporting CRUD operations on tasks and projects.144MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/iamjzx/dida'
If you have feedback or need assistance with the MCP directory API, please join our Discord server