Skip to main content
Glama
Bitbucket Server MCP

Bitbucket Server MCP

by garc33

Bitbucket Server MCP

MCP-Server (Model Context Protocol) für das Bitbucket Server Pull Request Management. Dieser Server stellt Tools und Ressourcen bereit, um über das MCP-Protokoll mit der Bitbucket Server API zu interagieren.

✨ Neue Funktionen

  • 🔧 Benutzerdefinierte HTTP-Header: Fügen Sie allen Anfragen über die Umgebungsvariable BITBUCKET_CUSTOM_HEADERS benutzerdefinierte Header hinzu (nützlich für Zero-Trust-Token oder Proxys)

  • 📋 PR-Erkennung: Listen und filtern Sie Pull Requests nach Status, Autor oder Richtung mit list_pull_requests (behebt #14)

  • 🌿 Branch-Management: Listen Sie Branches mit Standard-Branch-Erkennung über list_branches auf, löschen Sie zusammengeführte Branches mit delete_branch

  • 📝 Commit-Verlauf: Durchsuchen Sie den Commit-Verlauf mit Branch- und Autor-Filterung über list_commits

  • ✅ PR-Genehmigung: Genehmigen und widerrufen Sie Pull Requests mit approve_pull_request und unapprove_pull_request

  • 🔍 Erweiterte Suche: Durchsuchen Sie Code und Dateien in Repositories mit Projekt-/Repository-Filterung über das search-Tool

  • 📄 Dateioperationen: Lesen Sie Dateiinhalte und durchsuchen Sie Repository-Verzeichnisse mit get_file_content und browse_repository

  • 💬 Kommentarverwaltung: Extrahieren und filtern Sie PR-Kommentare mit dem get_comments-Tool

  • 🔍 Projekterkennung: Listen Sie alle zugänglichen Bitbucket-Projekte mit list_projects auf

  • 📁 Repository-Durchsuchung: Erkunden Sie Repositories über Projekte hinweg mit list_repositories

  • 🔧 Flexible Projektunterstützung: Machen Sie das Standardprojekt optional – geben Sie es pro Befehl an oder verwenden Sie BITBUCKET_DEFAULT_PROJECT

  • 📖 Verbesserte Dokumentation: Verbesserte README mit Anwendungsbeispielen und besserer Konfigurationsanleitung

Related MCP server: Bitbucket MCP Server

Anforderungen

  • Node.js >= 16

Installation

Installation via Smithery

Um Bitbucket Server automatisch für Claude Desktop über Smithery zu installieren:

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

Manuelle Installation

npm install

Build

npm run build

Funktionen

Der Server bietet die folgenden Tools für eine umfassende Bitbucket Server-Integration:

list_projects

Bitbucket-Projekte entdecken und erkunden: Listet alle zugänglichen Projekte mit ihren Details auf. Unverzichtbar für die Projekterkennung und das Finden der korrekten Projektschlüssel für andere Vorgänge.

Anwendungsfälle:

  • Verfügbare Projekte finden, wenn der genaue Projektschlüssel nicht bekannt ist

  • Projektstruktur und Berechtigungen erkunden

  • Neue Projekte entdecken, auf die Sie Zugriff haben

Parameter:

  • limit: Anzahl der zurückzugebenden Projekte (Standard: 25, max: 1000)

  • start: Startindex für die Paginierung (Standard: 0)

list_repositories

Repositories durchsuchen und entdecken: Erkunden Sie Repositories innerhalb bestimmter Projekte oder über alle zugänglichen Projekte hinweg. Gibt umfassende Repository-Informationen zurück, einschließlich Klon-URLs und Metadaten.

Anwendungsfälle:

  • Repository-Slugs für andere Vorgänge finden

  • Codebasis-Struktur über Projekte hinweg erkunden

  • Repositories entdecken, auf die Sie Zugriff haben

  • Repositories eines bestimmten Projekts durchsuchen

Parameter:

  • project: Bitbucket-Projektschlüssel (optional, verwendet BITBUCKET_DEFAULT_PROJECT, falls nicht angegeben)

  • limit: Anzahl der zurückzugebenden Repositories (Standard: 25, max: 1000)

  • start: Startindex für die Paginierung (Standard: 0)

create_pull_request

Codeänderungen zur Überprüfung vorschlagen: Erstellt einen neuen Pull Request, um Codeänderungen einzureichen, Überprüfungen anzufordern oder Feature-Branches zusammenzuführen. Handhabt automatisch Branch-Referenzen und Zuweisungen von Reviewern.

Anwendungsfälle:

  • Feature-Entwicklung zur Überprüfung einreichen

  • Fehlerbehebungen vorschlagen

  • Code-Integration aus Feature-Branches anfordern

  • An Codeänderungen zusammenarbeiten

Parameter:

  • project: Bitbucket-Projektschlüssel (optional, verwendet BITBUCKET_DEFAULT_PROJECT, falls nicht angegeben)

  • repository (erforderlich): Repository-Slug

  • title (erforderlich): Klarer, beschreibender PR-Titel

  • description: Detaillierte Beschreibung mit Kontext (unterstützt Markdown)

  • sourceBranch (erforderlich): Quell-Branch mit den Änderungen

  • targetBranch (erforderlich): Ziel-Branch für die Zusammenführung

  • reviewers: Array von Reviewer-Benutzernamen

  • sourceProject: Projektschlüssel des Quell-Repositorys (für Cross-Repo-PRs aus Forks)

  • sourceRepository: Slug des Quell-Repositorys (für Cross-Repo-PRs aus Forks)

  • includeDefaultReviewers: Automatisch die für den Ziel-Branch konfigurierten Standard-Reviewer abrufen und einbeziehen (Standard: true)

update_pull_request

Einen Pull Request sicher aktualisieren: Ändern Sie den Titel, die Beschreibung oder die Reviewer eines bestehenden Pull Requests, ohne Metadaten zu verlieren. Verwendet ein Read-Modify-Write-Muster, um alle Felder zu bewahren, die nicht explizit geändert wurden.

Anwendungsfälle:

  • PR-Titel oder -Beschreibung nach der Erstellung korrigieren

  • Reviewer hinzufügen oder ersetzen, ohne bestehende zu verlieren

  • PR-Metadaten aktualisieren, ohne den Genehmigungsstatus zu beeinflussen

Parameter:

  • project: Bitbucket-Projektschlüssel (optional, verwendet BITBUCKET_DEFAULT_PROJECT, falls nicht angegeben)

  • repository (erforderlich): Repository-Slug

  • prId (erforderlich): Zu aktualisierende Pull-Request-ID

  • title: Neuer Titel (falls weggelassen, bleibt der aktuelle Titel erhalten)

  • description: Neue Beschreibung (falls weggelassen, bleibt die aktuelle Beschreibung erhalten)

  • reviewers: Neue Reviewer-Liste als Array von Benutzernamen (falls weggelassen, bleiben die aktuellen Reviewer erhalten)

get_pull_request

Umfassende PR-Informationen: Ruft detaillierte Pull-Request-Informationen ab, einschließlich Status, Reviewer, Commits und aller Metadaten. Unverzichtbar, um den PR-Status vor Aktionen zu verstehen.

Anwendungsfälle:

  • PR-Genehmigungsstatus prüfen

  • PR-Details und Fortschritt überprüfen

  • Änderungen vor dem Zusammenführen verstehen

  • PR-Status überwachen

Parameter:

  • project: Bitbucket-Projektschlüssel (optional, verwendet BITBUCKET_DEFAULT_PROJECT, falls nicht angegeben)

  • repository (erforderlich): Repository-Slug

  • prId (erforderlich): Pull-Request-ID

merge_pull_request

Genehmigte Änderungen integrieren: Führt einen genehmigten Pull Request in den Ziel-Branch zusammen. Unterstützt verschiedene Zusammenführungsstrategien basierend auf Ihren Workflow-Präferenzen.

Anwendungsfälle:

  • Code-Review-Prozess abschließen

  • Genehmigte Features integrieren

  • Fehlerbehebungen auf Haupt-Branches anwenden

  • Codeänderungen veröffentlichen

Parameter:

  • project: Bitbucket-Projektschlüssel (optional, verwendet BITBUCKET_DEFAULT_PROJECT, falls nicht angegeben)

  • repository (erforderlich): Repository-Slug

  • prId (erforderlich): Pull-Request-ID

  • message: Benutzerdefinierte Merge-Commit-Nachricht

  • strategy: Merge-Strategie:

    • merge-commit (Standard): Erstellt einen Merge-Commit unter Beibehaltung der Historie

    • squash: Kombiniert alle Commits zu einem

    • fast-forward: Verschiebt den Branch-Zeiger ohne Merge-Commit

decline_pull_request

Ungeeignete Änderungen ablehnen: Lehnt einen Pull Request ab, der nicht zusammengeführt werden sollte, und gibt dem Autor Feedback.

Anwendungsfälle:

  • Änderungen ablehnen, die Standards nicht erfüllen

  • PRs schließen, die der Projektrichtung widersprechen

  • Wesentliche Überarbeitung anfordern

  • Unerwünschte Code-Integration verhindern

Parameter:

  • project: Bitbucket-Projektschlüssel (optional, verwendet BITBUCKET_DEFAULT_PROJECT, falls nicht angegeben)

  • repository (erforderlich): Repository-Slug

  • prId (erforderlich): Pull-Request-ID

  • message: Grund für die Ablehnung (hilfreich für Feedback an den Autor)

add_comment

Am Code-Review teilnehmen: Fügt Kommentare zu Pull Requests für Review-Feedback, Diskussionen und Zusammenarbeit hinzu. Unterstützt Thread-Konversationen.

Anwendungsfälle:

  • Feedback zum Code-Review geben

  • Fragen zu spezifischen Änderungen stellen

  • Verbesserungen vorschlagen

  • An technischen Diskussionen teilnehmen

  • Review-Entscheidungen dokumentieren

Parameter:

  • project: Bitbucket-Projektschlüssel (optional, verwendet BITBUCKET_DEFAULT_PROJECT, falls nicht angegeben)

  • repository (erforderlich): Repository-Slug

  • prId (erforderlich): Pull-Request-ID

  • text (erforderlich): Kommentarinhalt (unterstützt Markdown)

  • parentId: Übergeordnete Kommentar-ID für Thread-Antworten

  • state: Kommentarstatus: OPEN (Standard, sofort veröffentlicht) oder PENDING (Entwurf, nur für Sie sichtbar, bis das Review veröffentlicht wird)

get_diff

Codeänderungen analysieren: Ruft die Code-Unterschiede ab und zeigt genau, was im Pull Request hinzugefügt, entfernt oder geändert wurde. Unterstützt die Kürzung pro Datei, um große Diffs effektiv zu verwalten.

Anwendungsfälle:

  • Spezifische Codeänderungen überprüfen

  • Umfang der Änderungen verstehen

  • Auswirkungen vor dem Zusammenführen analysieren

  • Implementierungsdetails untersuchen

  • Code-Qualitätsbewertung

  • Große Dateien handhaben, ohne die Ausgabe zu überlasten

Parameter:

  • project: Bitbucket-Projektschlüssel (optional, verwendet BITBUCKET_DEFAULT_PROJECT, falls nicht angegeben)

  • repository (erforderlich): Repository-Slug

  • prId (erforderlich): Pull-Request-ID

  • contextLines: Kontextzeilen um Änderungen (Standard: 10)

  • maxLinesPerFile: Maximale Zeilenanzahl pro Datei (optional, verwendet BITBUCKET_DIFF_MAX_LINES_PER_FILE Umgebungsvariable, falls nicht angegeben; auf 0 setzen für kein Limit)

Handhabung großer Dateien: Wenn eine Datei das maxLinesPerFile-Limit überschreitet, wird Folgendes angezeigt:

  • Datei-Header und Metadaten (immer beibehalten)

  • Erste 60% der erlaubten Zeilen vom Anfang

  • Kürzungsmeldung mit Dateistatistiken

  • Letzte 40% der erlaubten Zeilen vom Ende

  • Klare Angabe, wie der vollständige Diff angezeigt werden kann

get_reviews

Review-Fortschritt verfolgen: Ruft die Review-Historie, den Genehmigungsstatus und das Feedback der Reviewer ab, um den Review-Status zu verstehen.

Anwendungsfälle:

  • Prüfen, ob der PR bereit zum Zusammenführen ist

  • Sehen, wer die Änderungen überprüft hat

  • Review-Feedback verstehen

  • Genehmigungsanforderungen überwachen

  • Review-Fortschritt verfolgen

get_activities

Pull-Request-Aktivitäten abrufen: Ruft die vollständige Aktivitäts-Timeline für einen Pull Request ab, einschließlich Kommentaren, Reviews, Commits und anderen Ereignissen.

Anwendungsfälle:

  • Kommentardiskussionen und Feedback lesen

  • Die vollständige PR-Timeline überprüfen

  • Commits verfolgen, die zum PR hinzugefügt/entfernt wurden

  • Genehmigungs- und Review-Historie sehen

  • Den vollständigen PR-Lebenszyklus verstehen

Parameter:

  • project: Bitbucket-Projektschlüssel (optional, verwendet BITBUCKET_DEFAULT_PROJECT, falls nicht angegeben)

  • repository (erforderlich): Repository-Slug

  • prId (erforderlich): Pull-Request-ID

get_comments

Nur PR-Kommentare extrahieren: Filtert Pull-Request-Aktivitäten, um nur die Kommentare zurückzugeben, was es einfacher macht, sich auf den Diskussionsinhalt ohne Reviews oder andere Aktivitäten zu konzentrieren.

Anwendungsfälle:

  • PR-Diskussions-Threads lesen

  • Feedback und Fragen extrahieren

  • Auf Kommentarinhalt ohne Rauschen konzentrieren

  • Konversationsfluss analysieren

Parameter:

  • project: Bitbucket-Projektschlüssel (optional, verwendet BITBUCKET_DEFAULT_PROJECT, falls nicht angegeben)

  • repository (erforderlich): Repository-Slug

  • prId (erforderlich): Pull-Request-ID

Erweiterte Code- und Dateisuche: Durchsuchen Sie Repositories mit der Bitbucket-Such-API mit Unterstützung für Projekt-/Repository-Filterung und Abfrageoptimierung. Durchsucht sowohl Dateiinhalte als auch Dateinamen. Hinweis: Die Suche funktioniert nur auf dem Standard-Branch von Repositories.

Anwendungsfälle:

  • Spezifische Codemuster über Projekte hinweg finden

  • Dateien nach Name oder Inhalt lokalisieren

  • Innerhalb bestimmter Projekte oder Repositories suchen

  • Nach Dateiendungen filtern

Parameter:

  • query (erforderlich): Suchabfrage-String

  • project: Bitbucket-Projektschlüssel zur Begrenzung des Suchbereichs

  • repository: Repository-Slug für Repository-spezifische Suche

  • type: Abfrageoptimierung - "file" (setzt Abfrage in Anführungszeichen für exakte Dateinamenübereinstimmung) oder "code" (Standard-Suchverhalten)

  • limit: Anzahl der zurückzugebenden Ergebnisse (Standard: 25, max: 100)

  • start: Startindex für die Paginierung (Standard: 0)

Beispiele für Abfragesyntax:

  • "README.md" - Exakten Dateinamen finden

  • config ext:yml - Konfiguration in YAML-Dateien finden

  • function project:MYPROJECT - Nach "function" in einem bestimmten Projekt suchen

  • bug fix repo:PROJ/my-repo - In einem bestimmten Repository suchen

get_file_content

Dateiinhalte mit Paginierung lesen: Rufen Sie den Inhalt

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