Bitbucket MCP
비트버킷 MCP
Bitbucket Cloud 및 Server API와 통합하기 위한 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 MCP 서버를 통해 Cursor와 같은 AI 어시스턴트가 Bitbucket 저장소, 풀 리퀘스트 및 기타 리소스와 상호 작용할 수 있습니다.
안전이 최우선
안전하고 신뢰할 수 있는 패키지입니다. DELETE 작업이 사용되지 않으므로 데이터 손실 위험이 없습니다. 모든 풀 리퀘스트는 CodeQL로 분석되어 코드의 보안을 유지합니다.
Related MCP server: Bitbucket MCP Server
개요
공식 npm 패키지를 확인해 보세요. 이 서버는 AI 어시스턴트가 Bitbucket 데이터 및 작업에 액세스할 수 있도록 모델 컨텍스트 프로토콜(Model Context Protocol) 표준을 구현합니다. 여기에는 다음 도구가 포함되어 있습니다.
저장소 나열 및 검색
저장소 세부 정보 가져오기
풀 리퀘스트 가져오기
그리고 더 많은 것들...
설치
NPX 사용(권장)
이 MCP 서버를 사용하는 가장 쉬운 방법은 NPX를 사용하는 것입니다. NPX를 사용하면 전역적으로 설치하지 않고도 실행할 수 있습니다.
지엑스피1
수동 설치
또는 프로젝트의 일부로 또는 전역적으로 설치할 수 있습니다.
# Install globally
npm install -g bitbucket-mcp
# Or install in your project
npm install bitbucket-mcp다음으로 다음을 실행합니다.
# If installed globally
BITBUCKET_URL="https://bitbucket.org/your-workspace" \
BITBUCKET_USERNAME="your-username" \
BITBUCKET_PASSWORD="your-app-password" \
bitbucket-mcp
# If installed in your project
BITBUCKET_URL="https://bitbucket.org/your-workspace" \
BITBUCKET_USERNAME="your-username" \
BITBUCKET_PASSWORD="your-app-password" \
npx bitbucket-mcp구성
환경 변수
다음 환경 변수를 사용하여 서버를 구성하세요.
변하기 쉬운 | 설명 | 필수의 |
| Bitbucket 기본 URL(예: " https://bitbucket.org/your-workspace ") | 예 |
| Bitbucket 사용자 이름 | 예* |
| Bitbucket 앱 비밀번호 | 예* |
| Bitbucket 액세스 토큰(사용자 이름/비밀번호 대체) | 아니요 |
| 지정되지 않은 경우 사용할 기본 작업 공간 | 아니요 |
* BITBUCKET_TOKEN 또는 BITBUCKET_USERNAME 과 BITBUCKET_PASSWORD 모두 제공해야 합니다.
Bitbucket 앱 비밀번호 생성
Bitbucket 계정에 로그인하세요
개인 설정 > 앱 비밀번호로 이동하세요.
다음 권한으로 새로운 앱 비밀번호를 만드세요.
저장소: 읽기
풀 리퀘스트: 읽기, 쓰기
생성된 비밀번호를 복사하여
BITBUCKET_PASSWORD환경 변수로 사용합니다.
커서와의 통합
이 MCP 서버를 Cursor와 통합하려면:
커서 열기
설정 > 확장 프로그램으로 이동하세요
"모델 컨텍스트 프로토콜"을 클릭하세요
새로운 MCP 구성을 추가합니다.
"bitbucket": {
"command": "npx",
"env": {
"BITBUCKET_URL": "https://bitbucket.org/your-workspace",
"BITBUCKET_USERNAME": "your-username",
"BITBUCKET_PASSWORD": "your-app-password"
},
"args": ["-y", "bitbucket-mcp@latest"]
}구성을 저장합니다
Cursor에서 "/bitbucket" 명령을 사용하여 Bitbucket 저장소 및 풀 요청에 액세스합니다.
커서를 사용하여 로컬 빌드 사용
로컬로 개발하고 변경 사항을 테스트하려는 경우:
"bitbucket-local": {
"command": "node",
"env": {
"BITBUCKET_URL": "https://bitbucket.org/your-workspace",
"BITBUCKET_USERNAME": "your-username",
"BITBUCKET_PASSWORD": "your-app-password"
},
"args": ["/path/to/your/local/bitbucket-mcp/dist/index.js"]
}사용 가능한 도구
이 MCP 서버는 Bitbucket 저장소 및 풀 리퀘스트와 상호 작용하는 도구를 제공합니다. 사용 가능한 작업의 전체 목록은 다음과 같습니다.
저장소 작업
listRepositories
작업 공간의 저장소를 나열합니다.
매개변수:
workspace(선택 사항): Bitbucket 작업 공간 이름limit(선택 사항): 반환할 저장소의 최대 수
getRepository
특정 저장소에 대한 세부 정보를 가져옵니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그
풀 리퀘스트 작업
getPullRequests
저장소에 대한 풀 리퀘스트를 받습니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그state(선택 사항): 풀 요청 상태(OPEN,MERGED,DECLINED,SUPERSEDED)limit(선택 사항): 반환할 풀 요청의 최대 수
createPullRequest
새로운 풀 리퀘스트를 생성합니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그title: 풀 리퀘스트 제목description: 풀 리퀘스트 설명sourceBranch: 소스 브랜치 이름targetBranch: 대상 브랜치 이름reviewers(선택 사항): 리뷰어 사용자 이름 목록
getPullRequest
특정 풀 리퀘스트에 대한 세부 정보를 가져옵니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 ID
updatePullRequest
풀 리퀘스트를 업데이트합니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 ID다양한 선택적 업데이트 매개변수(제목, 설명 등)
getPullRequestActivity
풀 리퀘스트에 대한 활동 로그를 가져옵니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 ID
approvePullRequest
풀 리퀘스트를 승인합니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 ID
unapprovePullRequest
풀 리퀘스트에서 승인을 제거합니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 ID
declinePullRequest
풀 리퀘스트를 거부합니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 IDmessage(선택 사항): 거부 이유
mergePullRequest
풀 리퀘스트를 병합합니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 IDmessage(선택 사항): 커밋 메시지 병합strategy(선택 사항): 병합 전략(merge-commit,squash,fast-forward)
requestChanges
풀 리퀘스트에 대한 변경 사항을 요청합니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 ID
removeChangeRequest
풀 리퀘스트에서 변경 요청을 제거합니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 ID
풀 리퀘스트 주석 작업
getPullRequestComments
풀 리퀘스트에 대한 댓글을 나열합니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 ID
createPullRequestComment
풀 리퀘스트에 대한 댓글을 생성합니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 IDcontent: 댓글 내용inline(선택 사항): 인라인 주석 정보
getPullRequestComment
풀 리퀘스트에 대한 구체적인 의견을 받습니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 IDcomment_id: 댓글 ID
updatePullRequestComment
풀 리퀘스트에 대한 댓글을 업데이트합니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 IDcomment_id: 댓글 IDcontent: 업데이트된 댓글 내용
deletePullRequestComment
풀 리퀘스트에 대한 댓글을 삭제합니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 IDcomment_id: 댓글 ID
resolveComment
풀 리퀘스트에 대한 댓글 스레드를 해결합니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 IDcomment_id: 댓글 ID
reopenComment
풀 리퀘스트에서 해결된 댓글 스레드를 다시 엽니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 IDcomment_id: 댓글 ID
풀 리퀘스트 Diff 작업
getPullRequestDiff
풀 리퀘스트에 대한 diff를 가져옵니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 ID
getPullRequestDiffStat
풀 리퀘스트에 대한 diff 통계를 가져옵니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 ID
getPullRequestPatch
풀 리퀘스트에 대한 패치를 가져옵니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 ID
풀 리퀘스트 작업 운영
getPullRequestTasks
풀 리퀘스트에 대한 작업을 나열합니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 ID
createPullRequestTask
풀 리퀘스트에 대한 작업을 생성합니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 IDcontent: 작업 내용comment(선택 사항): 작업과 연결할 주석 IDpending(선택 사항): 작업이 보류 중인지 여부
getPullRequestTask
풀 리퀘스트에 대한 특정 작업을 가져옵니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 IDtask_id: 작업 ID
updatePullRequestTask
풀 리퀘스트에 대한 작업을 업데이트합니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 IDtask_id: 작업 IDcontent(선택 사항): 업데이트된 작업 내용state(선택 사항): 업데이트된 작업 상태
deletePullRequestTask
풀 리퀘스트에서 작업을 삭제합니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 IDtask_id: 작업 ID
기타 풀 리퀘스트 작업
getPullRequestCommits
풀 리퀘스트에 대한 커밋을 나열합니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 ID
getPullRequestStatuses
풀 리퀘스트에 대한 커밋 상태를 나열합니다.
매개변수:
workspace: Bitbucket 작업공간 이름repo_slug: 저장소 슬러그pull_request_id: 풀 리퀘스트 ID
개발
필수 조건
Node.js 18 이상
npm 또는 yarn
설정
# Clone the repository
git clone https://github.com/MatanYemini/bitbucket-mcp.git
cd bitbucket-mcp
# Install dependencies
npm install
# Build the project
npm run build
# Run in development mode
npm run dev특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
모래밭
Available Tools
3 toolsgetPullRequestsD
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of pull requests to return | |
| repo_slug | Yes | Repository slug | |
| state | No | Pull request state | |
| workspace | Yes | Bitbucket workspace name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getRepositoryD
| Name | Required | Description | Default |
|---|---|---|---|
| repo_slug | Yes | Repository slug | |
| workspace | Yes | Bitbucket workspace name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listRepositoriesD
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of repositories to return | |
| workspace | No | Bitbucket workspace name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v1.0.0- First observed
getPullRequests - First observed
getRepository - First observed
listRepositories
TDQS
Each tool has a clearly distinct purpose: getPullRequests retrieves pull requests, getRepository fetches a specific repository, and listRepositories lists all repositories. There is no overlap or ambiguity between these operations.
The tools follow a consistent verb_noun pattern (getPullRequests, getRepository, listRepositories), but there is a minor deviation in verb choice between 'get' and 'list'. This is still highly readable and predictable.
With only 3 tools, the server feels thin for a Bitbucket integration, lacking essential operations like creating or updating repositories, managing pull requests (e.g., create, merge), or handling issues. The scope is incomplete for typical version control workflows.
The tool surface is severely incomplete for a Bitbucket server, missing core CRUD operations (e.g., create_repository, update_pull_request, delete_branch) and lifecycle management. Agents will face dead ends when trying to perform basic tasks like modifying repositories or pull requests.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
The Mercado Pago MCP Server implements the Model Context Protocol to provide AI agents and LLMs with access to Mercado Pago's APIs and tools within compatible development environments. It acts as an intermediary that translates Mercado Pago resources into executable functions (tools) that AI applications can invoke to perform actions and automate flows. The server simplifies integration, enables using documentation to implement or improve code, and optimizes operations through natural language interactions without manual implementations.
The Buildkite MCP server exposes Buildkite product data (pipelines, builds, jobs, and test data) to AI tools, editors, and agents through the Model Context Protocol. It provides capabilities including pipeline creation and management, build monitoring with specialized tools like 'wait_for_build', efficient log querying using Apache Parquet conversion and caching, and OAuth-based authentication for both read-write and read-only access to Buildkite's REST API.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that enables interaction with Bitbucket repositories through the Model Context Protocol, supporting both Bitbucket Cloud and Server with features for PR lifecycle management and code review.195,23428MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol server that integrates Cursor IDE with Bitbucket Cloud, allowing developers to fetch repository information and commit data directly from their Bitbucket workspace.15394MIT
- AlicenseAqualityCmaintenanceEnables AI assistants to manage Bitbucket Cloud repositories, pull requests, branches, commits, pipelines, issues, and webhooks through the Model Context Protocol.8670MIT
- AlicenseCqualityBmaintenanceMCP server for integrating with Bitbucket Cloud and Server APIs, enabling AI assistants to interact with repositories, pull requests, pipelines, and more.59373MIT
Appeared in Searches
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/MatanYemini/bitbucket-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server