GitHub issues
gh_issuesList issues (state, labels) or one (number) with its comments.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | owner/name, like shopwhizzy/client-shop (or a GitHub address). | |
| limit | No | ||
| state | No | ||
| labels | No | ||
| number | No |
gh_issuesList issues (state, labels) or one (number) with its comments.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | owner/name, like shopwhizzy/client-shop (or a GitHub address). | |
| limit | No | ||
| state | No | ||
| labels | No | ||
| number | No |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, open-world behavior. The description adds useful behavior beyond that: listing supports state/labels filters, and fetching by number returns the issue with comments. It does not cover auth needs, rate limits, pagination, or ordering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no filler. It is front-loaded with the main operation and efficiently signals the two usage modes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter tool with low schema coverage and no output schema, the description is too sparse. It does not explain limit/pagination, output shape, filtering details, or authentication expectations, leaving important context gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20%, so the description must carry more parameter meaning. It references state, labels, and number in a useful mode-switching way, but does not explain limit, labels format, state enum behavior, or how number changes the response beyond including comments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: list issues, or fetch one issue with comments. It also distinguishes the bulk/list mode from the single-issue mode via the parenthetical cues. It is not maximally specific about GitHub context or sibling differentiation, but an agent can identify the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: use state and labels to list issues, or number to fetch one issue with comments. There is no explicit when-not guidance or reference to alternatives such as gh_issue_create or gh_issue_update. The mode selection is helpful but alternatives are left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.