Bitbucket Pipelines MCP Server

Bitbucket Pipelines MCP Server

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.

ygorpinto

Developer Tools
Visit Server

README

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
MCP Package Docs Server

MCP Package Docs Server

Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.

Featured
Local
TypeScript
Claude Code MCP

Claude Code MCP

An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.

Featured
Local
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.

Featured
Local
JavaScript
Linear MCP Server

Linear MCP Server

Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.

Featured
JavaScript
mermaid-mcp-server

mermaid-mcp-server

A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.

Featured
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP server to provide Jira Tickets information to AI coding agents like Cursor

Featured
TypeScript
Linear MCP Server

Linear MCP Server

A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Featured
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Featured
Python