Skip to main content
Glama
Bitbucket Server MCP

Bitbucket Server MCP

by garc33

Bitbucket Server MCP

Сервер MCP (Model Context Protocol) для управления запросами на слияние (Pull Request) в Bitbucket Server. Этот сервер предоставляет инструменты и ресурсы для взаимодействия с API Bitbucket Server через протокол MCP.

✨ Новые возможности

  • 🔧 Пользовательские HTTP-заголовки: Добавляйте собственные заголовки ко всем запросам через переменную окружения BITBUCKET_CUSTOM_HEADERS (полезно для токенов Zero Trust или прокси-серверов)

  • 📋 Поиск PR: Просматривайте и фильтруйте pull request'ы по состоянию, автору или направлению с помощью list_pull_requests (исправлено #14)

  • 🌿 Управление ветками: Получайте список веток с автоматическим определением ветки по умолчанию с помощью list_branches, удаляйте слитые ветки с помощью delete_branch

  • 📝 История коммитов: Просматривайте историю коммитов с фильтрацией по ветке и автору с помощью list_commits

  • ✅ Одобрение PR: Одобряйте и отменяйте одобрение pull request'ов с помощью approve_pull_request и unapprove_pull_request

  • 🔍 Расширенный поиск: Ищите код и файлы в репозиториях с фильтрацией по проекту/репозиторию с помощью инструмента search

  • 📄 Операции с файлами: Читайте содержимое файлов и просматривайте директории репозитория с помощью get_file_content и browse_repository

  • 💬 Управление комментариями: Извлекайте и фильтруйте комментарии к PR с помощью инструмента get_comments

  • 🔍 Поиск проектов: Получайте список всех доступных проектов Bitbucket с помощью list_projects

  • 📁 Просмотр репозиториев: Исследуйте репозитории в разных проектах с помощью list_repositories

  • 🔧 Гибкая поддержка проектов: Сделайте проект по умолчанию необязательным — указывайте его для каждой команды или используйте BITBUCKET_DEFAULT_PROJECT

  • 📖 Улучшенная документация: Обновленный README с примерами использования и лучшими рекомендациями по настройке

Related MCP server: Bitbucket MCP Server

Требования

  • Node.js >= 16

Установка

Установка через Smithery

Чтобы автоматически установить Bitbucket Server для Claude Desktop через Smithery:

npx -y @smithery/cli install @garc33/bitbucket-server-mcp-server --client claude

Ручная установка

npm install

Сборка

npm run build

Возможности

Сервер предоставляет следующие инструменты для комплексной интеграции с Bitbucket Server:

list_projects

Обнаружение и исследование проектов Bitbucket: Выводит список всех доступных проектов с их деталями. Необходим для поиска проектов и определения правильных ключей проектов для использования в других операциях.

Варианты использования:

  • Поиск доступных проектов, когда вы не знаете точный ключ проекта

  • Изучение структуры проекта и прав доступа

  • Обнаружение новых проектов, к которым у вас есть доступ

Параметры:

  • limit: Количество возвращаемых проектов (по умолчанию: 25, макс: 1000)

  • start: Начальный индекс для пагинации (по умолчанию: 0)

list_repositories

Просмотр и поиск репозиториев: Исследуйте репозитории в конкретных проектах или во всех доступных проектах. Возвращает полную информацию о репозитории, включая URL-адреса для клонирования и метаданные.

Варианты использования:

  • Поиск слагов (slugs) репозиториев для других операций

  • Изучение структуры кодовой базы в разных проектах

  • Обнаружение репозиториев, к которым у вас есть доступ

  • Просмотр репозиториев конкретного проекта

Параметры:

  • project: Ключ проекта Bitbucket (необязательно, если не указан, используется BITBUCKET_DEFAULT_PROJECT)

  • limit: Количество возвращаемых репозиториев (по умолчанию: 25, макс: 1000)

  • start: Начальный индекс для пагинации (по умолчанию: 0)

create_pull_request

Предложение изменений кода для рецензирования: Создает новый pull request для отправки изменений кода, запроса рецензий или слияния веток с функциями. Автоматически обрабатывает ссылки на ветки и назначение рецензентов.

Варианты использования:

  • Отправка разработки функций на рецензию

  • Предложение исправлений ошибок

  • Запрос интеграции кода из веток функций

  • Совместная работа над изменениями кода

Параметры:

  • project: Ключ проекта Bitbucket (необязательно, если не указан, используется BITBUCKET_DEFAULT_PROJECT)

  • repository (обязательно): Слаг репозитория

  • title (обязательно): Четкий, описательный заголовок PR

  • description: Подробное описание с контекстом (поддерживает Markdown)

  • sourceBranch (обязательно): Исходная ветка, содержащая изменения

  • targetBranch (обязательно): Целевая ветка для слияния

  • reviewers: Массив имен пользователей рецензентов

  • sourceProject: Ключ проекта исходного репозитория (для кросс-репозиторных PR из форков)

  • sourceRepository: Слаг исходного репозитория (для кросс-репозиторных PR из форков)

  • includeDefaultReviewers: Автоматически находить и включать рецензентов по умолчанию, настроенных для целевой ветки (по умолчанию: true)

update_pull_request

Безопасное обновление pull request'а: Изменяйте заголовок, описание или рецензентов существующего pull request'а без потери метаданных. Использует шаблон «чтение-модификация-запись» для сохранения всех полей, которые не были явно изменены.

Варианты использования:

  • Исправление заголовка или описания PR после создания

  • Добавление или замена рецензентов без потери существующих

  • Обновление метаданных PR без влияния на статус одобрения

Параметры:

  • project: Ключ проекта Bitbucket (необязательно, если не указан, используется BITBUCKET_DEFAULT_PROJECT)

  • repository (обязательно): Слаг репозитория

  • prId (обязательно): ID pull request'а для обновления

  • title: Новый заголовок (если пропущено, сохраняется текущий)

  • description: Новое описание (если пропущено, сохраняется текущее)

  • reviewers: Новый список рецензентов в виде массива имен пользователей (если пропущено, сохраняются текущие рецензенты)

get_pull_request

Полная информация о PR: Получает подробную информацию о pull request'е, включая статус, рецензентов, коммиты и все метаданные. Необходим для понимания состояния PR перед выполнением действий.

Варианты использования:

  • Проверка статуса одобрения PR

  • Просмотр деталей и прогресса PR

  • Понимание изменений перед слиянием

  • Мониторинг статуса PR

Параметры:

  • project: Ключ проекта Bitbucket (необязательно, если не указан, используется BITBUCKET_DEFAULT_PROJECT)

  • repository (обязательно): Слаг репозитория

  • prId (обязательно): ID pull request'а

merge_pull_request

Интеграция одобренных изменений: Сливает одобренный pull request в целевую ветку. Поддерживает различные стратегии слияния в зависимости от ваших предпочтений в рабочем процессе.

Варианты использования:

  • Завершение процесса рецензирования кода

  • Интеграция одобренных функций

  • Применение исправлений ошибок в основные ветки

  • Выпуск изменений кода

Параметры:

  • project: Ключ проекта Bitbucket (необязательно, если не указан, используется BITBUCKET_DEFAULT_PROJECT)

  • repository (обязательно): Слаг репозитория

  • prId (обязательно): ID pull request'а

  • message: Пользовательское сообщение коммита слияния

  • strategy: Стратегия слияния:

    • merge-commit (по умолчанию): Создает коммит слияния, сохраняя историю

    • squash: Объединяет все коммиты в один

    • fast-forward: Перемещает указатель ветки без создания коммита слияния

decline_pull_request

Отклонение неподходящих изменений: Отклоняет pull request, который не должен быть слит, предоставляя обратную связь автору.

Варианты использования:

  • Отклонение изменений, не соответствующих стандартам

  • Закрытие PR, конфликтующих с направлением проекта

  • Запрос значительной доработки

  • Предотвращение нежелательной интеграции кода

Параметры:

  • project: Ключ проекта Bitbucket (необязательно, если не указан, используется BITBUCKET_DEFAULT_PROJECT)

  • repository (обязательно): Слаг репозитория

  • prId (обязательно): ID pull request'а

  • message: Причина отклонения (полезно для обратной связи автору)

add_comment

Участие в рецензировании кода: Добавляет комментарии к pull request'ам для обратной связи, обсуждений и совместной работы. Поддерживает вложенные обсуждения.

Варианты использования:

  • Предоставление обратной связи по рецензии кода

  • Задание вопросов о конкретных изменениях

  • Предложение улучшений

  • Участие в технических дискуссиях

  • Документирование решений по рецензированию

Параметры:

  • project: Ключ проекта Bitbucket (необязательно, если не указан, используется BITBUCKET_DEFAULT_PROJECT)

  • repository (обязательно): Слаг репозитория

  • prId (обязательно): ID pull request'а

  • text (обязательно): Содержимое комментария (поддерживает Markdown)

  • parentId: ID родительского комментария для вложенных ответов

  • state: Состояние комментария: OPEN (по умолчанию, публикуется немедленно) или PENDING (черновик, виден только вам до публикации рецензии)

get_diff

Анализ изменений кода: Получает различия в коде, показывая точно, что было добавлено, удалено или изменено в pull request'е. Поддерживает усечение для каждого файла, чтобы эффективно управлять большими diff'ами.

Варианты использования:

  • Рецензирование конкретных изменений кода

  • Понимание объема модификаций

  • Анализ влияния перед слиянием

  • Изучение деталей реализации

  • Оценка качества кода

  • Обработка больших файлов без перегрузки вывода

Параметры:

  • project: Ключ проекта Bitbucket (необязательно, если не указан, используется BITBUCKET_DEFAULT_PROJECT)

  • repository (обязательно): Слаг репозитория

  • prId (обязательно): ID pull request'а

  • contextLines: Строки контекста вокруг изменений (по умолчанию: 10)

  • maxLinesPerFile: Максимальное количество строк для отображения на файл (необязательно, если не указано, используется переменная окружения BITBUCKET_DIFF_MAX_LINES_PER_FILE, установите 0 для отсутствия ограничений)

Обработка больших файлов: Когда файл превышает лимит maxLinesPerFile, отображается:

  • Заголовки файлов и метаданные (всегда сохраняются)

  • Первые 60% разрешенных строк с начала

  • Сообщение об усечении со статистикой файла

  • Последние 40% разрешенных строк с конца

  • Четкое указание, как увидеть полный diff

get_reviews

Отслеживание прогресса рецензирования: Получает историю рецензирования, статус одобрения и обратную связь рецензентов, чтобы понять состояние рецензии.

Варианты использования:

  • Проверка готовности PR к слиянию

  • Просмотр того, кто рецензировал изменения

  • Понимание обратной связи по рецензии

  • Мониторинг требований к одобрению

  • Отслеживание прогресса рецензирования

get_activities

Получение активности pull request'а: Получает полную временную шкалу активности для pull request'а, включая комментарии, рецензии, коммиты и другие события.

Варианты использования:

  • Чтение обсуждений комментариев и обратной связи

  • Просмотр полной временной шкалы PR

  • Отслеживание коммитов, добавленных/удаленных из PR

  • Просмотр истории одобрений и рецензий

  • Понимание полного жизненного цикла PR

Параметры:

  • project: Ключ проекта Bitbucket (необязательно, если не указан, используется BITBUCKET_DEFAULT_PROJECT)

  • repository (обязательно): Слаг репозитория

  • prId (обязательно): ID pull request'а

get_comments

Извлечение только комментариев PR: Фильтрует активность pull request'а, возвращая только комментарии, что упрощает фокусировку на содержании обсуждения без рецензий или других действий.

Варианты использования:

  • Чтение веток обсуждения PR

  • Извлечение обратной связи и вопросов

  • Фокусировка на содержании комментариев без лишнего шума

  • Анализ потока разговора

Параметры:

  • project: Ключ проекта Bitbucket (необязательно, если не указан, используется BITBUCKET_DEFAULT_PROJECT)

  • repository (обязательно): Слаг репозитория

  • prId (обязательно): ID pull request'а

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

Варианты использования:

  • Поиск конкретных шаблонов кода в проектах

  • Поиск файлов по имени или содержимому

  • Поиск в конкретных проектах или репозиториях

  • Фильтрация по расширениям файлов

Параметры:

  • query (обязательно): Строка поискового запроса

  • project: Ключ проекта Bitbucket для ограничения области поиска

  • repository: Слаг репозитория для поиска в конкретном репозитории

  • type: Оптимизация запроса — "file" (за

Available Tools

28 tools
add_commentB

Add a comment to a pull request for code review, feedback, questions, or discussion. Use this to provide review feedback, ask questions about specific changes, suggest improvements, or participate in code review discussions. Supports threaded conversations.

Inputs: prId (required), text (required), repository (required), state, +3 more.

add_comment_inlineB

Add an inline comment (to specific lines) to the diff of a pull request for code review, feedback, questions, or discussion. Use this to provide review feedback, ask questions about specific changes, suggest improvements, or participate in code review discussions. Supports threaded conversations.

Inputs: line (required), prId (required), text (required), filePath (required), +6 more.

approve_pull_requestA

Approve a pull request as the current user. Use this to signal that you have reviewed the changes and they are ready to be merged. The approval is recorded with your user identity.

Inputs: prId (required), repository (required), project.

browse_repositoryA

Browse and list files and directories in a Bitbucket repository. Use this to explore repository structure, find files, or navigate directories.

Inputs: repository (required), path, limit, branch, +1 more.

create_pull_requestA

Create a new pull request to propose code changes, request reviews, or merge feature branches. Use this when you want to submit code for review, merge a feature branch, or contribute changes to a repository. Automatically sets up branch references and can assign reviewers.

Inputs: title (required), repository (required), sourceBranch (required), targetBranch (required), +6 more.

decline_pull_requestA

Decline or reject a pull request that should not be merged. Use this when changes are not acceptable, conflicts with project direction, or when the PR needs significant rework. This closes the PR without merging.

Inputs: prId (required), repository (required), message, project.

delete_branchA

Delete a branch from a Bitbucket repository. Cannot delete the default branch. Use this for cleanup after merging pull requests or removing stale feature branches.

Inputs: branch (required), repository (required), project.

delete_commentA

Delete a comment from a pull request. Requires the comment version for optimistic locking.

Inputs: prId (required), version (required), commentId (required), repository (required), +1 more.

edit_commentA

Edit an existing comment on a pull request. Use this to fix typos, update information, or reformat comments. Requires the comment version for optimistic locking.

Inputs: prId (required), text (required), version (required), commentId (required), +3 more.

get_activitiesB

Retrieve all activities for a pull request including comments, reviews, commits, and other timeline events. Use this to get the complete activity history and timeline of the pull request.

Inputs: prId (required), repository (required), limit, start, +2 more.

get_build_statusA

Get build states and CI build URLs (including Jenkins links) for a commit using the authenticated Bitbucket connection. Use the pull request fromRef.latestCommit as commitHash. Returns a paginated list; an empty list means no build statuses are recorded, not a successful build.

Inputs: commitHash (required), limit, start.

get_code_insightsA

Retrieve Code Insights reports (SonarQube, security scans, etc.) and their annotations for a pull request. Use this to check quality gates, code coverage, security findings, and other CI/CD analysis results.

Inputs: prId (required), repository (required), project.

get_commentsA

Retrieve only the comments from a pull request. Use this when you specifically want to read the discussion and feedback comments without other activities like reviews or commits.

Inputs: prId (required), repository (required), limit, start, +2 more.

get_dashboard_pull_requestsA

List pull requests across all repositories for the authenticated user. Use this to see PRs you need to review, PRs you authored, or PRs you are participating in. Returns PRs from all projects and repositories without needing to specify each one.

Inputs: role, limit, order, start, +3 more.

get_diffA

Retrieve the code differences (diff) for a pull request showing what lines were added, removed, or modified. Use this to understand the scope of changes, review specific code modifications, or analyze the impact of proposed changes before merging.

Inputs: prId (required), repository (required), project, contextLines, +1 more.

get_file_contentA

Retrieve the content of a specific file from a Bitbucket repository with pagination support. Use this to read source code, configuration files, documentation, or any text-based files. For large files, use start parameter to paginate through content.

Inputs: filePath (required), repository (required), limit, start, +2 more.

get_pull_requestA

Retrieve comprehensive details about a specific pull request including status, reviewers, commits, and metadata. Use this to check PR status, review progress, understand changes, or gather information before performing actions like merging or commenting.

Inputs: prId (required), repository (required), project.

get_reviewsA

Fetch the review history and approval status of a pull request. Use this to check who has reviewed the PR, see approval status, understand review feedback, or determine if the PR is ready for merging based on review requirements.

Inputs: prId (required), repository (required), limit, start, +2 more.

list_branchesA

List branches in a Bitbucket repository. Shows branch names, latest commits, and identifies the default branch. Use this to explore available branches, find branch names for checkout or PR creation, or verify branch existence before operations.

Inputs: repository (required), limit, start, project, +1 more.

list_commitsA

List commits in a Bitbucket repository, optionally filtered by branch and/or author. Use this to review commit history, find specific changes, track contributions, or understand the evolution of a branch.

Inputs: repository (required), limit, start, author, +2 more.

list_projectsA

Discover and list all Bitbucket projects you have access to. Use this first to explore available projects, find project keys, or when you need to work with a specific project but don't know its exact key. Returns project keys, names, descriptions and visibility settings.

Inputs: limit, start.

list_pull_requestsA

List pull requests in a Bitbucket repository filtered by state, author, or direction. Use this to find open PRs, see your pending reviews, discover PRs awaiting merge, or get an overview of PR activity in a repository.

Inputs: repository (required), limit, start, state, +3 more.

list_repositoriesB

Browse and discover repositories within a specific project or across all accessible projects. Use this to find repository slugs, explore codebases, or understand the repository structure. Returns repository names, slugs, clone URLs, and project associations.

Inputs: limit, start, project.

merge_pull_requestA

Merge an approved pull request into the target branch. Use this when a PR has been reviewed, approved, and is ready to be integrated. Choose the appropriate merge strategy based on your team's workflow and repository history preferences.

Inputs: prId (required), repository (required), message, project, +1 more.

publish_reviewA

Publish all pending (draft) review comments on a pull request at once. Optionally set your review status to APPROVED or NEEDS_WORK, and add an overview comment. This is the batch operation that transitions all PENDING comments to published.

Inputs: prId (required), repository (required), project, commentText, +1 more.

unapprove_pull_requestA

Remove your approval from a pull request. Use this to retract a previous approval if you discover issues after approving or if the PR has changed since your review.

Inputs: prId (required), repository (required), project.

update_pull_requestA

Update an existing pull request title, description, or reviewers. Safely preserves all fields not explicitly changed (uses read-modify-write to avoid losing reviewers or other metadata).

Inputs: prId (required), repository (required), title, project, +2 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 28 tools

    Disambiguation4/5

    Most tools target distinct resources and actions, and descriptions clearly separate near-neighbors like add_comment vs add_comment_inline and get_activities vs get_comments/get_reviews. The timeline tools still overlap somewhat since get_activities returns comments and reviews as well, but the distinctions are understandable.

    Naming Consistency4/5

    Almost all tools follow snake_case verb_noun naming (create_pull_request, get_diff, delete_branch, etc.). Minor deviations like the bare 'search' and 'browse_repository' versus 'list_repositories' are noticeable but do not undermine readability.

    Tool Count3/5

    At 28 tools this is heavy for a single MCP server, even one covering Bitbucket. Many operations are genuinely useful, but some could be consolidated or made more narrowly scoped, making the surface feel borderline oversized.

    Completeness4/5

    The PR lifecycle, commenting, reviews, repo browsing, search, branches, commits, builds, and Code Insights are well covered. Gaps remain around branch creation and broader repository/project administration, but core agent workflows have no dead ends.

    Maintenance

    ActivityMaintained
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      An MCP server that provides tools for interacting with the Bitbucket API, supporting both Bitbucket Cloud and Bitbucket Server, enabling pull request, branch, file, code review, and search operations.
      19
      8,411 npm
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      MCP server for Bitbucket Server integration, enabling project, repository, pull request, source code, branch, and code review operations via the Bitbucket Server APIs.
      27
      89 npm
      MIT