Skip to main content
Glama
Lexmata

Bitbucket Cloud MCP Server

by Lexmata

update_pull_request

Modify pull request details including title, description, or target branch in Bitbucket Cloud repositories to keep code reviews current.

Instructions

Update a pull request title, description, or destination branch.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
workspaceYesThe workspace slug
repo_slugYesThe repository slug
pr_idYesThe pull request ID
titleNoNew title
descriptionNoNew description
destination_branchNoNew destination branch

Implementation Reference

  • Core implementation of updating a pull request by constructing the request body with optional title, description, or destination branch changes and sending a PUT request to the Bitbucket API.
    async update(
      workspace: string,
      repo_slug: string,
      pr_id: number,
      updates: { title?: string; description?: string; destination_branch?: string }
    ): Promise<BitbucketPullRequest> {
      const body: Record<string, unknown> = {};
    
      if (updates.title) body.title = updates.title;
      if (updates.description) body.description = updates.description;
      if (updates.destination_branch) {
        body.destination = { branch: { name: updates.destination_branch } };
      }
    
      return this.client.put<BitbucketPullRequest>(
        `/repositories/${workspace}/${repo_slug}/pullrequests/${pr_id}`,
        body
      );
    }
  • ToolHandler.handleTool case for 'update_pull_request' that validates inputs with Zod schema and calls PullRequestsAPI.update method.
    case 'update_pull_request': {
      const params = toolSchemas.update_pull_request.parse(args);
      const { workspace, repo_slug, pr_id, ...updates } = params;
      return this.prs.update(workspace, repo_slug, pr_id, updates);
    }
  • Zod schema defining input parameters for the update_pull_request tool.
    update_pull_request: z.object({
      workspace: z.string().describe('The workspace slug'),
      repo_slug: z.string().describe('The repository slug'),
      pr_id: z.number().describe('The pull request ID'),
      title: z.string().optional().describe('New title'),
      description: z.string().optional().describe('New description'),
      destination_branch: z.string().optional().describe('New destination branch'),
    }),
  • MCP tool registration including name, description, and input schema for update_pull_request.
    {
      name: 'update_pull_request',
      description: 'Update a pull request title, description, or destination branch.',
      inputSchema: {
        type: 'object' as const,
        properties: {
          workspace: { type: 'string', description: 'The workspace slug' },
          repo_slug: { type: 'string', description: 'The repository slug' },
          pr_id: { type: 'number', description: 'The pull request ID' },
          title: { type: 'string', description: 'New title' },
          description: { type: 'string', description: 'New description' },
          destination_branch: { type: 'string', description: 'New destination branch' },
        },
        required: ['workspace', 'repo_slug', 'pr_id'],
      },
    },

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Lexmata/bitbucket-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server