Sponsored by Deepsite.site

Bitbucket Pipelines MCP Server

Created By
ygorpinto8 months ago
Bitbucket Pipelines MCP is a Model Context Protocol (MCP) server that provides tools for interacting with Bitbucket Pipelines. This server implements the MCP standard, enabling language models like Claude to manage Bitbucket Pipelines through a standardized interface.
Content

Bitbucket Pipelines MCP Server

Um servidor MCP (Model Context Protocol) que fornece tools para interagir com o Bitbucket Pipelines. Este servidor implementa o padrão MCP e pode ser usado por modelos de linguagem como o Claude para gerenciar pipelines do Bitbucket.

Tools Disponíveis

1. mcp_bitbucket_list_pipelines

Lista pipelines com suporte a paginação.

Parâmetros:

{
  page?: number;    // Número da página (default: 1)
  pagelen?: number; // Itens por página (default: 10)
}

2. mcp_bitbucket_trigger_pipeline

Dispara um novo pipeline.

Parâmetros:

{
  target: {
    ref_type: string;   // Tipo de referência (ex: "branch", "tag")
    type: string;       // Tipo do alvo
    ref_name: string;   // Nome da referência (ex: "main", "develop")
    selector?: {        // Opcional
      type: string;
      pattern: string;
    }
  },
  variables?: Array<{   // Opcional
    key: string;
    value: string;
    secured?: boolean;
  }>
}

3. mcp_bitbucket_get_pipeline_status

Obtém o status de um pipeline específico.

Parâmetros:

{
  uuid: string;  // UUID do pipeline
}

4. mcp_bitbucket_stop_pipeline

Para a execução de um pipeline.

Parâmetros:

{
  uuid: string;  // UUID do pipeline
}

Configuração

Variáveis de Ambiente

Crie um arquivo .env com as seguintes variáveis:

# Obrigatórias
BITBUCKET_ACCESS_TOKEN=seu_token_aqui
BITBUCKET_WORKSPACE=seu_workspace
BITBUCKET_REPO_SLUG=seu_repositorio

# Opcionais
BITBUCKET_API_URL=https://api.bitbucket.org/2.0  # URL da API (default: https://api.bitbucket.org/2.0)

Instalação e Execução

Com Docker (Recomendado)

  1. Clone o repositório:
git clone [url-do-repositorio]
cd bitbucket-pipelines-mcp
  1. Configure as variáveis de ambiente:
cp .env.example .env
# Edite o arquivo .env com suas configurações
  1. Inicie o servidor:
docker-compose up -d
  1. Para verificar o status do servidor:
# Torne o script executável
chmod +x docker-mcp-test.js
# Execute o script
node docker-mcp-test.js
  1. Para interagir com o servidor usando o script cliente:
# Torne o script executável
chmod +x docker-mcp-client.js
# Execute o script
node docker-mcp-client.js
  1. Para interagir manualmente com o servidor:
# Exemplo de chamada direta
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"name":"Test Client","version":"1.0.0","protocolVersion":"0.3.0","capabilities":{},"clientInfo":{"name":"Test Client","version":"1.0.0"}}}' | docker exec -i bitbucket-pipelines-mcp_mcp-server_1 node dist/index.js

Instalação Local

  1. Clone o repositório:
git clone [url-do-repositorio]
cd bitbucket-pipelines-mcp
  1. Instale as dependências:
npm install
  1. Configure as variáveis de ambiente:
cp .env.example .env
# Edite o arquivo .env com suas configurações
  1. Compile o projeto:
npm run build
  1. Inicie o servidor:
npm start

Integração com o Cursor

Método 1: Editando o arquivo mcp.json diretamente (Recomendado)

A maneira mais direta e eficiente de integrar com o Cursor é editar o arquivo mcp.json principal:

  1. Certifique-se de que o servidor Docker MCP está rodando:
npm run docker:up
  1. Localize o arquivo mcp.json no diretório de configuração do Cursor:

    • Linux: ~/.cursor/mcp.json
    • macOS: ~/Library/Application Support/Cursor/mcp.json
    • Windows: %APPDATA%\Cursor\mcp.json
  2. Edite o arquivo mcp.json e adicione a seguinte configuração na seção principal:

"bitbucket-pipelines": {
  "command": "docker",
  "args": [
    "exec",
    "-i",
    "bitbucket-pipelines-mcp_mcp-server_1",
    "node",
    "dist/index.js"
  ]
}
  1. Salve o arquivo e reinicie o Cursor.

  2. Agora você pode usar as ferramentas do Bitbucket Pipelines diretamente no Cursor, chamando-as usando:

@bitbucket-pipelines

Método 2: Usando um arquivo de configuração separado

Para usar o Bitbucket Pipelines MCP diretamente no Cursor IDE, siga estas etapas:

  1. Certifique-se de que o servidor Docker MCP está rodando:
npm run docker:up
  1. Crie um arquivo mcp.config.json na raiz do projeto com o seguinte conteúdo:
{
  "name": "bitbucket-pipelines-mcp",
  "description": "Bitbucket Pipelines MCP Server para interagir com o Bitbucket Pipelines",
  "version": "1.0.0",
  "command": {
    "binary": "docker",
    "args": ["exec", "-i", "bitbucket-pipelines-mcp_mcp-server_1", "node", "dist/index.js"]
  },
  "tools": [
    {
      "name": "mcp_bitbucket_list_pipelines",
      "description": "Lista pipelines com suporte a paginação"
    },
    {
      "name": "mcp_bitbucket_trigger_pipeline",
      "description": "Dispara um novo pipeline"
    },
    {
      "name": "mcp_bitbucket_get_pipeline_status",
      "description": "Obtém o status de um pipeline específico"
    },
    {
      "name": "mcp_bitbucket_stop_pipeline",
      "description": "Para a execução de um pipeline"
    }
  ]
}
  1. Copie este arquivo para o diretório de configuração do Cursor:
# Para Linux
mkdir -p ~/.config/Cursor/mcp/
cp mcp.config.json ~/.config/Cursor/mcp/bitbucket-pipelines-mcp.json

# Para macOS
mkdir -p ~/Library/Application\ Support/Cursor/mcp/
cp mcp.config.json ~/Library/Application\ Support/Cursor/mcp/bitbucket-pipelines-mcp.json

# Para Windows
mkdir -p %AppData%\Cursor\mcp\
copy mcp.config.json %AppData%\Cursor\mcp\bitbucket-pipelines-mcp.json
  1. Reinicie o Cursor para aplicar as alterações.

  2. Agora você pode usar as ferramentas do Bitbucket Pipelines diretamente no Cursor, chamando-as com:

@modelcontextprotocol/bitbucket-pipelines-mcp
  1. Para acessar uma ferramenta específica, use:
@modelcontextprotocol/bitbucket-pipelines-mcp/mcp_bitbucket_list_pipelines

Uso com MCP

Este servidor implementa o Model Context Protocol (MCP), permitindo que modelos de linguagem interajam com o Bitbucket Pipelines. O servidor usa a interface StdioServerTransport, que permite a comunicação através do stdin/stdout.

Exemplo de uso com o SDK do MCP

import { Client } from '@modelcontextprotocol/sdk/client';
import { ChildProcessTransport } from '@modelcontextprotocol/sdk/client/child-process';

async function main() {
  // Inicializa o cliente MCP 
  const client = new Client({
    transport: new ChildProcessTransport({
      command: 'node',
      args: ['dist/index.js'],
      env: {
        BITBUCKET_ACCESS_TOKEN: 'seu_token',
        BITBUCKET_WORKSPACE: 'seu_workspace', 
        BITBUCKET_REPO_SLUG: 'seu_repositorio'
      }
    })
  });

  // Lista as ferramentas disponíveis
  const tools = await client.listTools();
  console.log('Ferramentas disponíveis:', tools);

  // Listar pipelines
  const pipelines = await client.callTool('mcp_bitbucket_list_pipelines', { page: 1, pagelen: 5 });
  console.log('Pipelines:', pipelines);

  // Fechar o cliente
  await client.close();
}

main().catch(console.error);

Desenvolvimento

Scripts Disponíveis

  • npm run build: Compila o projeto TypeScript
  • npm start: Inicia o servidor
  • npm run dev: Inicia o servidor em modo de desenvolvimento usando ts-node
  • npm test: Executa os testes

Estrutura do Projeto

.
├── src/
│   ├── index.ts                # Ponto de entrada do servidor MCP
│   └── tools/
│       └── bitbucket-pipelines.ts  # Implementação das tools MCP
├── package.json               # Dependências e scripts 
└── tsconfig.json              # Configuração do TypeScript

Implementando o Model Context Protocol

Este projeto utiliza o @modelcontextprotocol/sdk para implementar um servidor MCP. As principais características são:

  1. Comunicação via stdio: O servidor se comunica através de stdin/stdout, o que permite integração fácil com LLMs.
  2. Formato padrão de tools: Todas as ferramentas seguem o formato definido pelo protocolo MCP.
  3. Tratamento robusto de erros: O protocolo MCP padroniza como os erros são comunicados ao cliente.

Contribuindo

  1. Faça um fork do projeto
  2. Crie uma branch para sua feature (git checkout -b feature/nova-feature)
  3. Commit suas mudanças (git commit -am 'Adiciona nova feature')
  4. Push para a branch (git push origin feature/nova-feature)
  5. Crie um Pull Request

Testando com Comandos Diretos

Você pode testar o servidor manualmente usando os seguintes comandos:

Inicialização

echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"name":"Test Client","version":"1.0.0","protocolVersion":"0.3.0","capabilities":{},"clientInfo":{"name":"Test Client","version":"1.0.0"}}}' | docker exec -i bitbucket-pipelines-mcp_mcp-server_1 node dist/index.js

Listar Ferramentas

echo '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' | docker exec -i bitbucket-pipelines-mcp_mcp-server_1 node dist/index.js

Chamar uma Ferramenta

echo '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"mcp_bitbucket_list_pipelines","input":{"page":1,"pagelen":5}}}' | docker exec -i bitbucket-pipelines-mcp_mcp-server_1 node dist/index.js
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
DeepChatYour AI Partner on Desktop
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Amap Maps高德地图官方 MCP Server
WindsurfThe new purpose-built IDE to harness magic
ChatWiseThe second fastest AI chatbot™
CursorThe AI Code Editor
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Tavily Mcp
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
Playwright McpPlaywright MCP server
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
Serper MCP ServerA Serper MCP Server