Skip to main content
Glama
aviz92

GitHub Plus MCP Server

by aviz92

github_list_pull_requests

Read-only

List pull requests in a GitHub repository, newest first, filtered by open, closed, or all; choosing closed also returns merged pull requests.

Instructions

List pull requests, newest first. state "closed" includes merged ones (state "merged" in results).

Input Schema

NameRequiredDescriptionDefault
baseNo
repoNoRepository as 'owner/name'. Defaults to GITHUB_MCP_DEFAULT_REPO when omitted.
limitNo
stateNoopen

Output Schema

NameRequiredDescriptionDefault
itemsYes
returnedYes
truncatedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds two genuinely non-obvious behaviors: results are sorted newest first, and requesting state='closed' returns merged PRs which surface as state='merged'. It says nothing about pagination behavior or what the default limit of 20 does when more PRs exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler, and the ordering guarantee is front-loaded before the state caveat. Appropriately sized for the small amount of information conveyed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return shape need not be explained. However, for a list tool with four parameters and 25% schema coverage, the description leaves `limit` truncation behavior and the meaning of the `base` filter entirely undocumented in any structured or unstructured source.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 25% (only `repo` is documented), so the description must compensate. It does valuable work on the highest-risk parameter by explaining that `state='closed'` conflates closed and merged, which the enum alone cannot convey, but `base` and `limit` receive no semantics in either place.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List pull requests') plus an ordering guarantee ('newest first'), so the operation itself is unambiguous. It does not distinguish itself from the sibling github_get_pull_request, which an agent could reasonably confuse when it wants a single PR.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the word 'List'; there is no explicit when-to-use or when-not-to-use, and no pointer to github_get_pull_request as the alternative for single-PR retrieval. The one piece of routing guidance present is indirect: the note about the closed state tells the agent how to enumerate merged PRs rather than using some other tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.