Bitbucket Cloud Integration
Manage Bitbucket Cloud workspaces, repositories, branches, commits, pull requests, issues, and pipelines
The Bitbucket Cloud integration provides access to manage Bitbucket Cloud workspaces, repositories, branches, commits, pull requests, issues, and pipelines through the Integrate MCP server.
Installation
The Bitbucket Cloud integration is included with the SDK:
import { bitbucketIntegration } from "integrate-sdk/server";Setup
1. Create a Bitbucket Cloud OAuth App
- Create an OAuth application for Bitbucket Cloud
- Configure your redirect URI
- Note your Client ID and Client Secret
2. Configure the Integration on Your Server
Add the Bitbucket Cloud integration to your server configuration. The integration automatically reads BITBUCKET_CLIENT_ID and BITBUCKET_CLIENT_SECRET from your environment variables:
import { createMCPServer, bitbucketIntegration } from "integrate-sdk/server";
export const { client: serverClient } = createMCPServer({
apiKey: process.env.INTEGRATE_API_KEY,
integrations: [
bitbucketIntegration({
scopes: ["account", "repository", "pullrequest", "issue", "pipeline"], // Optional
}),
],
});You can override the environment variables by passing explicit values:
bitbucketIntegration({
clientId: process.env.CUSTOM_BITBUCKET_ID,
clientSecret: process.env.CUSTOM_BITBUCKET_SECRET,
scopes: ["account", "repository", "pullrequest", "issue", "pipeline"], // Optional
});3. Client-Side Usage
The default client automatically includes all integrations. You can use it directly:
import { client } from "integrate-sdk";
await client.authorize("bitbucket");
const result = await client.bitbucket.getCurrentUser({});
console.log(result);If you're using a custom client, add the integration to the integrations array:
import { createMCPClient, bitbucketIntegration } from "integrate-sdk";
const customClient = createMCPClient({
integrations: [bitbucketIntegration()],
});Configuration Options
export interface BitbucketIntegrationConfig {
clientId?: string;
Default Scopes
These defaults are applied unless you override scopes in the integration config:
accountrepositorypullrequestissuepipeline
Tools
bitbucket_get_current_user
Get current user
No parameters.
bitbucket_list_workspaces
List workspaces
export interface BitbucketListWorkspacesParams { q?: string;
bitbucket_list_repositories
List repositories
export interface BitbucketListRepositoriesParams { workspace: string;
bitbucket_get_repository
Get repository
export interface BitbucketGetRepositoryParams { workspace: string;
bitbucket_list_branches
List branches
export interface BitbucketListBranchesParams { workspace: string;
bitbucket_list_commits
List commits
export interface BitbucketListCommitsParams { workspace: string;
bitbucket_get_commit
Get commit
export interface BitbucketGetCommitParams { workspace: string;
bitbucket_list_pull_requests
List pull requests
export interface BitbucketListPullRequestsParams { workspace: string;
bitbucket_get_pull_request
Get pull request
export interface BitbucketGetPullRequestParams { workspace: string;
bitbucket_create_pull_request
Create pull request
export interface BitbucketCreatePullRequestParams { workspace: string;
bitbucket_list_issues
List issues
export interface BitbucketListIssuesParams { workspace: string;
bitbucket_get_issue
Get issue
export interface BitbucketGetIssueParams { workspace: string;
bitbucket_create_issue
Create issue
export interface BitbucketCreateIssueParams { workspace: string;
bitbucket_list_pipelines
List pipelines
export interface BitbucketListPipelinesParams { workspace: string;
bitbucket_trigger_pipeline
Trigger pipeline
export interface BitbucketTriggerPipelineParams { workspace: string;
Notes
- Category: Engineering
- Authentication mode: OAuth