Bitbucket Automation via Rube MCP
Automate Bitbucket operations including repository management, pull request workflows, branch operations, issue tracking, and workspace administration through Composio's Bitbucket toolkit.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Bitbucket connection via with toolkit
- Always call first to get current tool schemas
Setup
Get Rube MCP: Add
as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- Verify Rube MCP is available by confirming responds
- Call with toolkit
- If connection is not ACTIVE, follow the returned auth link to complete Bitbucket OAuth
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Manage Pull Requests
When to use: User wants to create, review, or inspect pull requests
Tool sequence:
BITBUCKET_LIST_WORKSPACES
- Discover accessible workspaces [Prerequisite]
BITBUCKET_LIST_REPOSITORIES_IN_WORKSPACE
- Find the target repository [Prerequisite]
- - Verify source and destination branches exist [Prerequisite]
BITBUCKET_CREATE_PULL_REQUEST
- Create a new PR with title, source branch, and optional reviewers [Required]
BITBUCKET_LIST_PULL_REQUESTS
- List PRs filtered by state (OPEN, MERGED, DECLINED) [Optional]
BITBUCKET_GET_PULL_REQUEST
- Get full details of a specific PR by ID [Optional]
BITBUCKET_GET_PULL_REQUEST_DIFF
- Fetch unified diff for code review [Optional]
BITBUCKET_GET_PULL_REQUEST_DIFFSTAT
- Get changed files with lines added/removed [Optional]
Key parameters:
- : Workspace slug or UUID (required for all operations)
- : URL-friendly repository name
- : Branch with changes to merge
- : Target branch (defaults to repo main branch if omitted)
- : List of objects with field for reviewer assignment
- : Filter for LIST_PULL_REQUESTS - , , or
- : Truncation limit for GET_PULL_REQUEST_DIFF to handle large diffs
Pitfalls:
- expects an array of objects with key, NOT usernames:
- UUID format must include curly braces:
{123e4567-e89b-12d3-a456-426614174000}
- defaults to the repo's main branch if omitted, which may not be
- is an integer for GET/DIFF operations but comes back as part of PR listing
- Large diffs can overwhelm context; always set (e.g., 50000) on GET_PULL_REQUEST_DIFF
2. Manage Repositories and Workspaces
When to use: User wants to list, create, or delete repositories or explore workspaces
Tool sequence:
BITBUCKET_LIST_WORKSPACES
- List all accessible workspaces [Required]
BITBUCKET_LIST_REPOSITORIES_IN_WORKSPACE
- List repos with optional BBQL filtering [Required]
BITBUCKET_CREATE_REPOSITORY
- Create a new repo with language, privacy, and project settings [Optional]
BITBUCKET_DELETE_REPOSITORY
- Permanently delete a repository (irreversible) [Optional]
BITBUCKET_LIST_WORKSPACE_MEMBERS
- List members for reviewer assignment or access checks [Optional]
Key parameters:
- : Workspace slug (find via LIST_WORKSPACES)
- : URL-friendly name for create/delete
- : BBQL query filter (e.g., , , )
- : Filter repos by user role: , , ,
- : Sort field with optional prefix for descending (e.g., )
- : Boolean for repository visibility (defaults to )
- : Bitbucket project key; omit to use workspace's oldest project
Pitfalls:
BITBUCKET_DELETE_REPOSITORY
is irreversible and does not affect forks
- BBQL string values MUST be enclosed in double quotes: not
- is NOT a valid BBQL field; use instead
- Default pagination is 10 results; set explicitly for complete listings
- defaults to private; set for public repos
3. Manage Issues
When to use: User wants to create, update, list, or comment on repository issues
Tool sequence:
- - List issues with optional filters for state, priority, kind, assignee [Required]
- - Create a new issue with title, content, priority, and kind [Required]
- - Modify issue attributes (state, priority, assignee, etc.) [Optional]
BITBUCKET_CREATE_ISSUE_COMMENT
- Add a markdown comment to an existing issue [Optional]
- - Permanently delete an issue [Optional]
Key parameters:
- : String identifier for the issue
- , : Required for creation
- : , , , or
- : , , , , or
- : , , , , , , ,
- : Bitbucket username for CREATE; (UUID) for UPDATE
- : ISO 8601 format date string
Pitfalls:
- Issue tracker must be enabled on the repository () or API calls will fail
- uses (username string), but uses (UUID) -- they are different fields
- is permanent with no undo
- values include spaces: not
- Filtering by in LIST_ISSUES uses account ID, not username; use string for unassigned
4. Manage Branches
When to use: User wants to create branches or explore branch structure
Tool sequence:
- - List branches with optional BBQL filter and sorting [Required]
- - Create a new branch from a specific commit hash [Required]
Key parameters:
- : Branch name without prefix (e.g., )
- : Full SHA1 commit hash to branch from (must exist in repo)
- : BBQL filter (e.g., , )
- : Sort by or (descending commit date)
- : 1-100 results per page (default is 10)
Pitfalls:
- requires a full commit hash, NOT a branch name as
- Do NOT include prefix in branch names
- Branch names must follow Bitbucket naming conventions (alphanumeric, , , , )
- BBQL string values need double quotes: not
5. Review Pull Requests with Comments
When to use: User wants to add review comments to pull requests, including inline code comments
Tool sequence:
BITBUCKET_GET_PULL_REQUEST
- Get PR details and verify it exists [Prerequisite]
BITBUCKET_GET_PULL_REQUEST_DIFF
- Review the actual code changes [Prerequisite]
BITBUCKET_GET_PULL_REQUEST_DIFFSTAT
- Get list of changed files [Optional]
BITBUCKET_CREATE_PULL_REQUEST_COMMENT
- Post review comments [Required]
Key parameters:
- : String ID of the PR
- : Markdown-formatted comment text
- : Defaults to ; also supports
- : Object with , , for inline code comments
- : Integer ID for threaded replies to existing comments
Pitfalls:
- is a string in CREATE_PULL_REQUEST_COMMENT but an integer in GET_PULL_REQUEST
- Inline comments require at minimum; / are optional line numbers
- creates a threaded reply; omit for top-level comments
- Line numbers in inline comments reference the diff, not the source file
Common Patterns
ID Resolution
Always resolve human-readable names to IDs before operations:
- Workspace:
BITBUCKET_LIST_WORKSPACES
to get workspace slugs
- Repository:
BITBUCKET_LIST_REPOSITORIES_IN_WORKSPACE
with filter to find repo slugs
- Branch: to verify branch existence before PR creation
- Members:
BITBUCKET_LIST_WORKSPACE_MEMBERS
to get UUIDs for reviewer assignment
Pagination
Bitbucket uses page-based pagination (not cursor-based):
- Use (starts at 1) and (items per page) parameters
- Default page size is typically 10; set explicitly (max 50 for PRs, 100 for others)
- Check response for URL or total count to determine if more pages exist
- Always iterate through all pages for complete results
BBQL Filtering
Bitbucket Query Language is available on list endpoints:
- String values MUST use double quotes:
- Operators: (exact), (contains), (not equal), , , ,
- Combine with / :
name~"api" AND is_private=true
Known Pitfalls
ID Formats
- Workspace: slug string (e.g., ) or UUID in braces ()
- Reviewer UUIDs must include curly braces:
{123e4567-e89b-12d3-a456-426614174000}
- Issue IDs are strings; PR IDs are integers in some tools, strings in others
- Commit hashes must be full SHA1 (40 characters)
Parameter Quirks
- vs : CREATE_ISSUE uses username, UPDATE_ISSUE uses UUID
- values for issues include spaces: , not
- omission defaults to repo main branch, not literally
- BBQL is not a valid field -- use
Rate Limits
- Bitbucket Cloud API has rate limits; large batch operations should include delays
- Paginated requests count against rate limits; minimize unnecessary page fetches
Destructive Operations
BITBUCKET_DELETE_REPOSITORY
is irreversible and does not remove forks
- is permanent with no recovery option
- Always confirm with the user before executing delete operations
Quick Reference
| Task | Tool Slug | Key Params |
|---|
| List workspaces | BITBUCKET_LIST_WORKSPACES
| , |
| List repos | BITBUCKET_LIST_REPOSITORIES_IN_WORKSPACE
| , , |
| Create repo | BITBUCKET_CREATE_REPOSITORY
| , , |
| Delete repo | BITBUCKET_DELETE_REPOSITORY
| , |
| List branches | | , , |
| Create branch | | , , , |
| List PRs | BITBUCKET_LIST_PULL_REQUESTS
| , , |
| Create PR | BITBUCKET_CREATE_PULL_REQUEST
| , , , |
| Get PR details | BITBUCKET_GET_PULL_REQUEST
| , , |
| Get PR diff | BITBUCKET_GET_PULL_REQUEST_DIFF
| , , , |
| Get PR diffstat | BITBUCKET_GET_PULL_REQUEST_DIFFSTAT
| , , |
| Comment on PR | BITBUCKET_CREATE_PULL_REQUEST_COMMENT
| , , , |
| List issues | | , , , |
| Create issue | | , , , |
| Update issue | | , , |
| Comment on issue | BITBUCKET_CREATE_ISSUE_COMMENT
| , , , |
| Delete issue | | , , |
| List members | BITBUCKET_LIST_WORKSPACE_MEMBERS
| |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.