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) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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_logsA | Get logs for a specific pipeline step. Raw step logs are routinely multi-MB, so only the last Args: repo_slug: Repository slug pipeline_uuid: Pipeline UUID, e.g. "{adab6a1f-...}". Unlike get_pipeline_run, this endpoint is not documented to accept a build number — resolve the UUID first via get_pipeline_run if you only have a number. step_uuid: Step UUID (from get_pipeline_steps) workspace: Workspace name (optional, defaults to configured workspace) log_uuid: Optional log UUID. Omit for the main build container; pass a service container UUID to read that service's log instead. start: First byte to return (absolute, inclusive) end: Last byte to return (absolute, inclusive). start/end are an absolute byte window, not a "last N bytes" convention. max_bytes: Size of the trailing slice returned when no start/end is given (default: 100 KiB). Pass null for the whole log. Returns:
Dict with the log |
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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