list_issues
List issues in a GitHub repository. For pagination, use the 'endCursor' from the previous response's 'pageInfo' in the 'after' parameter.
This record as markdown: /tools/github/list-issues.md
What list_issues does on GitHub
AI agents call list_issues to retrieve information from GitHub without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.
| Parameter | Type | Required | Description |
|---|---|---|---|
repo | string | — | Repository name |
after | string | — | Cursor for pagination. Use the endCursor from the previous page's PageInfo for GraphQL APIs. |
owner | string | — | Repository owner |
since | string | — | Filter by date (ISO 8601 timestamp) |
state | string | — | Filter by state, by default both open and closed issues are returned when not provided |
labels | array | — | Filter by labels |
orderBy | string | — | Order issues by field. If provided, the 'direction' also needs to be provided. |
perPage | number | — | Results per page for pagination (min 1, max 100) |
direction | string | — | Order direction. If provided, the 'orderBy' also needs to be provided. |
Parameters from the server's own tool schema.
Why list_issues is rated Low
This tool only retrieves and queries existing issue data from a repository with no side effects. It does not create, modify, delete, or execute any operations. Standard pagination parameters do not change the underlying risk category. This is a straightforward read operation, posing minimal security risk.
From the tool's definition Tool name 'list_issues' and description 'List issues in a GitHub repository' indicate a retrieval operation with pagination support via 'endCursor' and 'after' parameter.
Attacks that exploit this kind of access
The rule that runs list_issues 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 list_issues, this is the rule to start with:
list_issues is read-only, so it stays allowed. 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 list_issues call is checked against it from then on.
Questions about list_issues
List issues in a GitHub repository. For pagination, use the 'endCursor' from the previous response's 'pageInfo' in the 'after' parameter. It is categorised as a Read tool in the GitHub MCP Server, which means it retrieves data without modifying state.
list_issues accepts 9 parameters: repo, after, owner, since, state, labels, orderBy, perPage, direction. 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 list_issues: 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.
list_issues is a Read tool with low risk. Read-only tools are generally safe to allow by default.
Yes. Add a rate_limit block to the list_issues 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 list_issues. 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.
list_issues 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