# vikunja_projects_hierarchy

Project hierarchy operations (children, tree, breadcrumb, move)

Agent View of the PolicyLayer registry record for `vikunja_projects_hierarchy`. HTML page: https://policylayer.com/tools/democratize-technology-vikunja-mcp/vikunja-projects-hierarchy

## Facts

- Tool: `vikunja_projects_hierarchy`
- Server: Vikunja MCP Server (`democratize-technology/vikunja-mcp`) — https://policylayer.com/tools/democratize-technology-vikunja-mcp.md
- Homepage: https://github.com/democratize-technology/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": "vikunja_projects_hierarchy",
    "arguments": {}
  }
}
```

## Why vikunja_projects_hierarchy is rated Medium

The 'move' operation constitutes a Write action because it modifies project hierarchy relationships reversibly. While some operations (children, tree, breadcrumb) are Read operations, the presence of 'move' elevates the tool to Write category.

From the tool's own definition: "Tool description indicates 'move' operation on projects, which modifies the hierarchical structure of projects."

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Vikunja MCP Server (22)

- `vikunja_projects_crud` — Destructive — https://policylayer.com/tools/democratize-technology-vikunja-mcp/vikunja-projects-crud.md
- `vikunja_task_bulk` — Destructive — https://policylayer.com/tools/democratize-technology-vikunja-mcp/vikunja-task-bulk.md
- `vikunja_task_crud` — Destructive — https://policylayer.com/tools/democratize-technology-vikunja-mcp/vikunja-task-crud.md
- `vikunja_tasks` — Destructive — https://policylayer.com/tools/democratize-technology-vikunja-mcp/vikunja-tasks.md
- `vikunja_request_user_export` — Execute — https://policylayer.com/tools/democratize-technology-vikunja-mcp/vikunja-request-user-export.md
- `vikunja_download_user_export` — Read — https://policylayer.com/tools/democratize-technology-vikunja-mcp/vikunja-download-user-export.md
- `vikunja_export_project` — Read — https://policylayer.com/tools/democratize-technology-vikunja-mcp/vikunja-export-project.md
- `vikunja_filters` — Read — https://policylayer.com/tools/democratize-technology-vikunja-mcp/vikunja-filters.md
- `vikunja_auth` — Write — https://policylayer.com/tools/democratize-technology-vikunja-mcp/vikunja-auth.md
- `vikunja_batch_import` — Write — https://policylayer.com/tools/democratize-technology-vikunja-mcp/vikunja-batch-import.md
- `vikunja_labels` — Write — https://policylayer.com/tools/democratize-technology-vikunja-mcp/vikunja-labels.md
- `vikunja_projects` — Write — https://policylayer.com/tools/democratize-technology-vikunja-mcp/vikunja-projects.md
- `vikunja_projects_sharing` — Write — https://policylayer.com/tools/democratize-technology-vikunja-mcp/vikunja-projects-sharing.md
- `vikunja_task_assignees` — Write — https://policylayer.com/tools/democratize-technology-vikunja-mcp/vikunja-task-assignees.md
- `vikunja_task_comments` — Write — https://policylayer.com/tools/democratize-technology-vikunja-mcp/vikunja-task-comments.md
- `vikunja_task_labels` — Write — https://policylayer.com/tools/democratize-technology-vikunja-mcp/vikunja-task-labels.md
- `vikunja_task_relations` — Write — https://policylayer.com/tools/democratize-technology-vikunja-mcp/vikunja-task-relations.md
- `vikunja_task_reminders` — Write — https://policylayer.com/tools/democratize-technology-vikunja-mcp/vikunja-task-reminders.md
- `vikunja_teams` — Write — https://policylayer.com/tools/democratize-technology-vikunja-mcp/vikunja-teams.md
- `vikunja_templates` — Write — https://policylayer.com/tools/democratize-technology-vikunja-mcp/vikunja-templates.md
- `vikunja_users` — Write — https://policylayer.com/tools/democratize-technology-vikunja-mcp/vikunja-users.md
- `vikunja_webhooks` — Write — https://policylayer.com/tools/democratize-technology-vikunja-mcp/vikunja-webhooks.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=democratize-technology-vikunja-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/democratize-technology-vikunja-mcp
