Skip to main content
Glama
MatanYemini

Bitbucket MCP

by MatanYemini

MCP de Bitbucket

Un servidor de Protocolo de Contexto de Modelo (MCP) para la integración con las API de Bitbucket Cloud y Server. Este servidor MCP permite que asistentes de IA como Cursor interactúen con sus repositorios de Bitbucket, solicitudes de extracción y otros recursos.

Seguridad ante todo

Este es un paquete seguro y responsable: no se utilizan operaciones DELETE, por lo que no hay riesgo de pérdida de datos. Cada solicitud de extracción se analiza con CodeQL para garantizar la seguridad del código.

CódigoQL Repositorio de GitHub Licencia: MIT versión npm

Related MCP server: Bitbucket MCP Server

Descripción general

Consulta el paquete oficial de npm. Este servidor implementa el estándar del Protocolo de Contexto de Modelo para proporcionar a los asistentes de IA acceso a los datos y operaciones de Bitbucket. Incluye herramientas para:

  • Listado y recuperación de repositorios

  • Obtener detalles del repositorio

  • Obteniendo solicitudes de extracción

  • Y más...

Instalación

Uso de NPX (recomendado)

La forma más sencilla de utilizar este servidor MCP es a través de NPX, que le permite ejecutarlo sin instalarlo globalmente:

# Run with environment variables
BITBUCKET_URL="https://bitbucket.org/your-workspace" \
BITBUCKET_USERNAME="your-username" \
BITBUCKET_PASSWORD="your-app-password" \
npx -y bitbucket-mcp@latest

Instalación manual

Alternativamente, puede instalarlo globalmente o como parte de su proyecto:

# Install globally
npm install -g bitbucket-mcp

# Or install in your project
npm install bitbucket-mcp

Luego ejecútalo con:

# 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

Configuración

Variables de entorno

Configure el servidor utilizando las siguientes variables de entorno:

Variable

Descripción

Requerido

BITBUCKET_URL

URL base de Bitbucket (por ejemplo, " https://bitbucket.org/your-workspace ")

BITBUCKET_USERNAME

Su nombre de usuario de Bitbucket

*

BITBUCKET_PASSWORD

Tu contraseña de la aplicación Bitbucket

*

BITBUCKET_TOKEN

Su token de acceso de Bitbucket (alternativa al nombre de usuario/contraseña)

No

BITBUCKET_WORKSPACE

Espacio de trabajo predeterminado que se utilizará cuando no se especifique

No

* Se debe proporcionar BITBUCKET_TOKEN o BITBUCKET_USERNAME y BITBUCKET_PASSWORD .

Crear una contraseña para la aplicación Bitbucket

  1. Inicie sesión en su cuenta de Bitbucket

  2. Vaya a Configuración personal > Contraseñas de aplicaciones

  3. Crea una nueva contraseña de aplicación con los siguientes permisos:

    • Repositorios: Leer

    • Solicitudes de extracción: lectura, escritura

  4. Copie la contraseña generada y úsela como la variable de entorno BITBUCKET_PASSWORD

Integración con Cursor

Para integrar este servidor MCP con Cursor:

  1. Cursor abierto

  2. Vaya a Configuración > Extensiones

  3. Haga clic en "Protocolo de contexto del modelo"

  4. Agregar una nueva configuración de 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"]
}
  1. Guardar la configuración

  2. Utilice el comando "/bitbucket" en Cursor para acceder a los repositorios de Bitbucket y a las solicitudes de extracción

Uso de una compilación local con cursor

Si está desarrollando localmente y desea probar sus cambios:

"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"]
}

Herramientas disponibles

Este servidor MCP proporciona herramientas para interactuar con repositorios de Bitbucket y solicitudes de extracción. A continuación, se muestra una lista completa de las operaciones disponibles:

Operaciones del repositorio

listRepositories

Enumera los repositorios en un espacio de trabajo.

Parámetros:

  • workspace (opcional): nombre del espacio de trabajo de Bitbucket

  • limit (opcional): Número máximo de repositorios a devolver

getRepository

Obtiene detalles de un repositorio específico.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

Operaciones de solicitud de extracción

getPullRequests

Obtiene solicitudes de extracción para un repositorio.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • state (opcional): estado de la solicitud de extracción ( OPEN , MERGED , DECLINED , SUPERSEDED )

  • limit (opcional): Número máximo de solicitudes de extracción para devolver

createPullRequest

Crea una nueva solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • title : Título de la solicitud de extracción

  • description : Descripción de la solicitud de extracción

  • sourceBranch : Nombre de la rama de origen

  • targetBranch : Nombre de la rama de destino

  • reviewers (opcional): Lista de nombres de usuario de los revisores

getPullRequest

Obtiene detalles de una solicitud de extracción específica.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

updatePullRequest

Actualiza una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

  • Varios parámetros de actualización opcionales (título, descripción, etc.)

getPullRequestActivity

Obtiene el registro de actividad de una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

approvePullRequest

Aprueba una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

unapprovePullRequest

Elimina una aprobación de una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

declinePullRequest

Rechaza una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

  • message (opcional): Motivo del rechazo

mergePullRequest

Fusiona una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

  • message (opcional): mensaje de confirmación de fusión

  • strategy (opcional): Estrategia de fusión ( merge-commit , squash , fast-forward )

requestChanges

Solicita cambios en una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

removeChangeRequest

Elimina una solicitud de cambio de una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

Operaciones de comentarios de solicitudes de extracción

getPullRequestComments

Enumera los comentarios sobre una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

createPullRequestComment

Crea un comentario en una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

  • content : Comentar contenido

  • inline (opcional): información de comentarios en línea

getPullRequestComment

Obtiene un comentario específico en una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

  • comment_id : ID del comentario

updatePullRequestComment

Actualiza un comentario en una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

  • comment_id : ID del comentario

  • content : Contenido de comentarios actualizado

deletePullRequestComment

Elimina un comentario en una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

  • comment_id : ID del comentario

resolveComment

Resuelve un hilo de comentarios en una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

  • comment_id : ID del comentario

reopenComment

Reabre un hilo de comentarios resuelto en una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

  • comment_id : ID del comentario

Operaciones de diferenciación de solicitudes de extracción

getPullRequestDiff

Obtiene la diferencia para una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

getPullRequestDiffStat

Obtiene las estadísticas de diferencias para una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

getPullRequestPatch

Obtiene el parche para una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

Operaciones de tareas de solicitud de extracción

getPullRequestTasks

Enumera las tareas en una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

createPullRequestTask

Crea una tarea en una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

  • content : Contenido de la tarea

  • comment (opcional): ID del comentario para asociar con la tarea

  • pending (opcional): si la tarea está pendiente

getPullRequestTask

Obtiene una tarea específica en una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

  • task_id : ID de la tarea

updatePullRequestTask

Actualiza una tarea en una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

  • task_id : ID de la tarea

  • content (opcional): Contenido de la tarea actualizado

  • state (opcional): Estado de la tarea actualizado

deletePullRequestTask

Elimina una tarea en una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

  • task_id : ID de la tarea

Otras operaciones de solicitud de extracción

getPullRequestCommits

Enumera las confirmaciones en una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

getPullRequestStatuses

Enumera los estados de confirmación para una solicitud de extracción.

Parámetros:

  • workspace : nombre del espacio de trabajo de Bitbucket

  • repo_slug : Slug del repositorio

  • pull_request_id : ID de solicitud de extracción

Desarrollo

Prerrequisitos

  • Node.js 18 o superior

  • npm o hilo

Configuración

# 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

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

Campo de golf

Available Tools

3 tools
getPullRequestsD
ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of pull requests to return
repo_slugYesRepository slug
stateNoPull request state
workspaceYesBitbucket workspace name

TDQS

D1/5.0
Behavior1/5

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.

Conciseness1/5

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.

Completeness1/5

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.

Parameters1/5

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.

Purpose1/5

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.

Usage Guidelines1/5

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
ParametersJSON Schema
NameRequiredDescriptionDefault
repo_slugYesRepository slug
workspaceYesBitbucket workspace name

TDQS

D1/5.0
Behavior1/5

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.

Conciseness1/5

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.

Completeness1/5

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.

Parameters1/5

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.

Purpose1/5

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.

Usage Guidelines1/5

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
ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of repositories to return
workspaceNoBitbucket workspace name

TDQS

D1/5.0
Behavior1/5

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.

Conciseness1/5

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.

Completeness1/5

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.

Parameters1/5

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.

Purpose1/5

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.

Usage Guidelines1/5

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.

  1. 3 tool updatesv1.0.0
    • First observedgetPullRequests
    • First observedgetRepository
    • First observedlistRepositories

TDQS

D1.6/5.0
Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count2/5

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.

Completeness1/5

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

ActivityInactive
ResponsivenessUnresponsive

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

Related MCP Servers

Latest Blog Posts

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