Skip to main content
Glama

Atlassian Bitbucket MCP Server

by aashari

Сервер Atlassian Bitbucket MCP

Сервер Node.js/TypeScript Model Context Protocol (MCP) для Atlassian Bitbucket Cloud. Позволяет системам ИИ (например, LLM, таким как Claude или Cursor AI) безопасно взаимодействовать с вашими репозиториями, запросами на извлечение, рабочими пространствами и кодом в режиме реального времени.

Зачем использовать этот сервер?

  • Минимальный ввод, максимальный вывод : простые идентификаторы предоставляют исчерпывающую информацию без необходимости дополнительных флагов.
  • Расширенная визуализация кода : получите подробную информацию об изменениях кода с помощью статистики файлов, представлений различий и интеллектуального контекста.
  • Безопасная локальная аутентификация : работайте локально с вашими учетными данными, никогда не храня токены на удаленных серверах.
  • Интуитивно понятные ответы Markdown : хорошо структурированное, единообразное форматирование Markdown для всех выходных данных.
  • Полная интеграция с Bitbucket : доступ к рабочим областям, репозиториям, запросам на извлечение, комментариям, поиску кода и многому другому.

Что такое МКП?

Model Context Protocol (MCP) — открытый стандарт для безопасного подключения систем ИИ к внешним инструментам и источникам данных. Этот сервер реализует MCP для Bitbucket Cloud, позволяя помощникам ИИ взаимодействовать с вашими данными Bitbucket программным способом.

Предпосылки

Настраивать

Шаг 1: Аутентификация

Выберите один из следующих методов аутентификации:

Вариант A: Пароль приложения Bitbucket (рекомендуется)

Сгенерируйте один из Bitbucket App Passwords . Минимальные разрешения:

  • Рабочие пространства: Читать
  • Репозитории: Читать
  • Запросы на извлечение: Читать

Вы также можете задать BITBUCKET_DEFAULT_WORKSPACE , чтобы указать рабочее пространство по умолчанию, если оно не указано явно.

Вариант B: токен API Atlassian

Сгенерируйте его с помощью токенов API Atlassian .

Примечание: настоятельно рекомендуется использовать пароли приложений Bitbucket, поскольку они обеспечивают более детальные разрешения, специфичные для Bitbucket.

Шаг 2: Настройте учетные данные

Вариант A: Файл конфигурации MCP (рекомендуется)

Отредактируйте или создайте ~/.mcp/configs.json :

Использование пароля приложения Bitbucket:

{ "bitbucket": { "environments": { "ATLASSIAN_BITBUCKET_USERNAME": "<your_username>", "ATLASSIAN_BITBUCKET_APP_PASSWORD": "<your_app_password>" } } }

Использование токена API Atlassian:

{ "bitbucket": { "environments": { "ATLASSIAN_SITE_NAME": "bitbucket", "ATLASSIAN_USER_EMAIL": "<your_email>", "ATLASSIAN_API_TOKEN": "<your_api_token>" } } }
Вариант B: Переменные среды
export ATLASSIAN_BITBUCKET_USERNAME="<your_username>" export ATLASSIAN_BITBUCKET_APP_PASSWORD="<your_app_password>"

Шаг 3: Установка и запуск

Быстрый старт с npx
npx -y @aashari/mcp-server-atlassian-bitbucket ls-workspaces
Глобальная установка
npm install -g @aashari/mcp-server-atlassian-bitbucket mcp-atlassian-bitbucket ls-workspaces

Шаг 4: Подключитесь к AI Assistant

Настройте MCP-совместимый клиент (например, Claude, Cursor AI):

{ "mcpServers": { "bitbucket": { "command": "npx", "args": ["-y", "@aashari/mcp-server-atlassian-bitbucket"] } } }

Инструменты МКП

Инструменты MCP используют имена snake_case , параметры camelCase и возвращают ответы в формате Markdown.

  • bb_ls_workspaces : Список доступных рабочих пространств ( query : str opt). Использование: Просмотр доступных рабочих пространств.
  • bb_get_workspace : Получает сведения о рабочей области ( workspaceSlug : str req). Использование: Просмотр информации о рабочей области.
  • bb_ls_repos : Список репозиториев ( workspaceSlug : str opt, projectKey : str opt, query : str opt, role : str opt). Использование: Поиск репозиториев.
  • bb_get_repo : Получает данные репозитория ( workspaceSlug : str req, repoSlug : str req). Использование: Доступ к информации о репозитории.
  • bb_search : Поиск содержимого Bitbucket ( workspaceSlug : str req, query : str req, scope : str opt, language : str opt, extension : str opt). Использование: Поиск кода или PR.
  • bb_ls_prs : Список запросов на извлечение ( workspaceSlug : str req, repoSlug : str req, state : str opt). Использование: Просмотр открытых или объединенных PR.
  • bb_get_pr : Получает сведения о PR ( workspaceSlug : str req, repoSlug : str req, prId : str req). Использование: Просмотр сведений о PR с различиями.
  • bb_ls_pr_comments : Список комментариев PR ( workspaceSlug : str req, repoSlug : str req, prId : str req). Использование: Просмотр обсуждений PR.
  • bb_add_pr_comment : Добавляет комментарий к PR ( workspaceSlug : str req, repoSlug : str req, prId : str req, content : str req, inline : obj opt). Использование: Добавить отзыв к PR.
  • bb_add_pr : Создает PR ( workspaceSlug : str req, repoSlug : str req, title : str req, sourceBranch : str req, targetBranch : str opt). Использование: Создание новых PR.
  • bb_add_branch : Создает ветку ( workspaceSlug : str req, repoSlug : str req, newBranchName : str req, sourceBranchOrCommit : str opt). Использование: Создать ветку функции.
  • bb_clone_repo : Клонирует репозиторий ( workspaceSlug : str req, repoSlug : str req, targetPath : str req). Использование: Клонировать код локально.
  • bb_get_commit_history : Получает историю коммитов ( workspaceSlug : str req, repoSlug : str req, revision : str opt, path : str opt). Использование: Просмотр истории кода.
  • bb_get_file : Получает содержимое файла ( workspaceSlug : str req, repoSlug : str req, filePath : str req, revision : str opt). Использование: Просмотр определенного файла.
  • bb_diff_branches : Показывает разницу между ветвями ( workspaceSlug : str req, repoSlug : str req, sourceBranch : str req, targetBranch : str req). Использование: Сравнение ветвей.
  • bb_diff_commits : Показывает разницу между коммитами ( workspaceSlug : str req, repoSlug : str req, sourceCommit : str req, targetCommit : str req). Использование: Сравнение коммитов.
  • bb_list_branches : Список ветвей ( workspaceSlug : str req, repoSlug : str req, query : str opt, sort : str opt). Использование: Просмотр всех ветвей.

bb_ls_workspaces

Список всех рабочих пространств:

{}

Поиск рабочих пространств:

{ "query": "devteam" }

bb_get_workspace

Получить сведения о рабочем пространстве:

{ "workspaceSlug": "acme-corp" }

bb_ls_repos

Список репозиториев в рабочей области:

{ "workspaceSlug": "acme-corp", "projectKey": "PROJ" }

Список репозиториев с использованием рабочего пространства по умолчанию:

{ "projectKey": "PROJ" }

bb_get_repo

Получить данные репозитория:

{ "workspaceSlug": "acme-corp", "repoSlug": "backend-api" }

Поисковый код:

{ "workspaceSlug": "acme-corp", "query": "Logger", "scope": "code", "language": "typescript" }

bb_ls_prs

Список открытых PR:

{ "workspaceSlug": "acme-corp", "repoSlug": "frontend-app", "state": "OPEN" }

bb_get_pr

Получить PR-подробности:

{ "workspaceSlug": "acme-corp", "repoSlug": "frontend-app", "prId": "42" }

bb_ls_pr_comments

Список PR-комментариев:

{ "workspaceSlug": "acme-corp", "repoSlug": "frontend-app", "prId": "42" }

bb_add_pr_comment

Добавить общий комментарий:

{ "workspaceSlug": "acme-corp", "repoSlug": "frontend-app", "prId": "42", "content": "Looks good." }

Добавить встроенный комментарий:

{ "workspaceSlug": "acme-corp", "repoSlug": "frontend-app", "prId": "42", "content": "Consider refactoring.", "inline": { "path": "src/utils.js", "line": 42 } }

bb_add_pr

Создать запрос на извлечение:

{ "workspaceSlug": "acme-corp", "repoSlug": "frontend-app", "title": "Add login screen", "sourceBranch": "feature/login" }

bb_add_branch

Создать новую ветку:

{ "workspaceSlug": "acme-corp", "repoSlug": "frontend-app", "newBranchName": "feature/new-feature", "sourceBranchOrCommit": "main" }

bb_clone_repo

Клонировать репозиторий:

{ "workspaceSlug": "acme-corp", "repoSlug": "backend-api", "targetPath": "/Users/me/projects" }

bb_get_commit_history

Просмотреть историю коммитов:

{ "workspaceSlug": "acme-corp", "repoSlug": "backend-api" }

Отфильтрованная история коммитов:

{ "workspaceSlug": "acme-corp", "repoSlug": "backend-api", "revision": "develop", "path": "src/main/java/com/acme/service/UserService.java" }

bb_get_file

Получить содержимое файла:

{ "workspaceSlug": "acme-corp", "repoSlug": "backend-api", "filePath": "src/main/java/com/acme/service/Application.java", "revision": "main" }

bb_diff_branches

Сравнить ветки:

{ "workspaceSlug": "acme-corp", "repoSlug": "web-app", "sourceBranch": "develop", "targetBranch": "main" }

bb_diff_commits

Сравнить коммиты:

{ "workspaceSlug": "acme-corp", "repoSlug": "web-app", "sourceCommit": "a1b2c3d", "targetCommit": "e4f5g6h" }

bb_list_branches

Список всех филиалов:

{ "workspaceSlug": "acme-corp", "repoSlug": "frontend-app" }

Отфильтрованные ветки:

{ "workspaceSlug": "acme-corp", "repoSlug": "frontend-app", "query": "feature/", "sort": "name" }

Команды CLI

Команды CLI используют kebab-case . Запустите --help для получения подробной информации (например, mcp-atlassian-bitbucket ls-workspaces --help ).

  • ls-workspaces : Выводит список рабочих пространств ( --query ). Пример: mcp-atlassian-bitbucket ls-workspaces .
  • get-workspace : Получает сведения о рабочей области ( --workspace-slug ). Пример: mcp-atlassian-bitbucket get-workspace --workspace-slug acme-corp .
  • ls-repos : Выводит список репозиториев ( --workspace-slug , --project-key , --query ). Пример: mcp-atlassian-bitbucket ls-repos --workspace-slug acme-corp .
  • get-repo : Получает сведения о репозитории ( --workspace-slug , --repo-slug ). Пример: mcp-atlassian-bitbucket get-repo --workspace-slug acme-corp --repo-slug backend-api .
  • search : Поиск кода ( --workspace-slug , --query , --scope , --language ). Пример: mcp-atlassian-bitbucket search --workspace-slug acme-corp --query "auth" .
  • ls-prs : выводит список PR ( --workspace-slug , --repo-slug , --state ). Пример: mcp-atlassian-bitbucket ls-prs --workspace-slug acme-corp --repo-slug backend-api .
  • get-pr : Получает сведения о PR ( --workspace-slug , --repo-slug , --pr-id ). Пример: mcp-atlassian-bitbucket get-pr --workspace-slug acme-corp --repo-slug backend-api --pr-id 42 .
  • ls-pr-comments : выводит список комментариев PR ( --workspace-slug , --repo-slug , --pr-id ). Пример: mcp-atlassian-bitbucket ls-pr-comments --workspace-slug acme-corp --repo-slug backend-api --pr-id 42 .
  • add-pr-comment : Добавляет комментарий PR ( --workspace-slug , --repo-slug , --pr-id , --content ). Пример: mcp-atlassian-bitbucket add-pr-comment --workspace-slug acme-corp --repo-slug backend-api --pr-id 42 --content "Looks good" .
  • add-pr : Создает PR ( --workspace-slug , --repo-slug , --title , --source-branch ). Пример: mcp-atlassian-bitbucket add-pr --workspace-slug acme-corp --repo-slug backend-api --title "New feature" --source-branch feature/login .
  • get-file : Получает содержимое файла ( --workspace-slug , --repo-slug , --file-path ). Пример: mcp-atlassian-bitbucket get-file --workspace-slug acme-corp --repo-slug backend-api --file-path src/main.js .
  • add-branch : Создает ветку ( --workspace-slug , --repo-slug , --new-branch-name ). Пример: mcp-atlassian-bitbucket add-branch --workspace-slug acme-corp --repo-slug backend-api --new-branch-name feature/new .

Список и просмотр рабочих пространств/репозиториев

# List all workspaces mcp-atlassian-bitbucket ls-workspaces # Get details of a specific workspace mcp-atlassian-bitbucket get-workspace --workspace-slug acme-corp # List repositories in a workspace mcp-atlassian-bitbucket ls-repos --workspace-slug acme-corp --project-key PROJ # Get details of a specific repository mcp-atlassian-bitbucket get-repo --workspace-slug acme-corp --repo-slug backend-api

Работа с запросами на извлечение

# List open pull requests in a repository mcp-atlassian-bitbucket ls-prs --workspace-slug acme-corp --repo-slug frontend-app --state OPEN # Get details of a specific pull request with code changes mcp-atlassian-bitbucket get-pr --workspace-slug acme-corp --repo-slug frontend-app --pr-id 42 # List comments on a pull request mcp-atlassian-bitbucket ls-pr-comments --workspace-slug acme-corp --repo-slug frontend-app --pr-id 42 # Add a comment to a pull request mcp-atlassian-bitbucket add-pr-comment --workspace-slug acme-corp --repo-slug frontend-app --pr-id 42 --content "Looks good to merge." # Create a new pull request mcp-atlassian-bitbucket add-pr --workspace-slug acme-corp --repo-slug frontend-app --title "Add login screen" --source-branch feature/login

Код и коммиты

# Search for code mcp-atlassian-bitbucket search --workspace-slug acme-corp --query "Logger" --scope code --language typescript # View commit history mcp-atlassian-bitbucket get-commit-history --workspace-slug acme-corp --repo-slug backend-api --revision develop # Get file content mcp-atlassian-bitbucket get-file --workspace-slug acme-corp --repo-slug backend-api --file-path "src/Application.java" --revision main # Compare branches mcp-atlassian-bitbucket diff-branches --workspace-slug acme-corp --repo-slug web-app --source-branch develop --target-branch main # Compare commits mcp-atlassian-bitbucket diff-commits --workspace-slug acme-corp --repo-slug web-app --source-commit a1b2c3d --target-commit e4f5g6h

Управление филиалом

# List branches mcp-atlassian-bitbucket list-branches --workspace-slug acme-corp --repo-slug frontend-app --query "feature/" --sort name # Create a new branch mcp-atlassian-bitbucket add-branch --workspace-slug acme-corp --repo-slug frontend-app --new-branch-name feature/new-feature --source-branch-or-commit main # Clone a repository mcp-atlassian-bitbucket clone --workspace-slug acme-corp --repo-slug backend-api --target-path ./cloned-projects

Формат ответа

Все ответы отформатированы в формате Markdown, включая:

  • Заголовок : Выполненная операция или просмотренный объект.
  • Контекст : рабочая область, репозиторий, запрос на извлечение или информация о ветке.
  • Контент : основные данные, такие как содержимое файла, сведения о PR или результаты поиска.
  • Метаданные : временные метки, авторы и статистика.
  • Различия : изменения кода с подсветкой синтаксиса для различий между ветками/коммитами.

Подробности репозитория

# Repository: backend-api **Workspace:** acme-corp **Full Name:** acme-corp/backend-api **Language:** Java **Created:** 2024-01-15 by John Smith **Updated:** 2025-05-10 (2 days ago) ## Overview Spring Boot backend API for the ACME product suite. ## Statistics - **Default Branch:** main - **Size:** 24.5 MB - **Commits:** 358 - **Open PRs:** 4 - **Forks:** 3 ## Recent Activity - PR #42: "Add OAuth2 support" by Jane Doe (Open) - PR #41: "Fix pagination bug" by Alex Kim (Merged) - PR #40: "Update dependencies" by John Smith (Merged) *Repository URL: https://bitbucket.org/acme-corp/backend-api*

Обзор запроса на извлечение

# Pull Request #42: Add OAuth2 support **Repository:** acme-corp/backend-api **Author:** Jane Doe **State:** OPEN **Created:** 2025-05-15 (4 days ago) **Updated:** 2025-05-18 (yesterday) ## Description Implements OAuth2 authentication flow with support for: - Authorization code grant - Refresh tokens - Token caching ## Changes - **Files changed:** 7 - **Additions:** 245 lines - **Deletions:** 32 lines ## Diff for src/auth/OAuthService.java @@ -10,6 +10,25 @@ public class OAuthService { private final TokenRepository tokenRepository; private final HttpClient httpClient; + @Autowired + public OAuthService( + TokenRepository tokenRepository, + HttpClient httpClient) { + this.tokenRepository = tokenRepository; + this.httpClient = httpClient; + } + + public TokenResponse refreshToken(String refreshToken) { + // Validate refresh token + if (StringUtils.isEmpty(refreshToken)) { + throw new InvalidTokenException("Refresh token cannot be empty"); + } + + // Call OAuth server for new access token + return httpClient.post("/oauth/token") + .body(Map.of("grant_type", "refresh_token", "refresh_token", refreshToken)) + .execute() + .as(TokenResponse.class); + } ## Comments (3) 1. **John Smith** (2 days ago): > Please add unit tests for the refresh token flow 2. **Jane Doe** (yesterday): > Added tests in the latest commit 3. **Approval by:** Alex Kim (yesterday) *Pull Request URL: https://bitbucket.org/acme-corp/backend-api/pull-requests/42*

Разработка

# Clone repository git clone https://github.com/aashari/mcp-server-atlassian-bitbucket.git cd mcp-server-atlassian-bitbucket # Install dependencies npm install # Run in development mode npm run dev:server # Run tests npm test

Внося вклад

Вклады приветствуются! Пожалуйста:

  1. Создайте форк репозитория.
  2. Создайте ветку функций ( git checkout -b feature/xyz ).
  3. Зафиксируйте изменения ( git commit -m "Add xyz feature" ).
  4. Отправьте изменения в ветку ( git push origin feature/xyz ).
  5. Откройте запрос на извлечение.

Подробности смотрите на сайте CONTRIBUTING.md .

Лицензия

Лицензия ISC

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Инструмент интеграции, который позволяет помощникам на основе искусственного интеллекта, таким как Клод, напрямую получать доступ и взаимодействовать с репозиториями Bitbucket, запросами на извлечение и кодом без необходимости выполнения операций копирования/вставки.

  1. Зачем использовать этот сервер?
    1. Что такое МКП?
      1. Предпосылки
        1. Настраивать
          1. Шаг 1: Аутентификация
          2. Шаг 2: Настройте учетные данные
          3. Шаг 3: Установка и запуск
          4. Шаг 4: Подключитесь к AI Assistant
        2. Инструменты МКП
          1. bb_ls_workspaces
          2. bb_get_workspace
          3. bb_ls_repos
          4. bb_get_repo
          5. bb_search
          6. bb_ls_prs
          7. bb_get_pr
          8. bb_ls_pr_comments
          9. bb_add_pr_comment
          10. bb_add_pr
          11. bb_add_branch
          12. bb_clone_repo
          13. bb_get_commit_history
          14. bb_get_file
          15. bb_diff_branches
          16. bb_diff_commits
          17. bb_list_branches
        3. Команды CLI
          1. Список и просмотр рабочих пространств/репозиториев
          2. Работа с запросами на извлечение
          3. Код и коммиты
          4. Управление филиалом
        4. Формат ответа
          1. Подробности репозитория
          2. Обзор запроса на извлечение
        5. Разработка
          1. Внося вклад
            1. Лицензия

              Related MCP Servers

              • -
                security
                F
                license
                -
                quality
                A custom server implementation that allows AI assistants to interact with GitLab repositories, providing capabilities for searching, fetching files, creating/updating content, and managing issues and merge requests.
                Last updated -
                JavaScript
              • -
                security
                F
                license
                -
                quality
                A Model Context Protocol server that enables AI assistants like Claude to interact with GitHub repositories, issues, and pull requests.
                Last updated -
                129
                Python
              • -
                security
                F
                license
                -
                quality
                A Multi-Claude Program for interacting with GitHub APIs through Claude Desktop, allowing users to search repositories, manage issues, pull requests, repository settings, workflows, and collaborators.
                Last updated -
                1
                Python
                • Linux
                • Apple
              • -
                security
                A
                license
                -
                quality
                Connects Claude Desktop to GitHub repositories, enabling users to perform git operations and GitHub API interactions through natural conversation.
                Last updated -
                JavaScript
                MIT License
                • Apple

              View all related MCP servers

              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/aashari/mcp-server-atlassian-bitbucket'

              If you have feedback or need assistance with the MCP directory API, please join our Discord server