Skip to main content
Glama
Backlog MCP Server

Backlog MCP Server

add_pull_request

Creates a new pull request in a Backlog repository by merging a source branch into a base branch, with an option to link an issue, assign a reviewer, and notify users.

Instructions

Creates a new pull request

Input Schema

NameRequiredDescriptionDefault
baseYesBase branch name
branchYesBranch name to merge
repoIdNoRepository ID
issueIdNoIssue ID to link
summaryYesSummary of the pull request
repoNameNoRepository name
projectIdNoThe numeric ID of the project (e.g., 12345)
assigneeIdNoUser ID of the assignee
projectKeyNoThe key of the project (e.g., 'PROJECT')
descriptionYesCreates a new pull request
notifiedUserIdNoUser IDs to notify

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"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "projectIdOrKey",
      -  "repoIdOrName",
      -  "summary",
      -  "description",
      -  "base",
      -  "branch"
      -]New value: +[
      +  "summary",
      +  "description",
      +  "base",
      +  "branch"
      +]
  5. First observed

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false, so safety and idempotency are covered structurally. The description adds nothing on top: it does not mention required permissions, what happens when branch/base are invalid, whether duplicate PRs error out, or what the issueId linkage does. With 11 parameters and a mutation, this is a thin description.

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?

A single short sentence with no wasted words, but it is under-specified rather than genuinely concise. Front-loading is trivial here because there is only one clause.

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 an 11-parameter mutation with no output schema, the description omits the return value, the meaning of the two required branch parameters versus the optional repo/project identifiers, and the effect of linking an issue. An agent must reconstruct all of this from the schema alone.

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 is documented inline (including the base/branch distinction and the repoId vs repoName vs projectId/projectKey alternatives). The description contributes no additional parameter meaning, which is acceptable at baseline 3 given full schema coverage.

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 'Creates a new pull request' merely restates the tool name add_pull_request in prose, adding no specificity about scope, target system, or outcome. It does differentiate implicitly from update_pull_request/get_pull_request through the verb 'creates', but that distinction comes from the name itself, not the description.

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?

No guidance on when to use this versus update_pull_request or when a PR is the right artifact versus an issue comment or linked issue. No prerequisites, no context about which repo/project parameters are needed in which combination.

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