Skip to main content
Glama
garc33

Bitbucket Server MCP

by garc33

approve_pull_request

Approve a pull request as the current user. Use this to signal that you have reviewed the changes and they are ready to be merged. The approval is recorded with your user identity.

Instructions

Approve a pull request as the current user. Use this to signal that you have reviewed the changes and they are ready to be merged. The approval is recorded with your user identity.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
prIdYesPull request ID to approve.
projectNoBitbucket project key. If omitted, uses BITBUCKET_DEFAULT_PROJECT environment variable.
repositoryYesRepository slug containing the pull request.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.1

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses that the approval is attributed to the caller's identity, but says nothing about required permissions, whether approval is idempotent, how it interacts with existing reviews/approvals, or that it does not itself merge the change.

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?

Three short sentences, front-loaded with the action, with no filler. The final identity sentence is slightly redundant with 'as the current user' but does add attribution detail.

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 simple state-changing operation the description covers purpose and usage and the schema covers inputs, and there is no output schema to explain. The missing piece is behavioral: preconditions, permission requirements, and how to reverse the action, which nothing else in the definition supplies.

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 the schema already documents prId, project, and repository, including the BITBUCKET_DEFAULT_PROJECT fallback. The description adds no parameter-level meaning beyond that, which is the expected baseline here.

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?

States a specific verb and resource ('Approve a pull request') plus the actor ('as the current user'), which is enough to distinguish it from merge_pull_request or decline_pull_request. It stops short of naming the adjacent siblings (unapprove_pull_request, merge_pull_request) that an agent could confuse it with.

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?

'Use this to signal that you have reviewed the changes and they are ready to be merged' gives clear situational context for when to call it. There are no exclusions or explicit alternatives, so an agent must infer that it should use unapprove_pull_request to undo and merge_pull_request to actually land the code.

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