# issue-update

Updates issue metadata (title, body, labels, assignees, milestone, projects).

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

## Facts

- Tool: `issue-update`
- Server: Github (`@paretools/github`) — https://policylayer.com/tools/io-github-dave-london-github.md
- Install: `npx -y @paretools/github`
- 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": "issue-update",
    "arguments": {}
  }
}
```

## Why issue-update is rated Medium

This tool creates or modifies data (issue metadata) in a reversible manner. While updates can affect issue visibility and workflow (by changing labels, assignees, milestones), they do not delete data, execute code, move money, or trigger destructive operations. The blast radius is moderate: a compromised agent could spam issues with irrelevant metadata or reassign issues, but changes can be undone.

From the tool's own definition: "Tool description states it 'Updates issue metadata (title, body, labels, assignees, milestone, projects)' — these are reversible modifications to existing data without deletion or data loss."

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Github (201)

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