Dida365 (TickTick) MCP Server
Dida365(TickTick)MCP 服务器
这是一个模型上下文协议 (MCP) 服务器,提供与 Dida365 (TickTick) API 交互的工具,允许 AI 助手在用户授权后管理 Dida365 中的任务和项目。
特征
使用 Dida365 进行用户身份验证
获取所有项目(列表)
从收集箱获取任务
使用各种参数创建新任务
更新收集箱中的现有任务
删除收集箱中的任务
创建新项目
Related MCP server: TickTick MCP
先决条件
Node.js(v14 或更高版本)
npm 或 yarn
Dida365(TickTick)账户
我们建议您克隆存储库并在本地运行它:
安装
克隆此存储库
安装依赖项:
npm install用法
获取您的代币
打开https://developer.dida365.com/manage并点击“新建应用程序”来创建您的 Dida365(TickTick)应用程序。
点击“编辑”应用程序并配置OAuth重定向URL“ http://106.75.247.14:3999/oauth/callback ”
获取您的客户端 ID 和客户端密钥
打开“ 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 ”
不要忘记用你的 client_id 替换 {client_id}
服务器将返回一个表单
填写您的client_id和client_secret,然后提交以获取您的令牌。
针对不同客户端的设置
光标
打开 Cursor 并前往“设置”>“MCP”
点击“添加新的全局 MCP 服务器”
在 mcp.json 中添加以下配置:
"dida365": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@smithery/cli@latest",
"run",
"@iamjzx/dida",
"--config",
"{\"token\":\"your token\"}"
]
}保存文件并启用 mcp。
克劳德桌面
打开 Claude Desktop 并转到“设置”>“开发者”
启用开发者模式
点击“编辑配置”打开你的claude_desktop_config.json
在“mcpServers”部分添加以下配置:
"dida365": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@smithery/cli@latest",
"run",
"@iamjzx/dida",
"--config",
"{\"token\":\"your token\"}"
]
}保存文件并重新启动Claude Desktop
日志
您可以在src/server.log文件中查看服务运行时日志。
未完成
由于缺少api,我们无法执行以下操作:
从特定项目获取任务
更新特定项目中的现有任务
删除特定项目中的任务
在特定项目中创建新任务
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, the description bears full responsibility for disclosing behavioral traits. It fails to mention any side effects, authorization needs, rate limits, or return characteristics, offering only the generic name.
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 short but wastes its single sentence on a tautology. It is under-specified rather than concise, as it omits essential information that a longer description would provide.
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 tool's generic name and the presence of siblings, the description is wholly incomplete. It does not mention the API being communicated with, the expected output, or any special behavior, rendering it insufficient for an agent to use 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?
Schema description coverage is 100%, so the parameter 'message' is already documented in the input schema. The description adds no additional meaning or constraints beyond what the schema provides.
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 without specifying any verb, resource, or action. It does not distinguish this tool from siblings like 'data-processor' or 'file-handler'.
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 vs. alternatives. The description lacks any context, prerequisites, or examples, leaving the agent without any decision-making support.
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?
With no annotations, the description carries the full burden of behavioral disclosure. It tells nothing about side effects, permissions, restrictions, or return behavior, leaving the agent completely in the dark about what the tool does.
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 extremely short (4 words) but wastes the opportunity to convey any useful information. Conciseness at the expense of substance is not valued.
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 low complexity (1 optional param, no annotations, no output schema), a minimal description should at least clarify the nature of processing. This description is completely inadequate.
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% (the 'message' parameter has a description), so baseline is 3. The tool description adds no further meaning beyond the schema, but does not harm.
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 without specifying any action or resource. It fails to convey what data processing actually entails.
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 its siblings (api-client, example_tool, file-handler, my-tool). There is no mention of context, prerequisites, or alternatives.
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 provided and the description lacks any behavioral traits such as side effects, permissions, or read-only/mutating nature.
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 short, the description is under-specified and does not earn its place with substantive information.
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 simple schema and no output schema or annotations, the description fails to provide complete context, e.g., what the output is or expected 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?
Schema description coverage is 100%, so the description adds no value beyond the schema definition for the only parameter 'message'.
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 'processes messages' is vague and does not specify what kind of processing or distinguish from sibling tools like api-client, data-processor, and file-handler.
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 on when to use this tool versus alternatives; no exclusions or prerequisites mentioned.
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?
No annotations are provided, so the description must disclose behavioral traits. It contains no information about side effects, permissions, or any behavior beyond the name, leaving the agent completely uninformed.
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 very short, but it is underspecified rather than concise. It fails to convey useful information about the tool's purpose or usage, making it inefficient for an agent.
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 tool's simplicity (single parameter, no output schema), the description should at least state what the tool does with the message. It does not, leaving the context completely incomplete.
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% (one parameter 'message' described as 'Message to process'). The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.
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, merely restating the tool name without specifying any verb or resource. It does not clarify what the tool does, and it fails to distinguish it from siblings 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?
No guidance is provided on when to use this tool, when not to, or how it compares to alternatives. The description is generic and offers no context for selection.
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 available, the description carries full responsibility for behavioral disclosure. It merely repeats the tool name and offers no insight into side effects, permissions, or constraints.
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 short (three words), it is under-specified rather than concise. It lacks front-loaded key information and fails to earn its place by adding 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 tool's single parameter, lack of output schema, and absent annotations, the description is grossly incomplete. It provides no operational context for agent invocation.
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%, and the input schema already describes the 'message' parameter. The description adds no further semantic value beyond the schema, so a baseline score of 3 is appropriate.
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 restates the tool name without indicating any specific action or resource. It fails to distinguish 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?
No usage context or guidance is provided. The description does not specify when to use this tool over alternatives, nor does it mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- First observed
api-client - First observed
data-processor - First observed
example_tool - First observed
file-handler - First observed
my-tool
TDQS
Scored across 5 tools
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
Related MCP Connectors
Manage tasks, Focus Zone, notes, projects, and task history from compatible AI assistants.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
Create and manage MeisterTask projects, tasks, and notes from your AI assistant.
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.11 npm4MIT