Cover image
Try Now
2025-04-14

3 years

Works with Finder

2

Github Watches

0

Github Forks

2

Github Stars

English Version

Build Status Node Version License

Downloads npm version smithery badge

基于 Model Context Protocol (MCP) 框架构建的 GitLab 集成服务器,提供多种 GitLab RESTful API 工具,支持 Claude、Smithery 等平台集成。

功能概览

  • GitlabSearchUserProjectsTool:根据用户名搜索用户及其活跃项目
  • GitlabGetUserTasksTool:获取当前用户的待办任务
  • GitlabSearchProjectDetailsTool:搜索项目及详细信息
  • GitlabCreateMRCommentTool:为合并请求添加评论
  • GitlabAcceptMRTool:接受并合并合并请求
  • GitlabUpdateMRTool:更新 Merge Request 的指派人、评审人、标题、描述、标签
  • GitlabCreateMRTool:创建新的 Merge Request,支持指派 assignee 和 reviewers
  • GitlabRawApiTool:自定义调用任意 GitLab API

快速开始

# 安装依赖
bun install

# 构建项目
bun run build

# 启动服务
bun run start

环境变量配置

GITLAB_API_URL=https://your-gitlab-instance.com
GITLAB_TOKEN=your_access_token

# 可选:提供用户名到用户 ID 的映射(JSON 字符串)
# 这可以减少 API 调用次数,尤其是在频繁引用相同用户时
# 示例:'{"username1": 123, "username2": 456}'
GITLAB_USER_MAPPING={"username1": 123, "username2": 456}

# 可选:提供项目名称到项目 ID 的映射(JSON 字符串)
# 项目 ID 可以是数字或字符串(如 'group/project')
# 这可以减少 API 调用次数,并确保使用正确的项目
# 示例:'{"project-name-a": 1001, "group/project-b": "group/project-b"}'
GITLAB_PROJECT_MAPPING={"project-name-a": 1001, "group/project-b": "group/project-b"}

工具示例

详见 USAGE.md,包括每个工具的参数示例。

项目结构

src/
├── server/
│   └── GitlabMCPServer.ts          # MCP 服务器入口
├── tools/
│   ├── GitlabAcceptMRTool.ts
│   ├── GitlabCreateMRCommentTool.ts
│   ├── GitlabGetUserTasksTool.ts
│   ├── GitlabRawApiTool.ts
│   ├── GitlabSearchProjectDetailsTool.ts
│   ├── GitlabSearchUserProjectsTool.ts
│   └── gitlab/
│       ├── FieldFilterUtils.ts
│       ├── GitlabApiClient.ts
│       └── GitlabApiTypes.ts
├── utils/
│   ├── is.ts
│   └── sensitive.ts
smithery.json                      # Smithery 配置
USAGE.md                          # 使用示例
package.json
tsconfig.json

集成方式

Claude 桌面客户端

在配置文件中添加:

{
  "mcpServers": {
    "@zephyr-mcp/gitlab": {
      "command": "npx",
      "args": ["-y", "@zephyr-mcp/gitlab@0.1.0"]
    }
  }
}

配置参数:

  • GITLAB_API_URL: GitLab API 的基础 URL
  • GITLAB_TOKEN: 用于验证 GitLab API 请求的访问令牌

相关链接

相关推荐

  • av
  • 毫不费力地使用一个命令运行LLM后端,API,前端和服务。

  • 1Panel-dev
  • 🔥1Panel提供了直观的Web接口和MCP服务器,用于在Linux服务器上管理网站,文件,容器,数据库和LLMS。

  • WangRongsheng
  • 🧑‍🚀 llm 资料总结(数据处理、模型训练、模型部署、 o1 模型、mcp 、小语言模型、视觉语言模型)|摘要世界上最好的LLM资源。

  • rulego
  • ⛓️Rulego是一种轻巧,高性能,嵌入式,下一代组件编排规则引擎框架。

  • sigoden
  • 使用普通的bash/javascript/python函数轻松创建LLM工具和代理。

  • RockChinQ
  • 😎简单易用、🧩丰富生态 -大模型原生即时通信机器人平台| 适配QQ / 微信(企业微信、个人微信) /飞书 /钉钉 / discord / telegram / slack等平台| 支持chatgpt,deepseek,dify,claude,基于LLM的即时消息机器人平台,支持Discord,Telegram,微信,Lark,Dingtalk,QQ,Slack

  • hkr04
  • 轻巧的C ++ MCP(模型上下文协议)SDK

  • dmayboroda
  • 带有可配置容器的本地对话抹布

  • evilsocket
  • 简单的代理开发套件。

  • modelscope
  • 开始以更轻松的方式开始构建具有LLM授权的多代理应用程序。

    Reviews

    5 (0)