# task_comments_add

Add a comment to a task

Agent View of the PolicyLayer registry record for `task_comments_add`. HTML page: https://policylayer.com/tools/0xk3vin-vikunja-mcp/task-comments-add

## Facts

- Tool: `task_comments_add`
- Server: Vikunja (`0xk3vin/vikunja-mcp`) — https://policylayer.com/tools/0xk3vin-vikunja-mcp.md
- Homepage: https://github.com/0xK3vin/vikunja-mcp
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "task_comments_add",
    "arguments": {}
  }
}
```

## Why task_comments_add is rated Medium

This tool creates new comment records, which is a reversible write operation. Comments can typically be edited or deleted. The action has minimal blast radius—adding comments does not modify task data itself, delete records, execute code, or trigger financial transactions. This is a straightforward Write-category operation with low severity.

From the tool's own definition: "Tool name 'task_comments_add' and description 'Add a comment to a task' indicate creation of new comment data on an existing task."

## Use case

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

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Vikunja:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "task_comments_add": {
      "limits": [
        {
          "counter": "task_comments_add_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Vikunja (30)

- `buckets_delete` — Destructive — https://policylayer.com/tools/0xk3vin-vikunja-mcp/buckets-delete.md
- `labels_delete` — Destructive — https://policylayer.com/tools/0xk3vin-vikunja-mcp/labels-delete.md
- `projects_delete` — Destructive — https://policylayer.com/tools/0xk3vin-vikunja-mcp/projects-delete.md
- `task_assignees_remove` — Destructive — https://policylayer.com/tools/0xk3vin-vikunja-mcp/task-assignees-remove.md
- `task_labels_remove` — Destructive — https://policylayer.com/tools/0xk3vin-vikunja-mcp/task-labels-remove.md
- `task_relations_remove` — Destructive — https://policylayer.com/tools/0xk3vin-vikunja-mcp/task-relations-remove.md
- `tasks_delete` — Destructive — https://policylayer.com/tools/0xk3vin-vikunja-mcp/tasks-delete.md
- `buckets_list` — Read — https://policylayer.com/tools/0xk3vin-vikunja-mcp/buckets-list.md
- `labels_list` — Read — https://policylayer.com/tools/0xk3vin-vikunja-mcp/labels-list.md
- `notifications_list` — Read — https://policylayer.com/tools/0xk3vin-vikunja-mcp/notifications-list.md
- `ping` — Read — https://policylayer.com/tools/0xk3vin-vikunja-mcp/ping.md
- `project_views_list` — Read — https://policylayer.com/tools/0xk3vin-vikunja-mcp/project-views-list.md
- `projects_get` — Read — https://policylayer.com/tools/0xk3vin-vikunja-mcp/projects-get.md
- `projects_list` — Read — https://policylayer.com/tools/0xk3vin-vikunja-mcp/projects-list.md
- `task_assignees_list` — Read — https://policylayer.com/tools/0xk3vin-vikunja-mcp/task-assignees-list.md
- `task_comments_list` — Read — https://policylayer.com/tools/0xk3vin-vikunja-mcp/task-comments-list.md
- `tasks_get` — Read — https://policylayer.com/tools/0xk3vin-vikunja-mcp/tasks-get.md
- `tasks_list` — Read — https://policylayer.com/tools/0xk3vin-vikunja-mcp/tasks-list.md
- `teams_list` — Read — https://policylayer.com/tools/0xk3vin-vikunja-mcp/teams-list.md
- `users_search` — Read — https://policylayer.com/tools/0xk3vin-vikunja-mcp/users-search.md
- `buckets_create` — Write — https://policylayer.com/tools/0xk3vin-vikunja-mcp/buckets-create.md
- `labels_create` — Write — https://policylayer.com/tools/0xk3vin-vikunja-mcp/labels-create.md
- `projects_create` — Write — https://policylayer.com/tools/0xk3vin-vikunja-mcp/projects-create.md
- `projects_update` — Write — https://policylayer.com/tools/0xk3vin-vikunja-mcp/projects-update.md
- `task_assignees_add` — Write — https://policylayer.com/tools/0xk3vin-vikunja-mcp/task-assignees-add.md
- `task_labels_add` — Write — https://policylayer.com/tools/0xk3vin-vikunja-mcp/task-labels-add.md
- `task_move_to_bucket` — Write — https://policylayer.com/tools/0xk3vin-vikunja-mcp/task-move-to-bucket.md
- `task_relations_add` — Write — https://policylayer.com/tools/0xk3vin-vikunja-mcp/task-relations-add.md
- `tasks_create` — Write — https://policylayer.com/tools/0xk3vin-vikunja-mcp/tasks-create.md
- `tasks_update` — Write — https://policylayer.com/tools/0xk3vin-vikunja-mcp/tasks-update.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=0xk3vin-vikunja-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/0xk3vin-vikunja-mcp
