GitLab MCP 서버
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
이 기능에 대한 피드백을 제공하려면 이슈 561564에 댓글을 남깁니다. GitLab Model Context Protocol(MCP) 서버를 사용하면 AI 도구 및 애플리케이션을 GitLab 인스턴스에 안전하게 연결할 수 있습니다.
히스토리
- GitLab 18.3에서
mcp_server및oauth_dynamic_client_registration이라는 플래그와 함께 실험으로 도입. 기본적으로 비활성화됨. - GitLab 18.6에서 실험에서 베타로 변경. 기능 플래그
mcp_server및oauth_dynamic_client_registration제거됨. - GitLab 18.7에서
2025-03-26및2025-06-18MCP 프로토콜 사양 지원이 추가. - GitLab 18.11에서 도구 프리픽싱이 추가.
이 기능에 대한 피드백을 제공하려면 이슈 561564에 댓글을 남깁니다.
GitLab Model Context Protocol(MCP) 서버를 사용하면 AI 도구 및 애플리케이션을 GitLab 인스턴스에 안전하게 연결할 수 있습니다. Claude Desktop, Claude Code, Cursor 및 기타 MCP 호환 도구와 같은 AI 어시스턴트가 GitLab 데이터에 액세스하고 사용자를 대신하여 작업을 수행할 수 있습니다.
GitLab MCP 서버는 AI 도구를 위한 표준화된 방법을 제공합니다:
- GitLab 프로젝트 정보에 액세스합니다.
- 이슈 및 머지 리퀘스트 데이터를 가져옵니다.
- GitLab API와 안전하게 상호 작용합니다.
- AI 어시스턴트를 통해 GitLab 특정 작업을 수행합니다.
GitLab MCP 서버는 AI 도구가 GitLab 인스턴스에 자체 등록할 수 있는 OAuth 2.0 동적 클라이언트 등록을 지원합니다. AI 도구가 처음으로 GitLab MCP 서버에 연결할 때:
- OAuth 애플리케이션으로 자체 등록합니다.
- GitLab 데이터 액세스 권한을 요청합니다.
- 안전한 API 액세스를 위한 액세스 토큰을 받습니다.
클릭 데모를 보려면 GitLab Duo Agent Platform - GitLab MCP 서버를 참조합니다.
전제 조건#
- GitLab Self-Managed에서는 인스턴스에 대한 GitLab Duo가 켜져 있어야 합니다.
- 베타 및 실험 기능이 켜져 있어야 합니다.
GitLab MCP 서버에 클라이언트 연결#
GitLab MCP 서버는 두 가지 전송 유형을 지원합니다:
- HTTP 전송(권장): 추가 종속성 없이 직접 연결.
mcp-remote를 사용한 stdio 전송: 프록시를 통한 연결(Node.js 필요).
일반적인 AI 도구는 mcpServers 키에 대한 JSON 구성 형식을 지원하며 GitLab MCP 서버 설정을 구성하는 다양한 방법을 제공합니다.
HTTP 전송(권장)#
히스토리
- GitLab 18.6에서 도입.
HTTP 전송을 사용하여 GitLab MCP 서버를 구성하려면 다음 형식을 사용합니다:
<gitlab.example.com>을 다음으로 교체합니다:- GitLab Self-Managed에서는 GitLab 인스턴스 URL.
- GitLab.com에서는
gitlab.com.
{
"mcpServers": {
"GitLab": {
"type": "http",
"url": "https://<gitlab.example.com>/api/v4/mcp"
}
}
}
X-Gitlab-Mcp-Server-Tool-Name-Prefix HTTP 헤더를 구성하여 도구 이름에 프리픽스를 추가할 수 있습니다.
프리픽싱은 다른 MCP 서버와의 도구 이름 충돌이나 구성에서 여러 GitLab 인스턴스 간의 충돌을 방지하는 데 도움이 됩니다.
프리픽스는 32자를 초과하면 처음 32자로 잘립니다.
{
"mcpServers": {
"GitLab": {
"type": "http",
"url": "https://<gitlab.example.com>/api/v4/mcp",
"headers": {
"X-Gitlab-Mcp-Server-Tool-Name-Prefix": "gitlab_"
}
}
}
}
mcp-remote를 사용한 stdio 전송#
전제 조건:
- Node.js 버전 20 이상을 설치합니다.
stdio 전송을 사용하여 GitLab MCP 서버를 구성하려면 다음 형식을 사용합니다:
"command":매개변수의 경우npx가 전역이 아닌 로컬로 설치된 경우npx의 전체 경로를 제공합니다.<gitlab.example.com>을 다음으로 교체합니다:- GitLab Self-Managed에서는 GitLab 인스턴스 URL.
- GitLab.com에서는
gitlab.com.
{
"mcpServers": {
"GitLab": {
"command": "npx",
"args": [
"mcp-remote",
"https://<gitlab.example.com>/api/v4/mcp"
]
}
}
}
Cursor를 GitLab MCP 서버에 연결#
Cursor는 추가 종속성 없이 직접 연결을 위해 HTTP 전송을 사용합니다. Cursor에서 GitLab MCP 서버를 구성하려면:
-
Cursor에서 설정 > Cursor 설정 > 도구 및 MCP로 이동합니다.
-
설치된 MCP 서버 아래에서 새 MCP 서버를 선택합니다.
-
열린
mcp.json파일의mcpServers키에 이 정의를 추가합니다:<gitlab.example.com>을 다음으로 교체합니다:- GitLab Self-Managed에서는 GitLab 인스턴스 URL.
- GitLab.com에서는
gitlab.com.
{ "mcpServers": { "GitLab": { "type": "http", "url": "https://<gitlab.example.com>/api/v4/mcp" } } } -
파일을 저장하고 브라우저에서 OAuth 인증 페이지가 열리기를 기다립니다.
이것이 일어나지 않으면 Cursor를 닫고 재시작합니다.
-
브라우저에서 인증 요청을 검토하고 승인합니다.
이제 사용 가능한 도구에 따라 새 채팅을 시작하고 질문할 수 있습니다.
이 도구를 사용할 때 프롬프트 인젝션에 대한 보호는 사용자의 책임입니다. 극도로 주의하거나 신뢰하는 GitLab 객체에만 MCP 도구를 사용합니다.
Claude Code를 GitLab MCP 서버에 연결#
Claude Code는 추가 종속성 없이 직접 연결을 위해 HTTP 전송을 사용합니다. Claude Code에서 GitLab MCP 서버를 구성하려면:
-
터미널에서 CLI를 사용하여 GitLab MCP 서버를 추가합니다:
<gitlab.example.com>을 다음으로 교체합니다:- GitLab Self-Managed에서는 GitLab 인스턴스 URL.
- GitLab.com에서는
gitlab.com.
claude mcp add --transport http GitLab https://<gitlab.example.com>/api/v4/mcp -
Claude Code를 시작합니다:
claude -
GitLab MCP 서버로 인증합니다:
- 채팅에서
/mcp를 입력합니다. - 목록에서 GitLab 서버를 선택합니다.
- 브라우저에서 인증 요청을 검토하고 승인합니다.
- 채팅에서
-
선택 사항. 연결을 확인하려면
/mcp를 다시 입력합니다. GitLab 서버가 연결됨으로 표시되어야 합니다.
이제 사용 가능한 도구에 따라 새 채팅을 시작하고 질문할 수 있습니다.
이 도구를 사용할 때 프롬프트 인젝션에 대한 보호는 사용자의 책임입니다. 극도로 주의하거나 신뢰하는 GitLab 객체에만 MCP 도구를 사용합니다.
Claude Desktop을 GitLab MCP 서버에 연결#
전제 조건:
- Node.js 버전 20 이상을 설치합니다.
- Node.js를
PATH환경 변수에서 전역으로 사용할 수 있어야 합니다(which -a node).
Claude Desktop에서 GitLab MCP 서버를 구성하려면:
-
Claude Desktop을 엽니다.
-
구성 파일을 편집합니다. 다음 중 하나를 수행할 수 있습니다:
- Claude Desktop에서 설정 > 개발자 > 구성 편집으로 이동합니다.
- macOS에서
~/Library/Application Support/Claude/claude_desktop_config.json파일을 엽니다.
-
GitLab MCP 서버에 대한 이 항목을 추가하고 필요에 따라 편집합니다:
"command":매개변수의 경우npx가 전역이 아닌 로컬로 설치된 경우npx의 전체 경로를 제공합니다.<gitlab.example.com>을 다음으로 교체합니다:- GitLab Self-Managed에서는 GitLab 인스턴스 URL.
- GitLab.com에서는
GitLab.com.
{ "mcpServers": { "GitLab": { "command": "npx", "args": [ "-y", "mcp-remote", "https://<gitlab.example.com>/api/v4/mcp" ] } } } -
구성을 저장하고 Claude Desktop을 재시작합니다.
-
처음 연결 시 Claude Desktop이 OAuth를 위한 브라우저 창을 엽니다. 요청을 검토하고 승인합니다.
-
설정 > 개발자로 이동하여 새 GitLab MCP 구성을 확인합니다.
-
설정 > 커넥터로 이동하여 연결된 GitLab MCP 서버를 검사합니다.
이제 사용 가능한 도구에 따라 새 채팅을 시작하고 질문할 수 있습니다.
이 도구를 사용할 때 프롬프트 인젝션에 대한 보호는 사용자의 책임입니다. 극도로 주의하거나 신뢰하는 GitLab 객체에만 MCP 도구를 사용합니다.
Gemini Code Assist 및 Gemini CLI를 GitLab MCP 서버에 연결#
Gemini Code Assist 및 Gemini CLI는 추가 종속성 없이 직접 연결을 위해 HTTP 전송을 사용합니다. Gemini Code Assist 또는 Gemini CLI에서 GitLab MCP 서버를 구성하려면:
-
~/.gemini/settings.json을 편집하고 GitLab MCP 서버를 추가합니다.<gitlab.example.com>을 다음으로 교체합니다:- GitLab Self-Managed에서는 GitLab 인스턴스 URL.
- GitLab.com에서는
gitlab.com.
{ "mcpServers": { "GitLab": { "httpUrl": "https://<gitlab.example.com>/api/v4/mcp" } } } -
Gemini Code Assist 또는 Gemini CLI에서
/mcp auth GitLab명령을 실행합니다.OAuth 인증 페이지가 나타나야 합니다. 그렇지 않으면 Gemini Code Assist 또는 Gemini CLI를 재시작합니다.
-
브라우저에서 인증 요청을 검토하고 승인합니다.
이제 사용 가능한 도구에 따라 새 채팅을 시작하고 질문할 수 있습니다.
이 도구를 사용할 때 프롬프트 인젝션에 대한 보호는 사용자의 책임입니다. 극도로 주의하거나 신뢰하는 GitLab 객체에만 MCP 도구를 사용합니다.
VS Code의 GitHub Copilot을 GitLab MCP 서버에 연결#
GitHub Copilot은 추가 종속성 없이 직접 연결을 위해 HTTP 전송을 사용합니다. VS Code의 GitHub Copilot에서 GitLab MCP 서버를 구성하려면:
-
VS Code에서 명령 팔레트를 엽니다:
- macOS에서 Command+Shift+P를 누릅니다.
- Windows 또는 Linux에서 Control+Shift+P를 누릅니다.
-
MCP: Add Server를 입력하고 Enter를 누릅니다. -
서버 유형으로 HTTP를 선택합니다.
-
서버 URL로
https://<gitlab.example.com>/api/v4/mcp를 입력합니다.<gitlab.example.com>을 다음으로 교체합니다:- GitLab Self-Managed에서는 GitLab 인스턴스 URL.
- GitLab.com에서는
gitlab.com.
-
서버 ID로
GitLab을 입력합니다. -
전역으로 또는
vscode/mcp.json작업 공간에 구성을 저장합니다.OAuth 인증 페이지가 나타나야 합니다. 그렇지 않으면 명령 팔레트를 열고 MCP: List Servers를 검색하여 상태를 확인하거나 서버를 재시작합니다.
-
브라우저에서 인증 요청을 검토하고 승인합니다.
이제 사용 가능한 도구에 따라 새 채팅을 시작하고 질문할 수 있습니다.
이 도구를 사용할 때 프롬프트 인젝션에 대한 보호는 사용자의 책임입니다. 극도로 주의하거나 신뢰하는 GitLab 객체에만 MCP 도구를 사용합니다.
VS Code의 Continue를 GitLab MCP 서버에 연결#
전제 조건:
- Node.js 버전 20 이상을 설치합니다.
- Node.js를
PATH환경 변수에서 전역으로 사용할 수 있어야 합니다(which -a node).
VS Code의 Continue에서 GitLab MCP 서버를 구성하려면:
-
VS Code의 활동 표시줄에서 Continue 확장을 선택합니다.
-
설정을 열고 도구를 선택합니다.
-
MCP 서버 옆에서 새 서버를 추가합니다.
-
.continue/mcpServers/new-mcp-server.yaml구성 파일을 편집합니다:<gitlab.example.com>을 다음으로 교체합니다:- GitLab Self-Managed에서는 GitLab 인스턴스 URL.
- GitLab.com에서는
gitlab.com.
name: GitLab MCP server version: 0.0.1 schema: v1 mcpServers: - name: GitLab MCP server type: stdio command: npx args: - mcp-remote - https://<gitlab.example.com>/api/v4/mcp -
구성을 저장합니다.
OAuth 인증 페이지가 나타나야 합니다.
-
브라우저에서 인증 요청을 검토하고 승인합니다.
이제 사용 가능한 도구에 따라 새 채팅을 시작하고 질문할 수 있습니다.
이 도구를 사용할 때 프롬프트 인젝션에 대한 보호는 사용자의 책임입니다. 극도로 주의하거나 신뢰하는 GitLab 객체에만 MCP 도구를 사용합니다.
Kiro IDE 및 CLI를 GitLab MCP 서버에 연결#
Kiro IDE 및 CLI는 추가 종속성 없이 직접 연결을 위해 HTTP 전송을 사용합니다. Kiro IDE 또는 CLI에서 GitLab MCP 서버를 구성하려면:
-
~/.kiro/settings/mcp.json을 편집하고 GitLab MCP 서버를 추가합니다.<gitlab.example.com>을 다음으로 교체합니다:- GitLab Self-Managed에서는 GitLab 인스턴스 URL.
- GitLab.com에서는
gitlab.com.
{ "mcpServers": { "GitLab": { "type": "http", "url": "https://<gitlab.example.com>/api/v4/mcp" } } } -
구성을 저장합니다.
OAuth 인증 페이지가 나타나야 합니다. 그렇지 않으면 Kiro CLI를 열고
/mcp명령을 실행합니다. -
브라우저에서 인증 요청을 검토하고 승인합니다.
이제 사용 가능한 도구에 따라 새 채팅을 시작하고 질문할 수 있습니다.
이 도구를 사용할 때 프롬프트 인젝션에 대한 보호는 사용자의 책임입니다. 극도로 주의하거나 신뢰하는 GitLab 객체에만 MCP 도구를 사용합니다.
OpenAI Codex를 GitLab MCP 서버에 연결#
OpenAI Codex는 추가 종속성 없이 직접 연결을 위해 HTTP 전송을 사용합니다. OpenAI Codex에서 GitLab MCP 서버를 구성하려면:
-
터미널에서 CLI를 사용하여 GitLab MCP 서버를 추가합니다:
<gitlab.example.com>을 다음으로 교체합니다:- GitLab Self-Managed에서는 GitLab 인스턴스 URL.
- GitLab.com에서는
gitlab.com.
codex mcp add --url "https://<gitlab.example.com>/api/v4/mcp" GitLab -
~/.codex/config.toml을 편집하고[features]섹션에서rmcp_client기능 플래그를 활성화합니다.[features] "rmcp_client" = true [mcp_servers.GitLab] url = "https://<gitlab.example.com>/api/v4/mcp" -
로그인 흐름을 실행하고 GitLab 인스턴스로 인증합니다.
codex mcp login GitLab -
브라우저에서 인증 요청을 검토하고 승인합니다.
이제 사용 가능한 도구에 따라 새 채팅을 시작하고 질문할 수 있습니다.
이 도구를 사용할 때 프롬프트 인젝션에 대한 보호는 사용자의 책임입니다. 극도로 주의하거나 신뢰하는 GitLab 객체에만 MCP 도구를 사용합니다.
Zed를 GitLab MCP 서버에 연결#
전제 조건:
- Node.js 버전 20 이상을 설치합니다.
- Node.js를
PATH환경 변수에서 전역으로 사용할 수 있어야 합니다(which -a node).
Zed에서 GitLab MCP 서버를 구성하려면:
-
Zed에서 명령 팔레트를 엽니다:
- macOS에서 Command+Shift+P를 누릅니다.
- Windows 또는 Linux에서 Control+Shift+P를 누릅니다.
-
agent: open settings를 입력하고 Enter를 누릅니다. -
Model Context Protocol(MCP) 서버 섹션에서 서버 추가를 선택합니다.
-
args의 서버 URL로https://<gitlab.example.com>/api/v4/mcp를 사용합니다.<gitlab.example.com>을 다음으로 교체합니다:- GitLab Self-Managed에서는 GitLab 인스턴스 URL.
- GitLab.com에서는
gitlab.com.
{ /// MCP 서버 이름 "GitLab": { /// MCP 서버를 실행하는 명령 "command": "npx", /// MCP 서버에 전달할 인수 "args": ["-y","mcp-remote@latest","https://<gitlab.example.com>/api/v4/mcp"], /// 설정할 환경 변수 "env": {} } } -
구성을 저장합니다.
OAuth 인증 페이지가 나타나야 합니다. 나타나지 않으면 GitLab 토글을 껐다가 다시 켭니다.
-
브라우저에서 인증 요청을 검토하고 승인합니다.
이제 사용 가능한 도구에 따라 새 채팅을 시작하고 질문할 수 있습니다.
이 도구를 사용할 때 프롬프트 인젝션에 대한 보호는 사용자의 책임입니다. 극도로 주의하거나 신뢰하는 GitLab 객체에만 MCP 도구를 사용합니다.
