bitbucket-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BITBUCKET_TOKEN | Yes | Your Bitbucket API token | |
| BITBUCKET_USERNAME | Yes | Your Bitbucket email | |
| BITBUCKET_WORKSPACE | Yes | Your workspace slug | |
| BITBUCKET_TOOLS_CONFIG | No | Path to custom tools configuration file (optional) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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 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 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 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 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 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
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 Args:
repo_slug: Repository slug
kind: Optional filter by restriction type (e.g. 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
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 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 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 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
| Name | Description |
|---|---|
| review_pull_request | Perform a complete AI review of a Bitbucket pull request. |
| debug_pipeline_failure | Diagnose why a Bitbucket pipeline run failed, from its logs. |
| summarize_repository | Summarize a Bitbucket repository: purpose, recent activity and health. |
| onboard_reviewer | Help a new reviewer get up to speed on a Bitbucket pull request. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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