Token导航 LogoToken导航TokenDH.com
Stash MCP logo
运维云端stdio官方级别未说明来源级核验

Stash MCP

MCP Server

一个为Atlassian Bitbucket Server设计的模型上下文协议(MCP)服务器,通过Docker镜像提供,为AI助手提供对仓库、拉取请求、代码审查、构建和搜索的访问。

工具数

13

提示词数

0

GitHub Stars

4

资源数

0
代码审查DockerVS CodeAPI集成VS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

diomonogatari

提供方

diomonogatari

最后核验

2026/5/17 20:22

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -i --rm \

详细介绍

MCP服务器损坏

![CI](https://github.com/diomonogatari/stash-mcp/actions/workflows/build.yml) ![codecov](https://codecov.io/gh/diomonogatari/stash-mcp) ](https://hub.docker.com/r/diomonogatari/stash-mcp) ](https://hub.docker.com/r/diomonogatari/stash-mcp) ](https://github.com/diomonogatari/stash-mcp/releases) ![license](https://github.com/diomonogatari/stash-mcp/blob/main/LICENSE) .NET 10.0

Atlassian Bitbucket server(Stash)的模型上下文协议(MCP)服务器,作为Docker镜像发布在 。它让人工智能助手通过40个专门构建的工具访问您的存储库、拉取请求、代码审查、构建和搜索。

特性

40工具 涵盖全面的Bitbucket服务器工作流程:

类别工具亮点
项目1发现项目
仪表盘5以用户为中心的PR视图+服务器信息
仓库3转发、概述、文件内容
Git3分支、标签、文件列表
搜索4代码、提交、PR、用户
历史5列出/检查提交、比较引用、完整提交上下文
拉取请求7列表/获取/上下文/差异+创建/更新+批准
评论4读、写、用代码上下文回复
任务4用于审核任务的完整CRUD
建筑3每次提交/PR/回购的CI/CD状态
集成1Jira问题链接

工作流优化工具

这些工具将多个API调用减少为单个调用:

  • get_pull_request_context --完成公关,包括评论、任务、差异、活动
  • get_repository_overview --一次调用中包含分支、标签和打开的PR
  • get_commit_context --提交带有更改和差异的细节

韧性

  • 断路器 --防止Bitbucket不可用时发生级联故障
  • 使用回退重试 --暂时错误的自动重试(429502503504)
  • 故障弱化 -当API失败时返回缓存的数据
  • 响应截断 --50KB限制可防止上下文溢出
  • 缓存失效 --写入操作会自动刷新相关缓存

入门指南

先决条件

  • 安装
  • Bitbucket服务器(自托管)实例
  • 具有存储库读/写权限的个人访问令牌

VS代码/副本——MCP配置

将以下内容添加到VS Code MCP配置文件中 (命令选项板→ MCP: Open user configuration):

{
  "servers": {
    "stash-bitbucket": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "BITBUCKET_URL",
        "-e", "BITBUCKET_TOKEN",
        "diomonogatari/stash-mcp:latest"
      ],
      "env": {
        "BITBUCKET_URL": "https://your-stash-server.com/",
        "BITBUCKET_TOKEN": "your_personal_access_token"
      },
      "type": "stdio"
    }
  }
}

就是这样。VS Code将在首次使用时提取图像并自动启动服务器。

提示--固定到特定标签 而不是 latest (例如。 diomonogatari/stash-mcp:1.1.0) 以避免在发布新版本时运行过时的本地映像。 当本地镜像已经具有 latest 标签。 如果你必须使用 latest,用力拉 docker run --pull=always ... diomonogatari/stash-mcp:latest.

高级配置

传递其他环境变量以调整弹性和缓存行为:

{
  "servers": {
    "stash-bitbucket": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "BITBUCKET_URL",
        "-e", "BITBUCKET_TOKEN",
        "-e", "BITBUCKET_RETRY_COUNT",
        "-e", "BITBUCKET_CIRCUIT_TIMEOUT",
        "-e", "BITBUCKET_CACHE_TTL_SECONDS",
        "-e", "BITBUCKET_READ_ONLY_MODE",
        "-e", "BITBUCKET_PROJECTS",
        "diomonogatari/stash-mcp:latest"
      ],
      "env": {
        "BITBUCKET_URL": "https://your-stash-server.com/",
        "BITBUCKET_TOKEN": "your_personal_access_token",
        "BITBUCKET_RETRY_COUNT": "5",
        "BITBUCKET_CIRCUIT_TIMEOUT": "60",
        "BITBUCKET_CACHE_TTL_SECONDS": "120",
        "BITBUCKET_READ_ONLY_MODE": "false",
        "BITBUCKET_PROJECTS": "PROJ,TEAM"
      },
      "type": "stdio"
    }
  }
}

配置参考

设置环境变量默认值说明
服务器URLBITBUCKET_URL--比特桶服务器基本URL(必需的)
访问令牌BITBUCKET_TOKEN--个人访问令牌(必需的)
重试计数BITBUCKET_RETRY_COUNT3最大重试次数(0-10)
电路超时BITBUCKET_CIRCUIT_TIMEOUT30断路器持续时间(秒)(5–300)
缓存TTLBITBUCKET_CACHE_TTL_SECONDS60缓存生存时间(秒)(10–600)
只读模式BITBUCKET_READ_ONLY_MODEfalse禁用写入操作(true1)
项目BITBUCKET_PROJECTS--启动时缓存逗号分隔的项目密钥(例如。 PROJ,TEAM).如果省略,则从最近的存储库中派生范围。

工具参考

有关所有40个工具的详细文档,请参阅 docs/TOOLSET.md.

常见工作流

代码审查

1. get_pull_request_context (with includeComments=true, includeDiff=true)
2. Review the diff and existing comments
3. add_pull_request_comment (for feedback)
4. create_pull_request_task (for required changes)
5. approve_pull_request (when satisfied)

Bug调查

1. search_commits (messageContains="JIRA-123")
2. get_commit_context (includeDiff=true)
3. search_code (to find current implementation)

存储库探索

1. get_repository_overview (quick overview)
2. list_files (browse structure)
3. get_file_content (read specific files)

输出优化

对于列表操作,请使用 minimalOutput=true 为了减小响应大小:

  • list_repositories --仅返回存储库蛞蝓
  • list_branches --仅返回分支名称
  • list_pull_requests --返回精简的PR摘要

贡献

设置

  1. 克隆存储库 带有子模块:
   git clone --recurse-submodules https://github.com/diomonogatari/stash-mcp.git

如果你已经克隆了,没有子模块:

   git submodule update --init --recursive
  1. 安装 .NET 10.0 SDK

建筑

# Build the solution
dotnet build stash-mcp.slnx

# Run tests
dotnet test stash-mcp.slnx

本地运行

dotnet run --project src/StashMcpServer/StashMcpServer.csproj -- \
  --stash-url https://your-server.com/ --pat your_pat
双人冲刺(--)分开 dotnet run 从应用程序参数中提取参数。

CLI标志

标志默认值描述
--stash-urlBITBUCKET_URL env var比特桶服务器基本URL
--patBITBUCKET_TOKEN env-var个人访问令牌
--log-levelInformation日志级别: Verbose, Debug, Information, Warning, Error, Fatal

构建Docker镜像

docker build -t diomonogatari/stash-mcp:dev .
docker run -i --rm \
  -e BITBUCKET_URL=https://your-stash-server.com/ \
  -e BITBUCKET_TOKEN=your_personal_access_token \
  diomonogatari/stash-mcp:dev

故障排除

Docker镜像未更新

Docker在以下情况下跳过pull latest 标记已在本地存在。 强制进行新的拉动:

docker pull diomonogatari/stash-mcp:latest

或固定到特定的版本标签(例如。 diomonogatari/stash-mcp:1.1.0).

连接被拒绝/超时

  • 验证 BITBUCKET_URL 包括尾随斜线和协议

(https://your-server.com/)

  • 确保Docker容器可以访问您的Bitbucket服务器(检查

公司VPN、代理或防火墙规则)

  • 对于macOS/Windows上的Docker桌面,请使用 host.docker.internal 如果

Bitbucket在主机上运行

权限错误(401/403)

  • 验证个人访问令牌是否具有 存储库读取 (以及

存储库写入 如果你需要写操作)权限

  • 检查令牌是否未过期
  • BITBUCKET_READ_ONLY_MODE=true 如果只需要读取权限

服务器启动后无响应

  • 提高日志级别以查看发生了什么:

--log-level Debug (CLI)或附加 --log-level Debug 在图像之后 姓名在 docker run 命令

  • 检查一下 BITBUCKET_PROJECTS 变量(如果设置)包含

有效的项目密钥--无效的密钥会导致启动缓存失败 默默地

建筑

┌──────────────────────────────────────────────────────────┐
│                      MCP Server Layer                    │
│  ┌──────────────────────────────────────────────────┐    │
│  │ Domain Tool Classes (9 classes, 40 tools)        │    │
│  │  ProjectTools  RepositoryTools  PullRequestTools │    │
│  │  SearchTools   GitTools   HistoryTools           │    │
│  │  BuildTools    DashboardTools  IntegrationTools  │    │
│  └──────────┬───────────────────────────────────────┘    │
│             │ inherits ToolBase (shared helpers)         │
│  ┌──────────▼───────────────────────────────────────┐    │
│  │ Formatting  │ DiffFormatter  ResponseTruncation  │    │
│  │             │ MinimalOutputFormatter (50KB limit)│    │
│  └──────────┬───────────────────────────────────────┘    │
│             │                                            │
│  ┌──────────▼───────────────────────────────────────┐    │
│  │           ResilientApiService                    │    │
│  │  • Circuit Breaker (Polly)                       │    │
│  │  • Retry with Exponential Backoff                │    │
│  │  • Graceful Degradation (stale cache)            │    │
│  │  • Cache Invalidation on Writes                  │    │
│  └──────────┬───────────────────────────────────────┘    │
│             │                                            │
│  ┌──────────▼──────┐ ┌──────────────────────────────┐    │
│  │ Cache Layer      │ │ IMemoryCache (TTL=60s)      │    │
│  │ (Static)         │ │ ConcurrentDict (projects)   │    │
│  └──────────┬──────┘ └──────────────────────────────┘    │
│             │                                            │
│  Transport: stdio                                        │
└─────────────┼────────────────────────────────────────────┘
              │
              ▼
       Bitbucket Server API (via Bitbucket.Net submodule)

有关详细的体系结构文档,请参阅 docs/ARCHITECTURE.md.

安全

切勿将您的个人访问令牌提交给源代码管理。

  • 使用环境变量(如上面的配置示例所示)
  • 将PAT权限限制在所需的最小范围内
  • 在可用的情况下使用安全的凭据存储

文档

星迹

许可证

许可证 了解详情。

目录标签

目录标签

代码审查DockerVS CodeAPI集成BitbucketC#本地部署AI助手

支持客户端

VS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

13

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP