# transkribus_coll_user_update_role

Update the role of a user in a collection.

Agent View of the PolicyLayer registry record for `transkribus_coll_user_update_role`. HTML page: https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-coll-user-update-role

## Facts

- Tool: `transkribus_coll_user_update_role`
- Server: Transkribus (`@lazyants/transkribus-mcp-server`) — https://policylayer.com/tools/io-github-lazyants-transkribus.md
- Install: `npx -y @lazyants/transkribus-mcp-server`
- Homepage: https://github.com/lazyants/transkribus-mcp-server
- 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": "transkribus_coll_user_update_role",
    "arguments": {}
  }
}
```

## Why transkribus_coll_user_update_role is rated Medium

Updating a user's role changes access control and permissions within a collection. This is a Write operation because it modifies data (user role assignment) reversibly and does not delete data or execute arbitrary code. Severity is medium because malicious role changes could grant unauthorized access to sensitive documents or restrict legitimate users, but the change can be undone by an administrator.

From the tool's own definition: "Tool name contains 'update_role' and description states 'Update the role of a user in a collection' — this modifies user permissions/roles in a collection, which is a reversible data modification operation."

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Transkribus (300)

- `transkribus_coll_credit_remove_package` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-coll-credit-remove-package.md
- `transkribus_coll_delete` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-coll-delete.md
- `transkribus_coll_delete_empty` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-coll-delete-empty.md
- `transkribus_coll_remove_user` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-coll-remove-user.md
- `transkribus_coll_user_remove` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-coll-user-remove.md
- `transkribus_crowd_delete_messages` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-crowd-delete-messages.md
- `transkribus_crowd_delete_milestones` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-crowd-delete-milestones.md
- `transkribus_doc_delete` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-doc-delete.md
- `transkribus_editdecl_delete_feature` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-editdecl-delete-feature.md
- `transkribus_editdecl_delete_option` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-editdecl-delete-option.md
- `transkribus_job_undo` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-job-undo.md
- `transkribus_label_delete` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-label-delete.md
- `transkribus_label_remove_all_documents` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-label-remove-all-documents.md
- `transkribus_label_remove_all_pages` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-label-remove-all-pages.md
- `transkribus_label_remove_pages` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-label-remove-pages.md
- `transkribus_model_delete` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-model-delete.md
- `transkribus_model_delete_by_type` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-model-delete-by-type.md
- `transkribus_model_remove_collection` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-model-remove-collection.md
- `transkribus_model_remove_collection_by_id` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-model-remove-collection-by-id.md
- `transkribus_page_delete` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-page-delete.md
- `transkribus_page_delete_transcript` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-page-delete-transcript.md
- `transkribus_recog_delete` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-recog-delete.md
- `transkribus_recog_remove_from_collection` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-recog-remove-from-collection.md
- `transkribus_search_reset_index` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-search-reset-index.md
- `transkribus_upload_delete` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-upload-delete.md
- `transkribus_user_delete` — Destructive — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-user-delete.md
- `transkribus_admin_rebuild_models_index` — Execute — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-admin-rebuild-models-index.md
- `transkribus_du_recognize` — Execute — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-du-recognize.md
- `transkribus_job_create` — Execute — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-job-create.md
- `transkribus_job_restart_all_by_user` — Execute — https://policylayer.com/tools/io-github-lazyants-transkribus/transkribus-job-restart-all-by-user.md
- …and 270 more: https://policylayer.com/tools/io-github-lazyants-transkribus.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=io-github-lazyants-transkribus · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-lazyants-transkribus
