Token导航 LogoToken导航TokenDH.com
Sabang System MCP logo
开发工具未说明官方级别未说明来源级核验

Sabang System MCP

MCP Server

基于Spring AI的MCP服务器,用于自动化代码审查和静态分析,支持Bitbucket PR和GitLab MR的查询和评论功能,以及SPARROW分析任务的执行和状态查询。

工具数

8

提示词数

0

GitHub Stars

0

资源数

0
代码审查静态分析JavaSpring AI自动化

安装说明

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

作者 / 组织

daoutech-kingmj

提供方

daoutech-kingmj

最后核验

2026/5/17 20:23

快速接入

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

详细介绍

萨邦系统mcp

为自动化内部代码审查/静态分析而创建 基于Spring AI的MCP服务器是。\ stdio 以模式工作,LLM代理可以直接调用Bitbucket PR/GitLab MR查询和评论,以及运行SPARROW分析。

核心功能

  • Bitbucket PR查询(bitbucket-pr-get)
  • Bitbucket PR撰写一般评论(bitbucket-pr-comment-post)
  • Bitbucket PR行撰写评论(bitbucket-pr-line-comment-post)
  • GitLab MR查询(gitlab-mr-get)
  • GitLab MR撰写一般评论(gitlab-mr-comment-post)
  • GitLab MR行评论(gitlab-mr-line-comment-post)
  • 提交SPARROW分析作业(sparrow-analyze)
  • 查看SPARROW分析作业状态(sparrow-analyze-status)

技术堆栈

  • Java 21
  • 弹簧靴4.0.2
  • Spring AI MCP服务器启动器(org.springframework.ai:spring-ai-starter-mcp-server)
  • Gradle

项目结构

src/main/java/com/mcp_server/sabang
├── tool/          # MCP 툴 엔트리포인트 (@McpTool)
├── service/       # 비즈니스 로직
├── bitbucket/     # Bitbucket URL 파싱/API 클라이언트/검증
├── gitlab/        # GitLab URL 파싱/API 클라이언트/검증
├── dto/           # 요청/응답 스키마
├── model/         # SPARROW Job 상태 모델
└── exception/     # 도메인 예외

动作方式

  • 服务器 application.yamlspring.ai.mcp.server.stdio: true设置为。
  • 也就是说,不是HTTP服务器。 MCP客户端进程直接附加到stdio。是。
  • GitLab/Bitbucket API是Java HttpClient直接调用。
  • SPARROW分析作为单独的进程运行外部客户端(用户)脚本,并在内存中管理作业状态。

构建和运行

1)本地构建

./gradlew clean build

2)运行MCP服务器

java -jar build/libs/sabang-0.0.1-SNAPSHOT.jar

MCP客户端连接示例

下面是 stdio 基于的MCP服务器注册示例(每个客户端的密钥名称可能不同)。

{
  "mcpServers": {
    "sabang": {
      "command": "java",
      "args": [
        "-jar",
        "/absolute/path/to/sabang-system-mcp/build/libs/sabang-0.0.1-SNAPSHOT.jar"
      ]
    }
  }
}

工具规格摘要

比特桶

  1. bitbucket-pr-get
  • 输入: prUrl, pat
  • 输出:PR元数据+更改文件列表+提交列表
  1. bitbucket-pr-comment-post
  • 输入: prUrl, pat, body
  • 输出:创建的 commentId, webUrl
  1. bitbucket-pr-line-comment-post
  • 输入: prUrl, pat, body, path, line, lineType
  • lineType: ADDED | REMOVED | CONTEXT

GitLab

  1. gitlab-mr-get
  • 输入: mrUrl, pat
  • 输出:MR元数据+更改文件列表+版本(sha)列表
  1. gitlab-mr-comment-post
  • 输入: mrUrl, pat, body
  • 输出:创建的 noteId, webUrl
  1. gitlab-mr-line-comment-post
  • 输入: mrUrl, pat, body, path, line, lineType
  • lineType: ADDED | REMOVED

麻雀

  1. sparrow-analyze
  • 输入:

- serverUrl - clientPath - passwordPath - projectId - username - changedFiles (绝对路径数组)

  • 输出: jobId, projectId, status(PENDING)
  1. sparrow-analyze-status
  • 输入: jobId, waitSeconds(1~30 권장)
  • 输出:状态(PENDING/RUNNING/SUCCEEDED/FAILED), exitCode, output, error,时间戳

URL格式规则

  • Bitbucket PR URL示例\

https://bitbucket.example.com/projects/PROJ/repos/my-repo/pull-requests/123

  • GitLab MR URL示例\

https://gitlab.example.com/group/project/-/merge_requests/123

如果URL解析失败 InvalidPrUrlException, InvalidMrUrlException发生。

操作/安全注意事项

  • PAT作为工具输入传递。 最小权限令牌必须使用。
  • SPARROW执行路径(clientPath, passwordPath)必须具有服务器进程权限。
  • SPARROW作业状态基于当前内存,在重新启动时会丢失。

测试

./gradlew test

目录标签

目录标签

代码审查静态分析JavaSpring AI自动化本地部署自动化工具SpringAIMCP服务器

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP