issue_write
Create a new or update an existing issue in a GitHub repository.
This record as markdown: /tools/github/issue-write.md
What issue_write does on GitHub
AI agents use issue_write 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
body | string | — | Issue body content |
repo | string | — | Repository name |
type | string | — | Type of this issue. Only use if the repository has issue types configured. Use list_issue_types tool to get valid type values for the organization. If the repos |
owner | string | — | Repository owner |
state | string | — | New state |
title | string | — | Issue title |
labels | array | — | Labels to apply to this issue |
method | string | — | Write operation to perform on a single issue. Options are: - 'create' - creates a new issue. - 'update' - updates an existing issue. |
assignees | array | — | Usernames to assign to this issue |
milestone | number | — | Milestone number |
duplicate_of | number | — | Issue number that this issue is a duplicate of. Only used when state_reason is 'duplicate'. |
issue_number | number | — | Issue number to update |
Parameters from the server's own tool schema.
Why issue_write is rated Medium
This tool creates or modifies GitHub issues, which are reversible operations. It does not delete data (Destructive), execute arbitrary code (Execute), or move money (Financial). The blast radius is medium because malicious use could spam repositories, modify issue tracking data, or disrupt project workflows, but the effects are reversible through issue deletion or editing.
From the tool's definition Tool name 'issue_write' and description 'Create a new or update an existing issue in a GitHub repository' explicitly indicate creation and modification of data.
Risk signalsAccepts raw HTML/template content (body) · High parameter count (13 properties)
Attacks that exploit this kind of access
The rule that runs issue_write safely
PolicyLayer is an MCP gateway: it sits between your AI agents and GitHub, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For issue_write, this is the rule to start with:
issue_write stays usable, but capped: an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect GitHub, apply this rule, and every issue_write call is checked against it from then on.
Questions about issue_write
Create a new or update an existing issue in a GitHub repository. It is categorised as a Write tool in the GitHub MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
issue_write accepts 12 parameters: body, repo, type, owner, state, title, labels, method, assignees, milestone, duplicate_of, issue_number. The full parameter table on this page comes from the server's own tool schema.
Register the GitHub MCP server in PolicyLayer and add a rule for issue_write: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches GitHub. Nothing to install.
issue_write is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the issue_write rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for issue_write. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
issue_write is provided by the GitHub MCP server (oci:ghcr.io/github/github-mcp-server:1.3.0). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on GitHub, and thousands of servers like it.
This server
Across the catalogue