MCP server for the GitLab REST API — 91 tools, 7 resources, 6 prompts for projects, MRs, draft reviews, repository files, pipelines, CI/CD, approvals and issues. MCP 2026-07-28 (MCP 2.0); GitLab.com and self-managed; OAuth 2.1 and local sign-in; run with writes or locked read-only (MCP_READ_ONLY).
接入配置
选择客户端,复制配置,再按项目文档补齐环境变量。
claude mcp add gitlab-vish288 --env GITLAB_TOKEN='<GITLAB_TOKEN>' --env GITLAB_URL='<GITLAB_URL>' --env GITLAB_OAUTH_CLIENT_SECRET='<GITLAB_OAUTH_CLIENT_SECRET>' --env GITLAB_OAUTH_JWT_KEY='<GITLAB_OAUTH_JWT_KEY>' --env GITLAB_HTTP_BEARER_TOKEN='<GITLAB_HTTP_BEARER_TOKEN>' -- uvx mcp-gitlab~/.codex/config.toml
[mcp_servers.gitlab-vish288]
command = "uvx"
args = ["mcp-gitlab"]
env = { GITLAB_TOKEN = "<GITLAB_TOKEN>", GITLAB_URL = "<GITLAB_URL>", GITLAB_OAUTH_CLIENT_SECRET = "<GITLAB_OAUTH_CLIENT_SECRET>", GITLAB_OAUTH_JWT_KEY = "<GITLAB_OAUTH_JWT_KEY>", GITLAB_HTTP_BEARER_TOKEN = "<GITLAB_HTTP_BEARER_TOKEN>" }
# codex mcp add gitlab-vish288 --env GITLAB_TOKEN='<GITLAB_TOKEN>' --env GITLAB_URL='<GITLAB_URL>' --env GITLAB_OAUTH_CLIENT_SECRET='<GITLAB_OAUTH_CLIENT_SECRET>' --env GITLAB_OAUTH_JWT_KEY='<GITLAB_OAUTH_JWT_KEY>' --env GITLAB_HTTP_BEARER_TOKEN='<GITLAB_HTTP_BEARER_TOKEN>' -- uvx mcp-gitlab~/.cursor/mcp.json
{
"mcpServers": {
"gitlab-vish288": {
"command": "uvx",
"args": [
"mcp-gitlab"
],
"env": {
"GITLAB_TOKEN": "<GITLAB_TOKEN>",
"GITLAB_URL": "<GITLAB_URL>",
"GITLAB_OAUTH_CLIENT_SECRET": "<GITLAB_OAUTH_CLIENT_SECRET>",
"GITLAB_OAUTH_JWT_KEY": "<GITLAB_OAUTH_JWT_KEY>",
"GITLAB_HTTP_BEARER_TOKEN": "<GITLAB_HTTP_BEARER_TOKEN>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"gitlab-vish288": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-gitlab"
],
"env": {
"GITLAB_TOKEN": "<GITLAB_TOKEN>",
"GITLAB_URL": "<GITLAB_URL>",
"GITLAB_OAUTH_CLIENT_SECRET": "<GITLAB_OAUTH_CLIENT_SECRET>",
"GITLAB_OAUTH_JWT_KEY": "<GITLAB_OAUTH_JWT_KEY>",
"GITLAB_HTTP_BEARER_TOKEN": "<GITLAB_HTTP_BEARER_TOKEN>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"gitlab-vish288": {
"command": "uvx",
"args": [
"mcp-gitlab"
],
"env": {
"GITLAB_TOKEN": "<GITLAB_TOKEN>",
"GITLAB_URL": "<GITLAB_URL>",
"GITLAB_OAUTH_CLIENT_SECRET": "<GITLAB_OAUTH_CLIENT_SECRET>",
"GITLAB_OAUTH_JWT_KEY": "<GITLAB_OAUTH_JWT_KEY>",
"GITLAB_HTTP_BEARER_TOKEN": "<GITLAB_HTTP_BEARER_TOKEN>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"gitlab-vish288": {
"command": "uvx",
"args": [
"mcp-gitlab"
],
"env": {
"GITLAB_TOKEN": "<GITLAB_TOKEN>",
"GITLAB_URL": "<GITLAB_URL>",
"GITLAB_OAUTH_CLIENT_SECRET": "<GITLAB_OAUTH_CLIENT_SECRET>",
"GITLAB_OAUTH_JWT_KEY": "<GITLAB_OAUTH_JWT_KEY>",
"GITLAB_HTTP_BEARER_TOKEN": "<GITLAB_HTTP_BEARER_TOKEN>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"gitlab-vish288": {
"command": "uvx",
"args": [
"mcp-gitlab"
],
"env": {
"GITLAB_TOKEN": "<GITLAB_TOKEN>",
"GITLAB_URL": "<GITLAB_URL>",
"GITLAB_OAUTH_CLIENT_SECRET": "<GITLAB_OAUTH_CLIENT_SECRET>",
"GITLAB_OAUTH_JWT_KEY": "<GITLAB_OAUTH_JWT_KEY>",
"GITLAB_HTTP_BEARER_TOKEN": "<GITLAB_HTTP_BEARER_TOKEN>"
}
}
}
}需要的环境变量
GITLAB_TOKENGITLAB_URLGITLAB_OAUTH_CLIENT_SECRETGITLAB_OAUTH_JWT_KEYGITLAB_HTTP_BEARER_TOKEN
把占位值换成你自己的密钥;不要把密钥提交到代码仓库。