Token导航 LogoToken导航

MCP Server · 开发工具

CERN GitLab MCP Server

一个连接LLMs与CERN GitLab的MCP服务器,用于发现HEP代码、文档和分析示例。

stdio官方级别未说明来源级核验工具 14
代码搜索PythonClaude命令行工具Claude Desktop

快速开始

作者 / 组织
MohamedElashri
提供方
MohamedElashri
运行时
Python

工具数量

14

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

4

仓库热度

收录来源

2 个

MCP World

选型结论

CERN GitLab MCP Server 属于开发工具类 MCP Server,公开资料标注 14 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前要先准备 OAuth 授权。

分类

开发工具

传输方式

stdio

认证方式

OAuth 授权

部署方式

支持远程部署

安装与配置

安装命令

uvx cerngitlab-mcp

客户端配置示例

{
  "mcpServers": {
    "cerngitlab-mcp": {
      "command": "uvx",
      "args": [
        "cerngitlab-mcp"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 14 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

CERN GitLab MCP Server

An MCP server that connects LLMs to CERN GitLab for discovering HEP code, documentation, and analysis examples.

特性

  • 14个MCP工具 用于搜索、浏览和分析CERN GitLab存储库
  • 双模式操作 --stdio(单用户)和HTTP(多用户)模式
  • CLI工具 (cerngitlab-cli)用于直接命令行使用
  • 公众知情权 --适用于公共存储库,无需身份验证
  • 多用户HTTP模式 --CERN SSO+GitLab OAuth认证,用于集中部署;GitLab以本机方式强制执行所有访问权限
  • 专注于HEP --Python和C++生态系统的依赖解析,二进制检测 .root 文件,问题搜索
  • 健壮 --速率限制、指数回退重试、优雅的错误处理

安装

需要Python 3.10+。

快速入门(推荐)

无需安装,只需使用 uvx 直接运行:

uvx cerngitlab-mcp

来自PyPI

pip install cerngitlab-mcp

来源

git clone https://github.com/MohamedElashri/cerngitlab-mcp
cd cerngitlab-mcp
uv sync

配置

所有设置都是通过前缀为的环境变量配置的 CERNGITLAB_:

变量默认值描述
CERNGITLAB_GITLAB_URLhttps://gitlab.cern.chGitLab实例URL
CERNGITLAB_TOKEN*(空)*个人访问令牌(可选,用于stdio模式)
CERNGITLAB_TIMEOUT30HTTP超时(秒)
CERNGITLAB_MAX_RETRIES3失败请求的最大重试次数
CERNGITLAB_RATE_LIMIT_PER_MINUTE300API费率限制
CERNGITLAB_LOG_LEVELINFO日志记录级别
CERNGITLAB_DEFAULT_REF*(空)*要在其中搜索的默认Git分支或标记。空意味着所有的分支。
CERNGITLAB_HTTP_MODE*(空)*设置任何值以自动检测HTTP模式
CERNGITLAB_HOST0.0.0.0HTTP服务器绑定地址
CERNGITLAB_PORT8000HTTP服务器绑定端口
CERNGITLAB_CERN_CLIENT_ID*(空)*HTTP模式 --CERN SSO OAuth客户端ID
CERNGITLAB_GITLAB_OAUTH_CLIENT_ID*(空)*HTTP模式 --GitLab OAuth应用程序客户端ID
CERNGITLAB_GITLAB_OAUTH_CLIENT_SECRET*(空)*HTTP模式 --GitLab OAuth应用程序客户端密钥
CERNGITLAB_SERVER_BASE_URLhttp://localhost:8000HTTP模式 --公共基础URL(用于OAuth回调)
CERNGITLAB_SESSION_STORAGE_PATH/tmp/cerngitlab/sessionsHTTP模式 --用于持久化OAuth会话文件的目录

认证

服务器以两种模式工作:

  • 无令牌 --访问所有公共存储库。足够用于大多数HEP代码发现。
  • 带令牌 --对内部/私人项目、代码搜索和维基页面的额外访问。

要创建令牌,请执行以下操作:

  1. 首选https://gitlab.cern.ch/-/user_settings/personal_access_tokens
  2. 使用创建令牌 read_api 范围
  3. 集 CERNGITLAB_TOKEN=glpat-xxxxxxxxxxxx
注: 代码搜索(search_code),问题搜索(search_issues),和wiki(get_wiki_pages)这些工具需要在CERN GitLab上进行身份验证。

用法

克劳德桌面版

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "cerngitlab": {
      "command": "uvx",
      "args": ["cerngitlab-mcp"],
      "env": {
        "CERNGITLAB_TOKEN": "glpat-xxxxxxxxxxxx"
      }
    }
  }
}
macOS用户注意事项: 如果您看到以下错误 uvx 如果找不到,您可能需要提供绝对路径。Claude Desktop不支持 ~ 或 $HOME 扩张。 1. 跑 which uvx 在您的终端中查找路径(例如。, /Users/yourusername/.local/bin/uvx). 1. 在中使用该绝对路径 command 字段: ``json "command": "/Users/yourusername/.local/bin/uvx" ``

克劳德代码

项目特定(默认) --安装在当前目录的配置中:

claude mcp add cerngitlab-mcp -- uvx cerngitlab-mcp

全球的 --为您的用户帐户安装(适用于所有项目):

claude mcp add --scope user cerngitlab-mcp -- uvx cerngitlab-mcp

要包含身份验证,请添加 -e CERNGITLAB_TOKEN=glpat-xxxxxxxxxxxx 之前 --:

# Example: Global installation with token
claude mcp add --scope user -e CERNGITLAB_TOKEN=glpat-xxxxxxxxxxxx cerngitlab-mcp -- uvx cerngitlab-mcp

手动配置 --您还可以在以下位置手动编辑全局配置 ~/.claude.json (在Linux/macOS上)或 %APPDATA%\Claude\claude.json (在Windows上):

{
  "mcpServers": {
    "cerngitlab": {
      "command": "uvx",
      "args": ["cerngitlab-mcp"],
      "env": {
        "CERNGITLAB_TOKEN": "glpat-xxxxxxxxxxxx"
      }
    }
  }
}

GitHub Copilot

添加到您的VS代码 settings.json:

{
  "mcp": {
    "servers": {
      "cerngitlab": {
        "command": "uvx",
        "args": ["cerngitlab-mcp"],
        "env": {
          "CERNGITLAB_TOKEN": "glpat-xxxxxxxxxxxx"
        }
      }
    }
  }
}

或者添加一个 .vscode/mcp.json 对于您的项目:

{
  "servers": {
    "cerngitlab": {
      "command": "uvx",
      "args": ["cerngitlab-mcp"],
      "env": {
        "CERNGITLAB_TOKEN": "glpat-xxxxxxxxxxxx"
      }
    }
  }
}

Gemini CLI

添加到您的 ~/.gemini/settings.json:

{
  "mcpServers": {
    "cerngitlab": {
      "command": "uvx",
      "args": ["cerngitlab-mcp"],
      "env": {
        "CERNGITLAB_TOKEN": "glpat-xxxxxxxxxxxx"
      }
    }
  }
}

直接使用

标准模式(单用户,默认)
# Run with uvx (no install needed)
uvx cerngitlab-mcp

# Or if installed from PyPI
cerngitlab-mcp

# Explicit stdio mode
cerngitlab-mcp --mode stdio

# Or from source
uv run cerngitlab-mcp

# With authentication
CERNGITLAB_TOKEN=glpat-xxx uvx cerngitlab-mcp
HTTP模式(多用户)
# HTTP mode for multi-user deployment
cerngitlab-mcp --mode http --host 0.0.0.0 --port 8080

# Or use environment variables
CERNGITLAB_HTTP_MODE=true CERNGITLAB_HOST=0.0.0.0 CERNGITLAB_PORT=8080 cerngitlab-mcp

# Dedicated HTTP entry point
cerngitlab-mcp-http
模式选择
  • --mode stdio -使用stdin/stdout的单用户模式(默认)
  • --mode http -使用HTTP API的多用户模式
  • --mode auto -基于环境变量的自动检测

如果发生以下情况,服务器会自动检测HTTP模式 CERNGITLAB_HTTP_MODE, CERNGITLAB_HOST,或 CERNGITLAB_PORT 设置环境变量。

工具

工具描述需要身份验证
search_projects按关键字、主题或语言搜索公共CERN GitLab项目(存储库)否
get_project_info获取详细的项目元数据(星级、描述、语言、统计数据)否
list_project_files列出项目存储库中的文件和目录否
get_file_content获取特定文件的内容(包括二进制检测)否
get_project_readme获取项目的README内容否
search_code在特定项目或全局范围内搜索代码是\*
search_lhcb_stack在LHCb软件栈中搜索代码(例如“sim11”),并自动进行Git引用解析是\*
search_issues搜索项目中的问题是
get_wiki_pages列出项目的wiki页面是
inspect_project分析项目结构、构建系统、依赖关系和CI/CD否
list_releases列出项目的发布否
get_release获取特定版本的详细信息否
list_tags列出项目的标签否
test_connectivity测试与GitLab实例的连接否

有关详细的参数文档,请参阅 docs/dev.md.

示例提示

搜索存储库

“在CERN GitLab中搜索与ROOT分析相关的Python存储库,并向我展示最受欢迎的存储库”

了解一个项目

“在CERN GitLab上获取lhcb/Davici项目的README和文件结构”

查找合适的示例

“在CERN GitLab上搜索使用RooFit的存储库,并向我展示示例拟合代码”

查看LHCb软件堆栈代码

“在LHCb sim11堆栈中搜索Boole项目中的初始化例程”

分析项目结构

“检查lhcb/allen项目,了解其构建系统、依赖关系和CI管道配置”

查找使用上下文

“在atlas/athena项目中搜索与‘分段错误’相关的问题,看看其他人是否遇到过这种情况”

跟踪发布

“列出lhcb/Davici的最新版本,并向我展示最新版本的发行说明”

查找框架配置

“在CERN GitLab上搜索高迪框架配置文件,并向我展示示例”

发展

看 docs/dev.md 用于开发设置、项目结构、测试和发布说明。

多用户HTTP部署

HTTP模式为多个用户提供了一个集中式服务器。它使用 CERN SSO+GitLab OAuth 对于身份验证,用户使用其现有的CERN身份进行身份验证,GitLab自己的权限系统执行所有访问控制。

先决条件

  1. CERN SSO客户端 --在以下网址注册客户 CERN授权服务。注意客户端ID。
  2. GitLab OAuth应用程序 --创建一个 https://gitlab.cern.ch/-/profile/applications.

- 将重定向URI设置为 https://gitlabmcp.cern.ch/oauth/callback (替换为实际URL) - 启用 read_api read_repository read_user 范围 - 注意应用程序ID和密码。

设置

export CERNGITLAB_CERN_CLIENT_ID=your-cern-sso-client-id
export CERNGITLAB_GITLAB_OAUTH_CLIENT_ID=your-gitlab-oauth-app-id
export CERNGITLAB_GITLAB_OAUTH_CLIENT_SECRET=your-gitlab-oauth-secret
export CERNGITLAB_SERVER_BASE_URL=https://gitlabmcp.cern.ch
export CERNGITLAB_SESSION_STORAGE_PATH=/var/lib/cerngitlab/sessions  # optional

# Start the server
cerngitlab-mcp --mode http --host 0.0.0.0 --port 8000

看 examples/oauth_server.py 在自包含的参考脚本的存储库中。

身份验证流程

  1. 客户端发送请求 Authorization: Bearer 头球
  2. 服务器通过CERN的JWKS端点验证CERN SSO令牌。
  3. 如果用户没有活动的GitLab OAuth会话,服务器将返回HTTP 202和 authorization_url 现场。
  4. 用户访问该URL,授权GitLab OAuth应用程序,并被重定向回 /oauth/callback.
  5. 后续请求使用存储的GitLab OAuth令牌提供服务。会话将在2小时后过期。

API终点

方法路径身份验证描述
GET/--服务器信息
GET/health--健康检查
GET/oauth/authorizeCERN SSO启动或检查OAuth授权流
GET/oauth/callback--接收GitLab OAuth代码(浏览器重定向)
GET/toolsCERN SSO列出可用的MCP工具
POST/tools/{tool_name}CERN SSO执行特定工具
DELETE/sessionCERN SSO撤销当前用户的OAuth会话
GET/admin/sessions--列出所有活动会话(管理员使用)

示例用法

假设服务器正在运行 https://gitlabmcp.cern.ch 和那个 CERN_SSO_TOKEN 环境变量设置为有效的CERN SSO令牌:

# Step 1 – check authorization status
curl -H "Authorization: Bearer $CERN_SSO_TOKEN" \
     https://gitlabmcp.cern.ch/oauth/authorize
# If 202, visit the returned authorization_url in a browser and authorize.

# Step 2 – list available tools (once authorized)
curl -H "Authorization: Bearer $CERN_SSO_TOKEN" \
     https://gitlabmcp.cern.ch/tools

# Step 3 – execute a tool
curl -X POST -H "Authorization: Bearer $CERN_SSO_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"arguments": {"query": "ROOT"}}' \
     https://gitlabmcp.cern.ch/tools/search_projects

# Revoke session
curl -X DELETE -H "Authorization: Bearer $CERN_SSO_TOKEN" \
     https://gitlabmcp.cern.ch/session

CLI工具

命令行界面也可直接使用,无需MCP服务器:

# Install or use with uvx
uvx cerngitlab-cli

# Test connectivity
cerngitlab-cli test-connection

# Search for projects
cerngitlab-cli search-projects --query "ROOT analysis" --language python

# Get project info
cerngitlab-cli get-project-info --project lhcb/DaVinci

# Search code
cerngitlab-cli search-code --search-term "RooFit" --per-page 10

# Inspect project structure
cerngitlab-cli inspect-project --project lhcb/allen

所有命令都将JSON输出到stdout,以便于管道和组合。看 cerngitlab-cli --help 查看完整的命令列表。

技能档案

详细的技能档案(SKILL.md)可用于:

  • 所有14个工具的完整文档
  • 输入/输出规格
  • 使用示例
  • 身份验证要求

LLM或代理可以使用它来了解可用的工具以及如何使用它们。

许可证

此软件根据AGPL-3.0许可证提供。

工具与能力

工具数量

14

资源数量

0

提示词数量

0

能力标签

代码搜索Python本地部署GitLab集成HEP代码分析多用户支持命令行工具

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 工具数量 14 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备OAuth 授权,没有凭据没法直接试。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到OAuth 授权的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
CERN GitLab MCP Server

MCP World · 本页

14stdio有2 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

CERN GitLab MCP Server 怎么安装?

公开资料给出的安装命令是 uvx cerngitlab-mcp,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

CERN GitLab MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

CERN GitLab MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

CERN GitLab MCP Server 需要 API Key 吗?

公开资料标注的认证方式是OAuth 授权,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

CERN GitLab MCP Server 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP