Marks a task as completed in TickTick. This tool automatically finds the project containing the task, so you only need to provide the task ID. The task will be moved to the completed/archived section in TickTick and will no longer appear in active task lists. This action cannot be undone through ...
AI agents call complete-task to permanently remove resources in Dida — typically in cleanup and lifecycle workflows. It does its job in a single call, and there is no undo.
While 'complete-task' appears to be a routine task management operation, the description explicitly indicates the action is irreversible through the API. Marking a task as complete removes it from active visibility and cannot be programmatically undone, making it functionally destructive—similar to a soft delete.
From the tool's definition Tool description states 'This action cannot be undone through the API' and task will be 'moved to the completed/archived section' and 'will no longer appear in active task lists.' This is a permanent state change that cannot be reversed.
Documented attack patterns abuse exactly the kind of access complete-task gives an agent:
PolicyLayer is an MCP gateway — it sits between your AI agents and Dida, and nothing reaches the server without passing your rules. This is the rule we recommend for complete-task:
{
"version": "1",
"default": "deny",
"hide": [
"complete-task"
]
} complete-task disappears from the agent's tool list entirely, and any attempt to call it is denied. The rest of the server keeps working.
Free to start. No card required.
Marks a task as completed in TickTick. This tool automatically finds the project containing the task, so you only need to provide the task ID. The task will be moved to the completed/archived section in TickTick and will no longer appear in active task lists. This action cannot be undone through the API. It is categorised as a Destructive tool in the Dida MCP Server, which means it can permanently delete or destroy data. Block by default and require explicit approval.
Register the Dida MCP server in PolicyLayer and add a rule for complete-task: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Dida. Nothing to install.
complete-task is a Destructive tool with critical risk. Critical-risk tools should be blocked by default and only enabled with explicit human approval.
Yes. Add a rate_limit block to the complete-task rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for complete-task. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
complete-task is provided by the Dida MCP server (zhongwencool/dida-mcp-server). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Start from Dida, add the rest of your stack, and see everything your agents can call. Then put policy on all of it.
Free to start. No card required.
18 Dida tools catalogued and risk-classified — across an index of 43,000+ MCP servers.