Bitbucker服务器协议

Stash MCP是一款专业的Bitbucket服务器/数据中心模型上下文协议服务器,提供项目发现、代码库浏览、拉取请求工作流和代码搜索等高信号工具。

  • by schwarztim
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 schwarztim/stash-mcp

使用说明

发霉的MCP

Bitbucket服务器/数据中心(前身为Stash)的专业MCP(模型上下文协议)服务器。它为项目发现、存储库浏览、拉取请求工作流和代码搜索提供了高信号工具。

特性

  • 项目和存储库发现
  • 拉取请求生命周期管理(创建、审查、合并、拒绝)
  • 评论和在线评论笔记
  • 大文件安全截断的差异查看
  • 代码搜索(在服务器上启用时)
  • 只读模式,防止写入操作

需求

  • Node.js 18+
  • Bitbucket服务器/数据中心(Stash)REST API访问

安装

npm install
npm run build

或者使用辅助脚本:

./scripts/install.sh

配置

添加 ~/.claude/user-mcps.json:

{
  "mcpServers": {
    "stash": {
      "command": "node",
      "args": ["/absolute/path/to/stash-mcp/dist/index.js"],
      "env": {
        "BITBUCKET_URL": "https://stash.example.com",
        "BITBUCKET_TOKEN": "your-access-token",
        "BITBUCKET_DEFAULT_PROJECT": "PROJ"
      }
    }
  }
}

环境变量

  • BITBUCKET_URL (必填):您的Bitbucket服务器实例的基本URL。
  • BITBUCKET_TOKEN:个人访问令牌(推荐)。
  • BITBUCKET_USERNAME / BITBUCKET_PASSWORD:基本身份验证替代方案。
  • BITBUCKET_DEFAULT_PROJECT:默认项目密钥 project 省略。
  • BITBUCKET_DIFF_MAX_LINES_PER_FILE:每个文件的差异截断限制。
  • BITBUCKET_READ_ONLY:设置为 true 禁用写入操作。

依赖项

  • 赫尔墨斯 --身份验证代理。管理此MCP服务器的OAuth2/SSO令牌获取、刷新和服务。
  • ToolHive --容器运行时。将此服务器托管为具有流式HTTP传输的Docker容器。
  • MCP网关 --聚合层。提供跨所有MCP后端的统一工具访问。
  • 节点保险库mcp --凭证存储。AES-256-GCM加密文件库(取代macOS Keychain/keytar)。

建筑

此MCP服务器作为由ToolHive管理的Docker容器运行:

  1. 容器 --基于本地Dockerfile构建,并发布为 localhost:5555/stash-mcp:latest
  2. 运输 --通过ToolHive代理流式传输HTTP
  3. 认证 --由Hermes管理(http://127.0.0.1:9876)
  4. 发现 --通过MCP网关暴露在 http://127.0.0.1:3100/mcp
  5. 凭证 --存储在 ~/.claude/secrets.vault 通过节点保险库mcp(AES-256-GCM)

用法

列出项目

list_projects:
  limit: 25

列出存储库

list_repositories:
  project: PROJ

查看拉取请求

get_pull_request:
  project: PROJ
  repository: my-repo
  prId: 123

搜索文件

search:
  query: README.md
  type: file
  project: PROJ

只读模式

集 BITBUCKET_READ_ONLY=true 以阻止写入操作。只读模式允许安全浏览和查看,而无需修改存储库。

发展

npm run build
npm test
npm run lint

安全

请私下报告安全问题。看 SECURITY.md 以供指导。

许可证

MIT。看 LICENSE.