GitLab日志MCP服务器
GitLab的提交散列来获取作业日志Model Context Protocol (MCP) 服务器。获取与当前项目提交散列匹配的作业,并获取作业的控制台日志。
概要
这个MCP服务器GitLab的,之API利用以下信息AI提供给助手:
- 当前Git与提交相关GitLab作业列表
- 特定作业ID控制台日志
MCP中所述的工具,调整墙的布局和几何形状AI助手是GitLab的作业信息CI/CD对较大场景进行渲染期间已观察到该故障。
安装
# uvのインストール
$ curl -LsSf https://astral.sh/uv/install.sh | sh
$ cd /path/to/this-mcp-server
# ライブラリのインストール
$ uv sync准备
GitLab中所述修改相应参数的值。 访问标记为GitLab的设置→请用访问令牌发行。 发行时read_api 中所述修改相应参数的值。
机能
1.获取当前提交的作业列表(get_current_commit_jobs)
当前Git所有与提交相关的GitLab获取作业列表。
出力:
- 作业名称ID、阶段、状态和管线ID包含的作业一览表
2.获取作业的控制台日志(get_job_log)
指定的作业ID查看项目中可用的所有族。
入力:
job_id:要获取的作业的ID(数字)
出力:
- 指定作业的完整控制台日志
AI与助手合作
AI助手(Claude等)MCP可以对服务器调用以下函数:
get_current_commit_jobs():获取与当前提交相关的作业列表get_job_log(job_id):获取指定作业的控制台日志
这些函数自动检索与当前分支和提交相关的信息。
Claude for Desktop中的设置
claude_desktop_config.json 中添加以下设置:
{
"mcpServers": {
"gitlab-mcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/this-mcp-server",
"run",
"main.py"
],
"env": {
"GITLAB_URL": "your_gitlab_url",
"GITLAB_PROJECT_NAME": "gitlab_project_name",
"GITLAB_API_KEY": "your_gitlab_api_key",
"GIT_REPO_PATH": "/path/to/git/repo"
}
}
}
}Cursor中的设置
项目根目录 .cursor/mcp.json 中添加以下设置:
{
"mcpServers": {
"gitlab-mcp": {
"command": "env",
"args": [
"GITLAB_URL=your_gitlab_url",
"GITLAB_PROJECT_NAME=gitlab_project_name",
"GITLAB_API_KEY=your_gitlab_api_key",
"GIT_REPO_PATH=/path/to/git/repo",
"uv",
"--directory",
"/path/to/this-mcp-server",
"run",
"main.py"
]
}
}
}注:在上述设置示例中,请适当替换以下值:
your_gitlab_api_key: GitLab API访问标记/path/to/git/repo:本地Git存储库绝对路径/path/to/this-mcp-server:此MCP服务器目录的绝对路径
