Bitbucket Server MCP
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(обязательно): Четкий, описательный заголовок PRdescription: Подробное описание с контекстом (поддерживает 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'а
search
Расширенный поиск по коду и файлам: Поиск по репозиториям с использованием API поиска Bitbucket с поддержкой фильтрации по проекту/репозиторию и оптимизацией запросов. Ищет как содержимое файлов, так и имена файлов. Примечание: Поиск работает только в ветке по умолчанию репозиториев.
Варианты использования:
Поиск конкретных шаблонов кода в проектах
Поиск файлов по имени или содержимому
Поиск в конкретных проектах или репозиториях
Фильтрация по расширениям файлов
Параметры:
query(обязательно): Строка поискового запросаproject: Ключ проекта Bitbucket для ограничения области поискаrepository: Слаг репозитория для поиска в конкретном репозиторииtype: Оптимизация запроса — "file" (за
Available Tools
28 toolsadd_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.
searchA
Search for code or files across repositories. Use this to find specific code patterns, file names, or content within projects and repositories. Searches both file contents and filenames. Supports filtering by project, repository, and query optimization.
Inputs: query (required), type, limit, start, +2 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
Scored across 28 tools
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.
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.
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.
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
Related MCP Connectors
A MCP server built for developers enabling Git based project management with project and personal…
A Model Context Protocol (MCP) application for automated GitHub PR analysis and issue management.…
Create, deploy, and operate MCP servers directly from your GitHub repositories.
Read and write shared BitsWeave context, projects, tasks, and work sessions through MCP.
Related MCP Servers
- AlicenseBqualityCmaintenanceAn 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.208,411 npm30MIT
- AlicenseBqualityDmaintenanceAn 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.198,411 npmMIT
- AlicenseBqualityBmaintenanceMCP server for Bitbucket Server integration, enabling project, repository, pull request, source code, branch, and code review operations via the Bitbucket Server APIs.2789 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables interaction with Bitbucket Cloud REST API 2.0, supporting pull requests, pipelines, logs, and repository cloning through MCP tools.36 npmMIT