Skip to main content
Glama

Search GitHub pull requests

github_search_pull_requests
Read-onlyIdempotent

Search GitHub pull requests. Read-only: returns public data and changes nothing. Costs 1 credit per request.

Input Schema

NameRequiredDescriptionDefault
sortYesSort field. Defaults to relevance ("best-match").best-match
countYesNumber of results to return (1–10). Defaults to 10.
draftNoFilter by draft state. Maps to `draft:`.
orderYesSort direction. Defaults to "desc".desc
queryNoFree-text search terms, matched against the default fields for this search type, e.g. "web framework".
reposNoLimit to these "owner/name" repositories. Maps to `repo:`.
stateNoIssue/PR state. Maps to `state:`.
authorNoOpened by this user. Maps to `author:`.
closedNoFilter by closed date. Provide any of gt / gte / lt / lte as YYYY-MM-DD dates; combine a lower and upper bound for a range.
cursorNoThe previous response's `nextCursor`, to fetch the next page. Omit it for the first page.
labelsNoRequire each of these labels. Maps to `label:`.
mergedNoFilter by merge date (only merged PRs). Provide any of gt / gte / lt / lte as YYYY-MM-DD dates; combine a lower and upper bound for a range.
ownersNoLimit to these owners (users or orgs). Maps to `user:`.
reviewNoReview status. Maps to `review:`.
createdNoFilter by creation date. Provide any of gt / gte / lt / lte as YYYY-MM-DD dates; combine a lower and upper bound for a range.
updatedNoFilter by last update date. Provide any of gt / gte / lt / lte as YYYY-MM-DD dates; combine a lower and upper bound for a range.
assigneeNoAssigned to this user. Maps to `assignee:`.
commentsNoFilter by comment count. Provide any of gt / gte / lt / lte; combine a lower and upper bound for a range.
languageNoLanguage of the containing repo. Maps to `language:`.
mentionsNoMentioning this user. Maps to `mentions:`.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.2/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered structurally. The description adds one genuinely new piece of context — 'Costs 1 credit per request' — which affects call budgeting, but it otherwise restates the read-only trait and says nothing about rate limits, result caps, or pagination behavior beyond what the schema's cursor field implies.

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?

Three short sentences, front-loaded with purpose, with no filler or throat-clearing. The middle sentence partially duplicates the readOnlyHint annotation, which is mild redundancy rather than wasted space.

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?

For a 20-parameter search tool with nested objects and no output schema, the description covers purpose, safety, and cost but leaves the agent guessing about the response shape, result limits (count caps at 10), and pagination workflow. The rich schema compensates for the parameter side, but the return side is entirely undocumented.

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 100%, with every one of the 20 parameters documented in the schema itself, including enum meanings and the gt/gte/lt/lte date-range pattern. The description adds no meaning beyond the schema, which is the expected baseline when the schema does the heavy lifting.

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?

The description states a specific verb and resource ('Search GitHub pull requests'), so an agent knows exactly what the tool retrieves. It does not, however, distinguish itself from the many adjacent siblings such as github_search_issues, github_search_commits, or github_search_discussions, so the agent must infer the boundary from the name alone.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus github_search_issues or github_search_repositories, and no mention of prerequisites or exclusions. The only contextual hint is the implicit 'pull requests' in the name; the description itself says nothing about alternatives.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources