本项目借助Model Context Protocol(MCP)协议,成功实现了与Bitbucket Pipeline的集成服务器。通过MCP协议,语言模型能够以统一的标准接口,与Bitbucket Pipeline进行高效交互,为相关开发工作提供了便利。
npm install
npm start
import { Client } from '@modelcontextprotocol/sdk/client';
import { ChildProcessTransport } from '@modelcontextprotocol/sdk/client/child-process';
async function main() {
const client = new Client({
transport: new ChildProcessTransport({
command: 'node',
args: ['dist/index.js'],
env: {
BITBUCKET_ACCESS_TOKEN: 'your_token',
BITBUCKET_WORKSPACE: 'your_workspace',
BITBUCKET_REPO_SLUG: 'your_repository'
}
})
});
const tools = await client.listTools();
console.log('Available tools:', tools);
const pipelines = await client.callTool('mcp_bitbucket_list_pipelines', { page: 1, pagelen: 5 });
console.log('Pipelines:', pipelines);
await client.close();
}
main().catch(console.error);
.
├── src/
│ ├── index.ts # 服务器入口文件
│ └── tools/
│ └── bitbucket-pipelines.ts # Bitbucket Pipeline 相关功能实现
├── package.json # 依赖管理及脚本配置
└── tsconfig.json # TypeScript 编译配置
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
echo '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' | docker exec -i bitbucket-pipelines-mcp_mcp-server-1 node dist/index.js
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
git checkout -b feature/nova-feature
)。git commit -am '添加新功能'
)。git push origin feature/nova-feature
)。