Skip to main content
Glama

list_pull_requests

Read-only

List pull requests for an Azure DevOps project or repository, filtered by status, creator, or target branch to review active, completed, or abandoned work.

Instructions

Pull requests of a project (or one repository). status: active, completed, abandoned or all. created_by: part of a name.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_pull_requests"
  }
}

Input Schema

NameRequiredDescriptionDefault
topNo
statusNoactive
projectNo
created_byNo
repositoryNo
target_branchNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare this to be a non-destructive read, so the description only needs incremental context. It does disclose the status taxonomy (active, completed, abandoned, all) and that created_by does a partial-name match, which is genuine behavioral information. It says nothing about pagination, default top=50, or result ordering.

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?

Extremely compact with zero filler and the resource stated first. The telegraphic fragment style and missing verb cost a little clarity 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?

For a six-parameter tool with no schema descriptions, the description should address top (result limit, default 50) and target_branch, and clarify that project and repository are alternatives rather than combinable. An output schema exists, so return-value explanation is rightly omitted, but the input side is under-covered.

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 coverage is 0%, so the description has to carry the burden, and it partially does: it enumerates valid status values (the schema defines status as a bare string with no enum) and clarifies that created_by is a substring match. However, top, target_branch, and the project/repository interaction are left undocumented.

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?

"Pull requests of a project (or one repository)" names the resource and the two scoping levels, so an agent knows this is a listing operation rather than a single-PR fetch. It never explicitly contrasts with get_pull_request, and the sentence is a verbless fragment, so it stops short of full differentiation.

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?

The description offers no when-to-use guidance: it doesn't say when to pass project vs repository, when to prefer this over get_pull_request or search tools, or that results are capped by a default of 50. The status and created_by notes are filter semantics, not usage routing.

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