Skip to main content
Glama

ado_pull_request_update

Destructive

Update an Azure DevOps pull request's title, description, draft state, or status to abandon or reactivate it; merging is not supported.

Instructions

WRITE: Edit title, description, draft state, or abandon/reactivate a PR. Merge/completion is not supported.

Input Schema

NameRequiredDescriptionDefault
targetYes
changesYes
pullRequestIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety burden is partly covered. The description adds real value by naming the destructive action (abandon) alongside its counterpart (reactivate), which signals the state change is reversible via this same tool, and clarifies that completion cannot be performed.

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

Conciseness5/5

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

Two sentences, front-loaded with the write intent and the mutable field list, then closed with the critical negative constraint. Every clause earns its place and nothing is restated from the schema or annotations.

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 three-parameter mutating tool with a nested required `target` object at 0% schema coverage, the description leaves the addressing/identity portion of the call entirely undocumented. Since there is no output schema, no return-value explanation is needed, but the target resolution story (repository vs. repoPath, project, organization) remains a real gap.

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 0%, so the description must carry parameter meaning, and it partly does: the listed editable fields map directly to the sub-properties of `changes` (title, description, isDraft, status). However, the required `target` object (profile, project, repoPath, repository, organization) and `pullRequestId` are never mentioned, and there is no guidance on which target fields are needed or how they interact.

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

Purpose5/5

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

The description opens with a specific verb and resource ('WRITE: Edit ... a PR') and enumerates exactly which fields are mutable: title, description, draft state, and status (abandon/reactivate). It also states a hard scope boundary ('Merge/completion is not supported'), which cleanly separates it from ado_pull_request_create and ado_pull_request_get.

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

Usage Guidelines4/5

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

Usage context is clear: this is the mutation path for pull request metadata, and the explicit exclusion of merge/completion tells the agent when NOT to use it. It stops short of naming a specific alternative for completion (none exists among the siblings), so no exclusions point anywhere, but the operative guidance is unambiguous.

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