GitLab MCP 서버
GitLab v19.2Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
GitLab 18.6에서 실험에서 베타로 변경. GitLab 18.7에서 2025-03-26 및 2025-06-18 MCP 프로토콜 사양 지원이 추가. 이 기능에 대한 피드백을 제공하려면 이슈 561564에 댓글을 남깁니다.
Status: Beta
-
GitLab 18.6에서 실험에서 베타로 변경. 기능 플래그
mcp_server및oauth_dynamic_client_registration제거됨. -
GitLab 18.7에서
2025-03-26및2025-06-18MCP 프로토콜 사양 지원이 추가.
이 기능에 대한 피드백을 제공하려면 이슈 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 Duo가 켜져 있어야 합니다:
GitLab.com에서는 최상위 그룹에 대해.
-
GitLab Self-Managed 및 GitLab Dedicated에서는 인스턴스에 대해.
-
베타 및 실험 기능이 켜져 있어야 합니다:
GitLab.com에서는 최상위 그룹에 대해.
-
GitLab Self-Managed 및 GitLab Dedicated에서는 인스턴스에 대해.
GitLab MCP 서버에 클라이언트 연결#
GitLab MCP 서버는 두 가지 전송 유형을 지원합니다:
-
HTTP 전송(권장): 추가 종속성 없이 직접 연결.
-
mcp-remote를 사용한 stdio 전송: 프록시를 통한 연결(Node.js 필요).
일반적인 AI 도구는 mcpServers 키에 대한 JSON 구성 형식을 지원하며
GitLab MCP 서버 설정을 구성하는 다양한 방법을 제공합니다.
HTTP 전송(권장)#
히스토리
- GitLab 18.6에서 도입.
- 도구 프리픽싱이 GitLab 18.11에서 추가.
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에서 Settings > Cursor Settings > Tools & MCP로 이동합니다.
-
Installed MCP Servers 아래에서 New MCP Server를 선택합니다.
-
열린
mcp.json파일의mcpServers키에 이 정의를 추가합니다:<gitlab.example.com>을 다음으로 교체합니다:GitLab Self-Managed에서는 GitLab 인스턴스 URL.
- GitLab.com에서는
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.
- 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에서 Settings > Developer > Edit Config로 이동합니다.
- macOS에서
~/Library/Application Support/Claude/claude_desktop_config.json파일을 엽니다.
- macOS에서
-
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를 위한 브라우저 창을 엽니다. 요청을 검토하고 승인합니다.
-
Settings > Developer로 이동하여 새 GitLab MCP 구성을 확인합니다.
-
Settings > Connectors로 이동하여 연결된 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.
- 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.
- GitLab.com에서는
-
서버 ID로
GitLab을 입력합니다. -
전역으로 또는
vscode/mcp.json작업 공간에 구성을 저장합니다.OAuth 인증 페이지가 나타나야 합니다. 그렇지 않으면 명령 팔레트를 열고 MCP: List Servers를 검색하여 상태를 확인하거나 서버를 재시작합니다.
-
브라우저에서 인증 요청을 검토하고 승인합니다.
이제 사용 가능한 도구에 따라 새 채팅을 시작하고 질문할 수 있습니다.
이 도구를 사용할 때 프롬프트 인젝션에 대한 보호는 사용자의 책임입니다. 극도로 주의하거나 신뢰하는 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.
- 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.
- 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) Servers 섹션에서 Add Server를 선택합니다.
-
args의 서버 URL로https://<gitlab.example.com>/api/v4/mcp를 사용합니다.<gitlab.example.com>을 다음으로 교체합니다:GitLab Self-Managed에서는 GitLab 인스턴스 URL.
- GitLab.com에서는
gitlab.com.
- GitLab.com에서는
{
/// The name of your MCP server
"GitLab": {
/// The command which runs the MCP server
"command": "npx",
/// The arguments to pass to the MCP server
"args": ["-y","mcp-remote@latest","https://<gitlab.example.com>/api/v4/mcp"],
/// The environment variables to set
"env": {}
}
}
-
구성을 저장합니다.
OAuth 인증 페이지가 나타나야 합니다. 나타나지 않으면 GitLab 토글을 껐다가 다시 켭니다.
-
브라우저에서 인증 요청을 검토하고 승인합니다.
이제 사용 가능한 도구에 따라 새 채팅을 시작하고 질문할 수 있습니다.
이 도구를 사용할 때 프롬프트 인젝션에 대한 보호는 사용자의 책임입니다. 극도로 주의하거나 신뢰하는 GitLab 객체에만 MCP 도구를 사용합니다.