Skip to main content
Glama
Backlog MCP Server

Backlog MCP Server

update_pull_request

DestructiveIdempotent

Modify an existing Backlog pull request's summary, description, status, assignee, or linked issue by providing its number and desired changes.

Instructions

Updates an existing pull request

Input Schema

NameRequiredDescriptionDefault
numberYesPull request number
repoIdNoRepository ID
issueIdNoIssue ID to link
summaryNoSummary of the pull request
repoNameNoRepository name
statusIdNoStatus ID
projectIdNoThe numeric ID of the project (e.g., 12345)
assigneeIdNoUser ID of the assignee
projectKeyNoThe key of the project (e.g., 'PROJECT')
descriptionNoUpdates an existing pull request
notifiedUserIdNoUser IDs to notify

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.15.1
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / additionalProperties
      Removed value: -false
    • removedInput schema / properties / organization
      Removed value: -{
      -  "description": "Optional organization name. Use list_organizations to inspect available organizations.",
      -  "type": "string"
      -}
  2. 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"
      +}
  3. 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"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "projectIdOrKey",
      -  "repoIdOrName",
      -  "number"
      -]New value: +[
      +  "number"
      +]
  4. First observed

TDQS

C2.1/5.0
Behavior2/5

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

Annotations already flag destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the safety profile is known without the description. However, the description adds nothing: it does not warn that the operation is destructive, does not say which fields are overwritten or what happens to omitted fields, and mentions no permissions or side effects such as the notifiedUserId notifications.

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

Conciseness3/5

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

The single sentence is front-loaded and free of padding, but its brevity reflects under-specification rather than economy. There is nothing extra to trim, yet nothing informative is present either.

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?

An 11-parameter destructive mutation with no output schema needs more than one tautological sentence, even with annotations covering the safety hints. The description omits what a successful update returns, whether partial updates are allowed, and how the rich parameter set (project, repo, status, assignee, issue link) interacts.

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 every parameter including projectId, assigneeId, statusId, and notifiedUserId is documented in the schema. The description contributes no additional parameter meaning, so the baseline of 3 applies.

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

Purpose2/5

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

The description only expands the tool name into a sentence: 'Updates an existing pull request' says nothing beyond update_pull_request. It does not identify which aspects of the PR can be changed (status, assignee, summary, linked issue) nor distinguish it from siblings such as update_pull_request_comment or add_pull_request. This is effectively a tautology.

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

Usage Guidelines1/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, prerequisites (e.g., needing the PR number), or when a different tool is appropriate. The agent must infer everything from the name and the 11-parameter schema.

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