# pr-update

Updates pull request metadata (title, body, labels, assignees, reviewers, milestone, base branch, projects). Returns structured data with PR number and URL.

Agent View of the PolicyLayer registry record for `pr-update`. HTML page: https://policylayer.com/tools/io-github-dave-london-cargo/pr-update

## Facts

- Tool: `pr-update`
- Server: Cargo (`Dave-London/Pare`) — https://policylayer.com/tools/io-github-dave-london-cargo.md
- Homepage: https://github.com/Dave-London/pare
- 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": "pr-update",
    "arguments": {}
  }
}
```

## Why pr-update is rated Medium

This tool modifies PR metadata in a version control system (GitHub/GitLab), which constitutes a Write operation. The changes are reversible (metadata can be updated again or reverted), so it does not rise to Destructive. Severity is medium because misuse could alter PR workflow, mislead reviewers, or disrupt collaboration, but does not involve code deletion, financial impact, or arbitrary code execution.

From the tool's own definition: "Tool description states it 'Updates pull request metadata (title, body, labels, assignees, reviewers, milestone, base branch, projects)' — these are all modifications to PR state that are reversible."

## Use case

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

## Recommended policy (PolicyLayer)

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

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "pr-update": {
      "limits": [
        {
          "counter": "pr-update_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Cargo (201)

- `branch` — Destructive — https://policylayer.com/tools/io-github-dave-london-cargo/branch.md
- `clean` — Destructive — https://policylayer.com/tools/io-github-dave-london-cargo/clean.md
- `pr-close` — Destructive — https://policylayer.com/tools/io-github-dave-london-cargo/pr-close.md
- `remove` — Destructive — https://policylayer.com/tools/io-github-dave-london-cargo/remove.md
- `reset` — Destructive — https://policylayer.com/tools/io-github-dave-london-cargo/reset.md
- `secret-delete` — Destructive — https://policylayer.com/tools/io-github-dave-london-cargo/secret-delete.md
- `tag` — Destructive — https://policylayer.com/tools/io-github-dave-london-cargo/tag.md
- `variable-delete` — Destructive — https://policylayer.com/tools/io-github-dave-london-cargo/variable-delete.md
- `workspace` — Destructive — https://policylayer.com/tools/io-github-dave-london-cargo/workspace.md
- `add` — Execute — https://policylayer.com/tools/io-github-dave-london-cargo/add.md
- `add-package` — Execute — https://policylayer.com/tools/io-github-dave-london-cargo/add-package.md
- `ansible-galaxy` — Execute — https://policylayer.com/tools/io-github-dave-london-cargo/ansible-galaxy.md
- `ansible-playbook` — Execute — https://policylayer.com/tools/io-github-dave-london-cargo/ansible-playbook.md
- `api` — Execute — https://policylayer.com/tools/io-github-dave-london-cargo/api.md
- `apply` — Execute — https://policylayer.com/tools/io-github-dave-london-cargo/apply.md
- `bazel` — Execute — https://policylayer.com/tools/io-github-dave-london-cargo/bazel.md
- `biome-check` — Execute — https://policylayer.com/tools/io-github-dave-london-cargo/biome-check.md
- `bisect` — Execute — https://policylayer.com/tools/io-github-dave-london-cargo/bisect.md
- `black` — Execute — https://policylayer.com/tools/io-github-dave-london-cargo/black.md
- `build` — Execute — https://policylayer.com/tools/io-github-dave-london-cargo/build.md
- `bundle-exec` — Execute — https://policylayer.com/tools/io-github-dave-london-cargo/bundle-exec.md
- `bundle-install` — Execute — https://policylayer.com/tools/io-github-dave-london-cargo/bundle-install.md
- `check` — Execute — https://policylayer.com/tools/io-github-dave-london-cargo/check.md
- `cherry-pick` — Execute — https://policylayer.com/tools/io-github-dave-london-cargo/cherry-pick.md
- `clippy` — Execute — https://policylayer.com/tools/io-github-dave-london-cargo/clippy.md
- `cmake` — Execute — https://policylayer.com/tools/io-github-dave-london-cargo/cmake.md
- `compose-build` — Execute — https://policylayer.com/tools/io-github-dave-london-cargo/compose-build.md
- `compose-down` — Execute — https://policylayer.com/tools/io-github-dave-london-cargo/compose-down.md
- `compose-up` — Execute — https://policylayer.com/tools/io-github-dave-london-cargo/compose-up.md
- `conda` — Execute — https://policylayer.com/tools/io-github-dave-london-cargo/conda.md
- …and 171 more: https://policylayer.com/tools/io-github-dave-london-cargo.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-dave-london-cargo · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-dave-london-cargo
