Medium Risk

complete_task

Mark a task as completed. Changes status to COMPLETED and records end time. Args: task_id: ID of the task to complete Returns: Updated task data with completion confirmation

How to control complete_task ↓

What complete_task does on Taskdog

AI agents use complete_task to create or update resources in Taskdog — usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Taskdog environment.

Medium Risk

Why complete_task needs a policy

The tool creates or modifies data (task status, end time) but these changes are reversible—a completed task can be reopened or its status updated again by another tool like 'update_task' or 'cancel_task' (evident from sibling tools). This fits the Write category rather than Destructive.

From the tool's definition Tool description states it 'Mark a task as completed', 'Changes status to COMPLETED and records end time'. This modifies task state and records metadata (end time), which are reversible changes to data.

Documented attack patterns abuse exactly the kind of access complete_task gives an agent:

How to control complete_task

PolicyLayer is an MCP gateway — it sits between your AI agents and Taskdog, and nothing reaches the server without passing your rules. This is the rule we recommend for complete_task:

policy.json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "complete_task": {
      "limits": [
        {
          "counter": "complete_task_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}

complete_task stays usable, but capped — an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.

  1. Create a free account and register Taskdog — nothing to install.
  2. Add this policy — paste it, or build it visually.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
LIMIT THIS TOOL →

Free to start. No card required.

Related tools and policies

Go deeper

Questions about complete_task

What does the complete_task tool do? +

Mark a task as completed. Changes status to COMPLETED and records end time. Args: task_id: ID of the task to complete Returns: Updated task data with completion confirmation. It is categorised as a Write tool in the Taskdog MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.

How do I enforce a policy on complete_task? +

Register the Taskdog 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 Taskdog. Nothing to install.

What risk level is complete_task? +

complete_task is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.

Can I rate-limit complete_task? +

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.

How do I block complete_task completely? +

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.

What MCP server provides complete_task? +

complete_task is provided by the Taskdog MCP server (kohei-wada/taskdog). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policy on every Taskdog tool call.

Start from Taskdog, 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.

26 Taskdog tools catalogued and risk-classified — across an index of 43,000+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.