Skip to main content
Glama
lawp09

bitbucket-mcp

by lawp09

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BITBUCKET_TOKENYesYour Bitbucket API token
BITBUCKET_USERNAMEYesYour Bitbucket email
BITBUCKET_WORKSPACEYesYour workspace slug
BITBUCKET_TOOLS_CONFIGNoPath to custom tools configuration file (optional)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_repositoriesA

List repositories in workspace with pagination support.

Args: workspace: Workspace name (optional, defaults to configured workspace) name: Filter by repository name (partial match supported) page_size: Items per page (default: 30) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: Paginated list of repositories

Note: Fetching more than 10 pages or 300 items will trigger a warning.

get_repositoryA

Get repository details.

Args: repo_slug: Repository slug workspace: Workspace name (optional, defaults to configured workspace)

Returns: Repository information

get_repository_tagsA

List repository tags ordered by most recent target date.

Note: "target date" is the date of the tag's target commit, not the tag creation date — a tag placed on an old commit will not sort first.

Args: repo_slug: Repository slug workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 10) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: Paginated list of repository tags

get_pull_requestsA

Get pull requests for a repository with pagination support.

Args: repo_slug: Repository slug workspace: Workspace name (optional, defaults to configured workspace) state: Pull request state (OPEN, MERGED, DECLINED, SUPERSEDED) (default: OPEN) page_size: Items per page (default: 30) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: Paginated list of pull requests

Note: Fetching more than 10 pages or 300 items will trigger a warning.

get_pull_requests_pending_reviewA

Get open pull requests where the current user is a reviewer.

Use this to find PRs that need your review attention.

Args: repo_slug: Repository slug workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 30) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: Paginated list of pull requests pending your review

get_pull_requestA

Get details for a specific pull request.

Args: repo_slug: Repository slug pull_request_id: Pull request ID workspace: Workspace name (optional, defaults to configured workspace)

Returns: Pull request details with comment statistics: - comment_stats: Object containing: - total (int): Total number of comments - resolved (int): Number of resolved comments - unresolved (int): Number of unresolved comments

create_pull_requestB

Create a new pull request.

Args: repo_slug: Repository slug title: Pull request title description: Pull request description source_branch: Source branch name target_branch: Target branch name workspace: Workspace name (optional, defaults to configured workspace) reviewers: List of reviewer UUIDs (optional) draft: Whether to create the pull request as a draft (default: False)

Returns: Created pull request details

update_pull_requestA

Update a pull request.

Args: repo_slug: Repository slug pull_request_id: Pull request ID workspace: Workspace name (optional, defaults to configured workspace) title: New pull request title (optional) description: New pull request description (optional) reviewers: Complete list of reviewer UUIDs to set on the PR (optional). WARNING: this REPLACES the entire reviewer list — include all existing reviewers you want to keep, plus any new ones. Use get_pull_request first to retrieve current reviewer UUIDs. Pass [] to clear all reviewers.

Returns: Updated pull request details

approve_pull_requestA

Approve a pull request.

Args: repo_slug: Repository slug pull_request_id: Pull request ID workspace: Workspace name (optional, defaults to configured workspace)

Returns: Approval details

unapprove_pull_requestA

Remove approval from a pull request.

Args: repo_slug: Repository slug pull_request_id: Pull request ID workspace: Workspace name (optional, defaults to configured workspace)

Returns: Success message

request_changes_pull_requestA

Request changes on a pull request (sets reviewer status to 'needs work').

Args: repo_slug: Repository slug pull_request_id: Pull request ID workspace: Workspace name (optional, defaults to configured workspace)

Returns: Participant details with updated state

unrequest_changes_pull_requestA

Remove 'request changes' status from a pull request.

Args: repo_slug: Repository slug pull_request_id: Pull request ID workspace: Workspace name (optional, defaults to configured workspace)

Returns: Success message

decline_pull_requestB

Decline a pull request.

Args: repo_slug: Repository slug pull_request_id: Pull request ID workspace: Workspace name (optional, defaults to configured workspace) message: Reason for declining (optional)

Returns: Updated pull request details

get_pull_request_commentsA

List comments on a pull request with pagination support.

Args: repo_slug: Repository slug pull_request_id: Pull request ID workspace: Workspace name (optional, defaults to configured workspace) unresolved_only: If true, returns only unresolved comments (default: False) page_size: Items per page (default: 10, max recommended: 100) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: List of comments enriched with resolution status: - is_resolved (bool): True if comment is resolved - resolved_by (string or null): User display name who resolved the comment - resolved_on (string or null): Timestamp when comment was resolved

Note: Fetching more than 10 pages or 300 items will trigger a warning.

add_pull_request_commentA

Add a comment to a pull request (general or inline).

Args: repo_slug: Repository slug pull_request_id: Pull request ID content: Comment content in markdown format workspace: Workspace name (optional, defaults to configured workspace) inline_path: Path to the file in the repository (for inline comments) inline_from: Line number in the old version of the file (for deleted or modified lines) inline_to: Line number in the new version of the file (for added or modified lines) pending: Whether to create this comment as a pending comment (draft state) (default: False) parent_id: ID of the comment to reply to (creates a threaded reply)

Returns: Created comment details

get_pull_request_commentA

Get a specific comment on a pull request.

Args: repo_slug: Repository slug pull_request_id: Pull request ID comment_id: Comment ID workspace: Workspace name (optional, defaults to configured workspace)

Returns: Comment details with resolution status

update_pull_request_commentA

Update a comment on a pull request.

Args: repo_slug: Repository slug pull_request_id: Pull request ID comment_id: Comment ID content: New comment content in markdown format workspace: Workspace name (optional, defaults to configured workspace)

Returns: Updated comment details

delete_pull_request_commentB

Delete a comment on a pull request.

Args: repo_slug: Repository slug pull_request_id: Pull request ID comment_id: Comment ID workspace: Workspace name (optional, defaults to configured workspace)

Returns: Success message

resolve_pull_request_commentB

Resolve a comment on a pull request.

Args: repo_slug: Repository slug pull_request_id: Pull request ID comment_id: Comment ID workspace: Workspace name (optional, defaults to configured workspace)

Returns: Resolution details

reopen_pull_request_commentB

Reopen (unresolve) a comment on a pull request.

Args: repo_slug: Repository slug pull_request_id: Pull request ID comment_id: Comment ID workspace: Workspace name (optional, defaults to configured workspace)

Returns: Success message

get_pull_request_tasksA

List tasks on a pull request with pagination support.

Args: repo_slug: Repository slug pull_request_id: Pull request ID workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 10, max recommended: 100) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: Paginated list of tasks with state, content, creator info

get_pull_request_taskA

Get a specific task on a pull request.

Args: repo_slug: Repository slug pull_request_id: Pull request ID task_id: Task ID workspace: Workspace name (optional, defaults to configured workspace)

Returns: Task details with state, content, creator, resolution info

create_pull_request_taskB

Create a task on a pull request, optionally linked to a specific comment.

Args: repo_slug: Repository slug pull_request_id: Pull request ID content: Task content in markdown format comment_id: Optional comment ID to link the task to a specific comment workspace: Workspace name (optional, defaults to configured workspace)

Returns: Created task details

update_pull_request_taskA

Update a pull request task (content and/or state).

Args: repo_slug: Repository slug pull_request_id: Pull request ID task_id: Task ID content: New task content in markdown format (optional) state: New task state: UNRESOLVED or RESOLVED (optional) workspace: Workspace name (optional, defaults to configured workspace)

Returns: Updated task details

delete_pull_request_taskB

Delete a task on a pull request.

Args: repo_slug: Repository slug pull_request_id: Pull request ID task_id: Task ID workspace: Workspace name (optional, defaults to configured workspace)

Returns: Success message

get_pull_request_diffA

Get diff for a pull request.

Args: repo_slug: Repository slug pull_request_id: Pull request ID workspace: Workspace name (optional, defaults to configured workspace) path: Filter diff to a specific file path to reduce token usage (optional). Example: "src/middlewares/authorizationMiddleware.ts"

Returns: Unified diff as string

get_pull_request_activityA

Get activity log for a pull request with pagination support.

Args: repo_slug: Repository slug pull_request_id: Pull request ID workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 10, max recommended: 100) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: Activity log with all events. Comment objects enriched with resolution status: - is_resolved (bool): True if comment is resolved - resolved_by (string or null): User display name who resolved the comment - resolved_on (string or null): Timestamp when comment was resolved

Note: Fetching more than 10 pages or 300 items will trigger a warning.

get_pull_request_commitsA

Get commits on a pull request with pagination support.

Args: repo_slug: Repository slug pull_request_id: Pull request ID workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 10, max recommended: 100) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: List of commits

Note: Fetching more than 10 pages or 300 items will trigger a warning.

get_pull_request_statusesA

Get build/CI statuses for a pull request with pagination support.

Args: repo_slug: Repository slug pull_request_id: Pull request ID workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 10, max recommended: 100) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: List of build statuses (Jenkins, CI/CD, tests, etc.) Each status contains: - state: SUCCESSFUL, FAILED, INPROGRESS, STOPPED - key: Unique identifier for the build - name: Build name/description - url: Link to the build details - created_on: Timestamp of the status

Note: Fetching more than 10 pages or 300 items will trigger a warning.

get_commit_statusesA

Get build/CI statuses for a specific commit (e.g. Jenkins, CI/CD).

Use this to check the Jenkins build status for any branch commit without needing to create a Pull Request first.

Args: repo_slug: Repository slug commit_hash: Commit hash (full or short, e.g. "abc1234") workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 10, max recommended: 100) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: List of build statuses (Jenkins, CI/CD, tests, etc.) Each status contains: - state: SUCCESSFUL, FAILED, INPROGRESS, STOPPED - key: Unique identifier for the build - name: Build name/description - description: Build result description - url: Link to the Jenkins build details - created_on: Timestamp of the status - updated_on: Timestamp of last update

Note: Requires Jenkins Bitbucket Build Status Notifier plugin to post statuses. Fetching more than 10 pages or 300 items will trigger a warning.

get_pull_request_diffstatA

Get file modification statistics for a pull request with pagination support.

Args: repo_slug: Repository slug pull_request_id: Pull request ID workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 10, max recommended: 100) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: Statistics with lines added/removed per file Each file entry contains: - status: modified, added, removed, renamed - lines_added: Number of lines added - lines_removed: Number of lines removed - new.path: File path after changes

Note: Fetching more than 10 pages or 300 items will trigger a warning.

list_pipeline_runsA

List pipeline runs for a repository with pagination support.

Args: repo_slug: Repository slug workspace: Workspace name (optional, defaults to configured workspace) status: Filter pipelines by status (PENDING, IN_PROGRESS, SUCCESSFUL, FAILED, ERROR, STOPPED) target_branch: Filter pipelines by target branch page_size: Items per page (default: 30) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: List of pipeline runs

Note: Fetching more than 10 pages or 300 items will trigger a warning.

get_pipeline_runA

Get details for a specific pipeline run.

Args: repo_slug: Repository slug pipeline_uuid: Pipeline UUID workspace: Workspace name (optional, defaults to configured workspace)

Returns: Pipeline run details

get_pipeline_stepsA

List steps for a pipeline run with pagination support.

Args: repo_slug: Repository slug pipeline_uuid: Pipeline UUID workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 10, max recommended: 100) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: List of pipeline steps

Note: Fetching more than 10 pages or 300 items will trigger a warning.

get_pipeline_step_logsB

Get logs for a specific pipeline step.

Args: repo_slug: Repository slug pipeline_uuid: Pipeline UUID step_uuid: Step UUID workspace: Workspace name (optional, defaults to configured workspace)

Returns: Step logs as string

run_pipelineA

Trigger a new pipeline run on a branch.

Args: repo_slug: Repository slug branch: Branch name to run the pipeline on workspace: Workspace name (optional, defaults to configured workspace)

Returns: Created pipeline run details

get_effective_default_reviewersA

Get effective default reviewers for a repository.

Args: repo_slug: Repository slug workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 30) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: List of default reviewers for the repository

Note: Fetching more than 10 pages or 300 items will trigger a warning.

create_draft_pull_requestA

Create a new pull request as draft. Draft PRs are not ready for review.

Args: repo_slug: Repository slug title: Pull request title description: Pull request description source_branch: Source branch name target_branch: Target branch name workspace: Workspace name (optional, defaults to configured workspace) reviewers: List of reviewer UUIDs (optional)

Returns: Created draft pull request details

publish_draft_pull_requestA

Publish a draft pull request (convert DRAFT to OPEN).

Args: repo_slug: Repository slug pull_request_id: Pull request ID workspace: Workspace name (optional, defaults to configured workspace)

Returns: Updated pull request details

submit_pull_request_batch_reviewA

Submit a batch review on a pull request: post multiple comments and optionally approve or request changes.

Note: Bitbucket API does not support pending/draft comments in batch. Each comment is posted immediately.

Args: repo_slug: Repository slug pull_request_id: Pull request ID comments: List of comment objects. Each comment has: - content (str, required): Comment text in markdown - inline (dict, optional): For inline comments: {"path": str, "to": int, "from": int} review_action: Action after posting comments: "approve", "request_changes", or "comment_only" (default: "comment_only") review_message: General review message posted as a top-level comment (optional) workspace: Workspace name (optional, defaults to configured workspace)

Returns: Summary with comments_posted count, action taken, and PR details

get_pull_request_review_summaryA

Get a comprehensive review summary for a pull request.

Fetches PR details first, then aggregates diffstat, unresolved comments, and CI statuses in parallel for efficient AI-assisted code review.

Args: repo_slug: Repository slug pull_request_id: Pull request ID workspace: Workspace name (optional, defaults to configured workspace)

Returns: Structured summary with pr details, diffstat, unresolved comments, CI statuses, and review readiness assessment. review_readiness: merged | declined | draft | ci_failing | ci_pending | has_unresolved_comments | ready

suggest_pull_request_reviewersA

Suggest reviewers for a pull request based on default reviewers and recent PR history.

Combines default reviewers with frequent approvers from recently merged PRs to suggest the most relevant reviewers.

Args: repo_slug: Repository slug pull_request_id: Pull request ID max_suggestions: Maximum number of reviewer suggestions (default: 5) workspace: Workspace name (optional, defaults to configured workspace)

Returns: Suggested reviewers with scores and reasons, already-assigned reviewers, and data sources

list_issuesA

List issues in a repository's issue tracker, with filtering and pagination.

Args: repo_slug: Repository slug workspace: Workspace name (optional, defaults to configured workspace) state: Filter by state (new, open, resolved, on hold, invalid, duplicate, wontfix, closed) kind: Filter by kind (bug, enhancement, proposal, task) priority: Filter by priority (trivial, minor, major, critical, blocker) assignee: Filter by assignee uuid q: Raw BBQL query, combined with the other filters using AND (e.g. 'created_on > 2024-01-01'). Passed through verbatim (not escaped). sort: Sort field (default: -created_on for most recent first) page_size: Items per page (default: 20) max_pages: Maximum pages to fetch (default: 1, max recommended: 10) max_items: Maximum total items to fetch (default: None)

Returns: Paginated list of issues. If the repository has no issue tracker, returns {"error": "issue_tracker_disabled", ...}.

Note: Fetching more than 10 pages or 300 items will trigger a warning.

get_issueA

Get details for a specific issue.

Args: repo_slug: Repository slug issue_id: Issue ID workspace: Workspace name (optional, defaults to configured workspace)

Returns: Issue details. If the repository has no issue tracker, returns {"error": "issue_tracker_disabled", ...}.

create_issueB

Create a new issue in a repository's issue tracker.

Args: repo_slug: Repository slug title: Issue title content: Issue description in markdown (optional) kind: Issue kind: bug, enhancement, proposal, task (optional) priority: Issue priority: trivial, minor, major, critical, blocker (optional) assignee: Assignee uuid (optional) state: Initial state (optional, e.g. new, open) workspace: Workspace name (optional, defaults to configured workspace)

Returns: Created issue details. If the repository has no issue tracker, returns {"error": "issue_tracker_disabled", ...}.

update_issueA

Update an issue (only the provided fields are changed).

Args: repo_slug: Repository slug issue_id: Issue ID title: New title (optional) content: New description in markdown (optional) state: New state: new, open, resolved, on hold, invalid, duplicate, wontfix, closed (optional) kind: New kind: bug, enhancement, proposal, task (optional) priority: New priority: trivial, minor, major, critical, blocker (optional) assignee: New assignee uuid (optional) workspace: Workspace name (optional, defaults to configured workspace)

Returns: Updated issue details. If the repository has no issue tracker, returns {"error": "issue_tracker_disabled", ...}.

get_issue_commentsA

List comments on an issue with pagination support.

Args: repo_slug: Repository slug issue_id: Issue ID workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 20, max recommended: 100) max_pages: Maximum pages to fetch (default: 1, max recommended: 10) max_items: Maximum total items to fetch (default: None)

Returns: Paginated list of issue comments. If the repository has no issue tracker, returns {"error": "issue_tracker_disabled", ...}.

Note: Fetching more than 10 pages or 300 items will trigger a warning.

get_issue_commentA

Get a specific comment on an issue.

Args: repo_slug: Repository slug issue_id: Issue ID comment_id: Comment ID workspace: Workspace name (optional, defaults to configured workspace)

Returns: Issue comment details. If the repository has no issue tracker, returns {"error": "issue_tracker_disabled", ...}.

add_issue_commentA

Add a comment to an issue.

Args: repo_slug: Repository slug issue_id: Issue ID content: Comment content in markdown workspace: Workspace name (optional, defaults to configured workspace)

Returns: Created issue comment details. If the repository has no issue tracker, returns {"error": "issue_tracker_disabled", ...}.

update_issue_commentB

Update a comment on an issue.

Args: repo_slug: Repository slug issue_id: Issue ID comment_id: Comment ID content: New comment content in markdown workspace: Workspace name (optional, defaults to configured workspace)

Returns: Updated issue comment details. If the repository has no issue tracker, returns {"error": "issue_tracker_disabled", ...}.

list_commitsA

List commits for a repository, optionally scoped to a revision or path.

Args: repo_slug: Repository slug revision: Branch, tag or commit hash to start from (optional; defaults to all branches). A branch name containing '/' is ambiguous here — resolve it to a commit hash first (e.g. via get_branch) if listing fails. workspace: Workspace name (optional, defaults to configured workspace) path: Restrict history to commits touching this file/directory path include: Only commits reachable from this ref exclude: Exclude commits reachable from this ref page_size: Items per page (default: 30) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: Paginated list of commits

get_commitA

Get details for a single commit.

Args: repo_slug: Repository slug commit: Commit hash (a simple branch/tag name also works) workspace: Workspace name (optional, defaults to configured workspace)

Returns: Commit details

get_commit_commentsA

List comments on a commit with pagination support.

Args: repo_slug: Repository slug commit: Commit hash workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 10) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: Paginated list of commit comments

get_commit_commentA

Get a specific comment on a commit.

Args: repo_slug: Repository slug commit: Commit hash comment_id: Comment ID workspace: Workspace name (optional, defaults to configured workspace)

Returns: Commit comment details

get_file_contentA

Get the raw text content of a file at a given commit or branch.

A metadata pre-check rejects directories, oversized files (> max_bytes) and binary files before downloading, to protect the token budget.

Args: repo_slug: Repository slug commit: Commit hash (a simple branch/tag name also works; a branch name containing '/' is ambiguous on /src — resolve it to a hash first) path: File path within the repository workspace: Workspace name (optional, defaults to configured workspace) max_bytes: Maximum file size to return (default: 262144 = 256 KiB)

Returns: File content as text

list_directoryA

List the entries (files and sub-directories) of a directory at a commit/branch.

Args: repo_slug: Repository slug commit: Commit hash (a simple branch/tag name also works) path: Directory path within the repository (empty = repository root) workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 50) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: Paginated directory listing (path, type, size, mimetype per entry)

get_pipeline_configA

Get the repository pipelines configuration (enabled flag, next build number).

Note: this endpoint requires the admin:repository scope. A read-only token receives a 403 listing the missing privilege.

Args: repo_slug: Repository slug workspace: Workspace name (optional, defaults to configured workspace)

Returns: Pipelines configuration (enabled, next_build_number)

list_pipeline_variablesA

List repository-level pipeline variables.

Secured variables never expose their value (returned as null).

Args: repo_slug: Repository slug workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 20) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: Paginated list of pipeline variables

get_pipeline_variableA

Get a single repository-level pipeline variable.

Args: repo_slug: Repository slug variable_uuid: Variable UUID workspace: Workspace name (optional, defaults to configured workspace)

Returns: Pipeline variable (value is null if secured)

list_pipeline_schedulesA

List pipeline schedules for a repository.

Args: repo_slug: Repository slug workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 20) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: Paginated list of pipeline schedules

get_pipeline_scheduleA

Get a single pipeline schedule.

Args: repo_slug: Repository slug schedule_uuid: Schedule UUID workspace: Workspace name (optional, defaults to configured workspace)

Returns: Pipeline schedule

list_pipeline_schedule_executionsA

List the executions of a pipeline schedule.

Args: repo_slug: Repository slug schedule_uuid: Schedule UUID workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 20) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: Paginated list of schedule executions

list_pipeline_cachesA

List pipeline caches for a repository.

Args: repo_slug: Repository slug workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 20) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: Paginated list of pipeline caches

list_environmentsA

List deployment environments (staging, production, etc.) for a repository.

Requires the deployment OAuth scope.

Args: repo_slug: Repository slug workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 20) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: Paginated list of environments

get_environmentB

Get a single deployment environment.

Requires the deployment OAuth scope.

Args: repo_slug: Repository slug environment_uuid: Environment UUID workspace: Workspace name (optional, defaults to configured workspace)

Returns: Environment details

list_deploymentsA

List deployments for a repository (deployment history, most recent first).

The Bitbucket API cannot filter deployments by environment server-side; filter on the environment field of the returned items instead. Requires the deployment OAuth scope.

Args: repo_slug: Repository slug workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 20) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: Paginated list of deployments

get_deploymentA

Get a single deployment (state, environment, deployed commit).

Requires the deployment OAuth scope.

Args: repo_slug: Repository slug deployment_uuid: Deployment UUID workspace: Workspace name (optional, defaults to configured workspace)

Returns: Deployment details (state, status, environment, commit)

list_deployment_variablesA

List the variables of a deployment environment.

Secured variables never expose their value (returned as null). Requires the deployment OAuth scope.

Args: repo_slug: Repository slug environment_uuid: Environment UUID workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 20) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: Paginated list of deployment variables

list_branch_restrictionsA

List branch restrictions (branch protection rules) for a repository.

Requires the repository scope (or repository:admin depending on the repo configuration).

Args: repo_slug: Repository slug kind: Optional filter by restriction type (e.g. push, require_approvals_to_merge) workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 30) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: Paginated list of branch restrictions

get_branch_restrictionA

Get a single branch restriction.

Args: repo_slug: Repository slug restriction_id: Numeric restriction id workspace: Workspace name (optional, defaults to configured workspace)

Returns: Branch restriction details

list_workspace_membersA

List the members of a workspace.

The members endpoint carries no per-user permission — use list_workspace_permissions for roles. Requires the account scope.

Args: workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 30) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: Paginated list of workspace memberships

get_workspace_memberA

Get a single workspace member.

Requires the account scope.

Args: member_id: Member account_id or brace-wrapped uuid (not a username) workspace: Workspace name (optional, defaults to configured workspace)

Returns: Workspace membership details

list_workspace_permissionsA

List the user permissions (roles) of a workspace.

Requires the account scope.

Args: workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 30) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: Paginated list of workspace permissions (permission + user)

list_repository_permissionsA

List the user permissions for a specific repository in the workspace.

Requires the account scope.

Args: repo_slug: Repository slug workspace: Workspace name (optional, defaults to configured workspace) page_size: Items per page (default: 30) max_pages: Maximum pages to fetch (default: 1, max recommended: 10)

Returns: Paginated list of repository permissions (permission + user)

Prompts

Interactive templates invoked by user choice

NameDescription
review_pull_requestPerform a complete AI review of a Bitbucket pull request.
debug_pipeline_failureDiagnose why a Bitbucket pipeline run failed, from its logs.
summarize_repositorySummarize a Bitbucket repository: purpose, recent activity and health.
onboard_reviewerHelp a new reviewer get up to speed on a Bitbucket pull request.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/lawp09/bitbucket-mcp'

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