Skip to main content
Glama
Backlog MCP Server

Backlog MCP Server

get_pull_requests

Read-only

Retrieve pull requests for a Backlog repository, filtered by project, repo, issue, status, assignee, or creator, with pagination support to browse results and review code changes.

Instructions

Returns list of pull requests for a repository

Input Schema

NameRequiredDescriptionDefault
countNoNumber of pull requests to retrieve
offsetNoOffset for pagination
repoIdNoRepository ID
issueIdNoIssue IDs
repoNameNoRepository name
statusIdNoStatus IDs
projectIdNoThe numeric ID of the project (e.g., 12345)
assigneeIdNoAssignee user IDs
projectKeyNoThe key of the project (e.g., 'PROJECT')
createdUserIdNoCreated user IDs

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.15.1
  2. Removedv0.13.1
  3. Changed1 schema field changedv0.11.0
    • addedInput schema / properties / organization
      Added value: +{
      +  "description": "Optional organization name. Use list_organizations to inspect available organizations.",
      +  "type": "string"
      +}
  4. Changed7 schema fields changedv1.0.0
    • addedInput schema / properties / projectId
      Added value: +{
      +  "description": "The numeric ID of the project (e.g., 12345)",
      +  "type": "number"
      +}
    • removedInput schema / properties / projectIdOrKey
      Removed value: -{
      -  "description": "Project ID or project key",
      -  "type": [
      -    "string",
      -    "number"
      -  ]
      -}
    • addedInput schema / properties / projectKey
      Added value: +{
      +  "description": "The key of the project (e.g., 'PROJECT')",
      +  "type": "string"
      +}
    • addedInput schema / properties / repoId
      Added value: +{
      +  "description": "Repository ID",
      +  "type": "number"
      +}
    • removedInput schema / properties / repoIdOrName
      Removed value: -{
      -  "description": "Repository ID or name",
      -  "type": "string"
      -}
    • addedInput schema / properties / repoName
      Added value: +{
      +  "description": "Repository name",
      +  "type": "string"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "projectIdOrKey",
      -  "repoIdOrName"
      -]
  5. First observed

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds only the repository scoping and says nothing about default ordering, default page size, how multiple filters combine, or whether an unfiltered call returns all PRs — meaningful gaps even under the lower annotated bar.

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?

A single front-loaded sentence with zero filler, so it is efficient. It leans toward under-specification rather than verbosity, but nothing is wasted.

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

Completeness2/5

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

With ten optional parameters and no output schema, the description should explain the filtering model and default pagination behavior; it does neither. An agent could call it, but not confidently predict whether it gets all PRs, a default page, or how the filter arrays behave.

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%, so all ten parameters are documented in the schema itself and the baseline is 3. The description adds no additional meaning about filter semantics (e.g., whether issueId/statusId/assigneeId are OR'd or AND'd, or what count/offset default to), so it neither helps nor harms beyond the schema.

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 names a specific verb and resource ("Returns list of pull requests") and scopes it to a repository, so an agent knows exactly what it fetches. It does not, however, distinguish it from close siblings like get_pull_requests_count or get_pull_request, which an agent must infer from the names 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 versus get_pull_request (single) or get_pull_requests_count, nor any statement of prerequisites or exclusions. The agent is left to infer that this is the bulk/filtered listing variant.

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