Bitbucket MCP
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.
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@latestInstalació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-mcpLuego 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-mcpConfiguración
Variables de entorno
Configure el servidor utilizando las siguientes variables de entorno:
Variable | Descripción | Requerido |
| URL base de Bitbucket (por ejemplo, " https://bitbucket.org/your-workspace ") | Sí |
| Su nombre de usuario de Bitbucket | Sí* |
| Tu contraseña de la aplicación Bitbucket | Sí* |
| Su token de acceso de Bitbucket (alternativa al nombre de usuario/contraseña) | No |
| 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
Inicie sesión en su cuenta de Bitbucket
Vaya a Configuración personal > Contraseñas de aplicaciones
Crea una nueva contraseña de aplicación con los siguientes permisos:
Repositorios: Leer
Solicitudes de extracción: lectura, escritura
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:
Cursor abierto
Vaya a Configuración > Extensiones
Haga clic en "Protocolo de contexto del modelo"
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"]
}Guardar la configuración
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 Bitbucketlimit(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 Bitbucketrepo_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 Bitbucketrepo_slug: Slug del repositoriostate(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 Bitbucketrepo_slug: Slug del repositoriotitle: Título de la solicitud de extraccióndescription: Descripción de la solicitud de extracciónsourceBranch: Nombre de la rama de origentargetBranch: Nombre de la rama de destinoreviewers(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 Bitbucketrepo_slug: Slug del repositoriopull_request_id: ID de solicitud de extracción
updatePullRequest
Actualiza una solicitud de extracción.
Parámetros:
workspace: nombre del espacio de trabajo de Bitbucketrepo_slug: Slug del repositoriopull_request_id: ID de solicitud de extracciónVarios 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 Bitbucketrepo_slug: Slug del repositoriopull_request_id: ID de solicitud de extracción
approvePullRequest
Aprueba una solicitud de extracción.
Parámetros:
workspace: nombre del espacio de trabajo de Bitbucketrepo_slug: Slug del repositoriopull_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 Bitbucketrepo_slug: Slug del repositoriopull_request_id: ID de solicitud de extracción
declinePullRequest
Rechaza una solicitud de extracción.
Parámetros:
workspace: nombre del espacio de trabajo de Bitbucketrepo_slug: Slug del repositoriopull_request_id: ID de solicitud de extracciónmessage(opcional): Motivo del rechazo
mergePullRequest
Fusiona una solicitud de extracción.
Parámetros:
workspace: nombre del espacio de trabajo de Bitbucketrepo_slug: Slug del repositoriopull_request_id: ID de solicitud de extracciónmessage(opcional): mensaje de confirmación de fusiónstrategy(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 Bitbucketrepo_slug: Slug del repositoriopull_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 Bitbucketrepo_slug: Slug del repositoriopull_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 Bitbucketrepo_slug: Slug del repositoriopull_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 Bitbucketrepo_slug: Slug del repositoriopull_request_id: ID de solicitud de extraccióncontent: Comentar contenidoinline(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 Bitbucketrepo_slug: Slug del repositoriopull_request_id: ID de solicitud de extraccióncomment_id: ID del comentario
updatePullRequestComment
Actualiza un comentario en una solicitud de extracción.
Parámetros:
workspace: nombre del espacio de trabajo de Bitbucketrepo_slug: Slug del repositoriopull_request_id: ID de solicitud de extraccióncomment_id: ID del comentariocontent: Contenido de comentarios actualizado
deletePullRequestComment
Elimina un comentario en una solicitud de extracción.
Parámetros:
workspace: nombre del espacio de trabajo de Bitbucketrepo_slug: Slug del repositoriopull_request_id: ID de solicitud de extraccióncomment_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 Bitbucketrepo_slug: Slug del repositoriopull_request_id: ID de solicitud de extraccióncomment_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 Bitbucketrepo_slug: Slug del repositoriopull_request_id: ID de solicitud de extraccióncomment_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 Bitbucketrepo_slug: Slug del repositoriopull_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 Bitbucketrepo_slug: Slug del repositoriopull_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 Bitbucketrepo_slug: Slug del repositoriopull_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 Bitbucketrepo_slug: Slug del repositoriopull_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 Bitbucketrepo_slug: Slug del repositoriopull_request_id: ID de solicitud de extraccióncontent: Contenido de la tareacomment(opcional): ID del comentario para asociar con la tareapending(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 Bitbucketrepo_slug: Slug del repositoriopull_request_id: ID de solicitud de extraccióntask_id: ID de la tarea
updatePullRequestTask
Actualiza una tarea en una solicitud de extracción.
Parámetros:
workspace: nombre del espacio de trabajo de Bitbucketrepo_slug: Slug del repositoriopull_request_id: ID de solicitud de extraccióntask_id: ID de la tareacontent(opcional): Contenido de la tarea actualizadostate(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 Bitbucketrepo_slug: Slug del repositoriopull_request_id: ID de solicitud de extraccióntask_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 Bitbucketrepo_slug: Slug del repositoriopull_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 Bitbucketrepo_slug: Slug del repositoriopull_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 devLicencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
Campo de golf
Available Tools
3 toolsgetPullRequestsD
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of pull requests to return | |
| repo_slug | Yes | Repository slug | |
| state | No | Pull request state | |
| workspace | Yes | Bitbucket workspace name |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| repo_slug | Yes | Repository slug | |
| workspace | Yes | Bitbucket workspace name |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of repositories to return | |
| workspace | No | Bitbucket workspace name |
TDQS
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.
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.
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.
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.
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.
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.
3 tool updates
v1.0.0- First observed
getPullRequests - First observed
getRepository - First observed
listRepositories
TDQS
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.
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.
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.
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
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
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
The Mercado Pago MCP Server implements the Model Context Protocol to provide AI agents and LLMs with access to Mercado Pago's APIs and tools within compatible development environments. It acts as an intermediary that translates Mercado Pago resources into executable functions (tools) that AI applications can invoke to perform actions and automate flows. The server simplifies integration, enables using documentation to implement or improve code, and optimizes operations through natural language interactions without manual implementations.
The Buildkite MCP server exposes Buildkite product data (pipelines, builds, jobs, and test data) to AI tools, editors, and agents through the Model Context Protocol. It provides capabilities including pipeline creation and management, build monitoring with specialized tools like 'wait_for_build', efficient log querying using Apache Parquet conversion and caching, and OAuth-based authentication for both read-write and read-only access to Buildkite's REST API.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn 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.195,23428MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol server that integrates Cursor IDE with Bitbucket Cloud, allowing developers to fetch repository information and commit data directly from their Bitbucket workspace.151024MIT
- AlicenseAqualityCmaintenanceEnables AI assistants to manage Bitbucket Cloud repositories, pull requests, branches, commits, pipelines, issues, and webhooks through the Model Context Protocol.8670MIT
- AlicenseCqualityBmaintenanceMCP server for integrating with Bitbucket Cloud and Server APIs, enabling AI assistants to interact with repositories, pull requests, pipelines, and more.59373MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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