GitLab MCP 서버 도구
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
이 기능에 대한 피드백을 제공하려면 이슈 561564에 댓글을 남깁니다. GitLab MCP 서버는 기존 GitLab 워크플로와 통합하는 도구 세트를 제공합니다. GitLab MCP 서버의 현재 버전을 반환합니다. GitLab 프로젝트에 새 이슈를 만듭니다.
이 기능에 대한 피드백을 제공하려면 이슈 561564에 댓글을 남깁니다.
GitLab MCP 서버는 기존 GitLab 워크플로와 통합하는 도구 세트를 제공합니다. 이 도구를 사용하여 GitLab과 직접 상호 작용하고 일반적인 GitLab 작업을 수행할 수 있습니다.
get_mcp_server_version#
GitLab MCP 서버의 현재 버전을 반환합니다.
예시:
What version of the GitLab MCP server am I connected to?
create_issue#
GitLab 프로젝트에 새 이슈를 만듭니다.
| 파라미터 | 유형 | 필수 | 설명 |
|---|---|---|---|
id |
문자열 | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로. |
title |
문자열 | 예 | 이슈 제목. |
description |
문자열 | 아니요 | 이슈 설명. |
assignee_ids |
정수 배열 | 아니요 | 배정된 사용자 ID 배열. |
milestone_id |
정수 | 아니요 | 마일스톤 ID. |
labels |
문자열 배열 | 아니요 | 레이블 이름 배열. |
confidential |
불리언 | 아니요 | 이슈를 기밀로 설정합니다. 기본값은 false. |
epic_id |
정수 | 아니요 | 연결된 에픽의 ID. |
예시:
Create a new issue titled "Fix login bug" in project 123 with description
"Users cannot log in with special characters in password"
get_issue#
특정 GitLab 이슈에 대한 자세한 정보를 가져옵니다.
| 파라미터 | 유형 | 필수 | 설명 |
|---|---|---|---|
id |
문자열 | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로. |
issue_iid |
정수 | 예 | 이슈의 내부 ID. |
예시:
Get details for issue 42 in project 123
create_merge_request#
히스토리
GitLab 프로젝트에 머지 리퀘스트를 만듭니다.
| 파라미터 | 유형 | 필수 | 설명 |
|---|---|---|---|
id |
문자열 | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로. |
title |
문자열 | 예 | 머지 리퀘스트 제목. |
source_branch |
문자열 | 예 | 소스 브랜치 이름. |
target_branch |
문자열 | 예 | 대상 브랜치 이름. |
target_project_id |
정수 | 아니요 | 대상 프로젝트의 ID. |
assignee_ids |
정수 배열 | 아니요 | 머지 리퀘스트 담당자의 ID 배열. 모든 담당자를 해제하려면 0 또는 빈 값으로 설정합니다. |
reviewer_ids |
정수 배열 | 아니요 | 머지 리퀘스트 리뷰어의 ID 배열. 모든 리뷰어를 해제하려면 0 또는 빈 값으로 설정합니다. |
description |
문자열 | 아니요 | 머지 리퀘스트 설명. |
labels |
문자열 배열 | 아니요 | 레이블 이름 배열. 모든 레이블을 해제하려면 빈 문자열로 설정합니다. |
milestone_id |
정수 | 아니요 | 마일스톤 ID. |
예시:
Create a merge request in project gitlab-org/gitlab titled "Bug fix broken specs"
from branch "fix/specs-broken" into "master" and enable squash
get_merge_request#
특정 GitLab 머지 리퀘스트에 대한 자세한 정보를 가져옵니다.
| 파라미터 | 유형 | 필수 | 설명 |
|---|---|---|---|
id |
문자열 | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로. |
merge_request_iid |
정수 | 예 | 머지 리퀘스트의 내부 ID. |
예시:
Get details for merge request 15 in project gitlab-org/gitlab
get_merge_request_commits#
특정 GitLab 머지 리퀘스트의 커밋 목록을 가져옵니다.
| 파라미터 | 유형 | 필수 | 설명 |
|---|---|---|---|
id |
문자열 | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로. |
merge_request_iid |
정수 | 예 | 머지 리퀘스트의 내부 ID. |
per_page |
정수 | 아니요 | 페이지당 커밋 수. |
page |
정수 | 아니요 | 현재 페이지 번호. |
예시:
Show me all commits in merge request 42 from project 123
get_merge_request_diffs#
특정 GitLab 머지 리퀘스트의 diff를 가져옵니다.
| 파라미터 | 유형 | 필수 | 설명 |
|---|---|---|---|
id |
문자열 | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로. |
merge_request_iid |
정수 | 예 | 머지 리퀘스트의 내부 ID. |
per_page |
정수 | 아니요 | 페이지당 diff 수. |
page |
정수 | 아니요 | 현재 페이지 번호. |
예시:
What files were changed in merge request 25 in the gitlab project?
get_merge_request_pipelines#
특정 GitLab 머지 리퀘스트의 파이프라인을 가져옵니다.
| 파라미터 | 유형 | 필수 | 설명 |
|---|---|---|---|
id |
문자열 | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로. |
merge_request_iid |
정수 | 예 | 머지 리퀘스트의 내부 ID. |
예시:
Show me all pipelines for merge request 42 in project gitlab-org/gitlab
get_pipeline_jobs#
특정 GitLab CI/CD 파이프라인의 잡을 가져옵니다.
| 파라미터 | 유형 | 필수 | 설명 |
|---|---|---|---|
id |
문자열 | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로. |
pipeline_id |
정수 | 예 | 파이프라인 ID. |
per_page |
정수 | 아니요 | 페이지당 잡 수. |
page |
정수 | 아니요 | 현재 페이지 번호. |
예시:
Show me all jobs in pipeline 12345 for project gitlab-org/gitlab
manage_pipeline#
히스토리
- GitLab 18.10에서 도입.
GitLab 프로젝트의 CI/CD 파이프라인을 관리합니다.
| 파라미터 | 유형 | 필수 | 설명 |
|---|---|---|---|
id |
문자열 | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로. |
list |
불리언 | 아니요 | true이면 프로젝트의 모든 파이프라인을 나열합니다. |
ref |
문자열 | 아니요 | 브랜치 또는 태그 이름. 설정하면 브랜치 또는 태그에 새 파이프라인을 만듭니다. 목록 필터링에 선택적으로 사용. |
pipeline_id |
정수 | 아니요 | 파이프라인 ID. 이 파라미터만 설정하면 파이프라인과 모든 관련 데이터를 삭제합니다. |
retry |
불리언 | 아니요 | true이고 pipeline_id가 설정된 경우 실패하거나 취소된 파이프라인 잡을 재시도합니다. |
cancel |
불리언 | 아니요 | true이고 pipeline_id가 설정된 경우 실행 중인 파이프라인의 모든 잡을 취소합니다. |
name |
문자열 | 아니요 | 파이프라인 이름. 이 파라미터와 pipeline_id가 설정된 경우 파이프라인 메타데이터를 업데이트합니다. |
variables |
배열 | 아니요 | 배열 형식의 파이프라인 변수 ([{key, value, variable_type}]). |
inputs |
해시 | 아니요 | 키-값 쌍으로 된 파이프라인 입력 파라미터. |
page |
정수 | 아니요 | 현재 페이지 번호. 기본값은 1. |
per_page |
정수 | 아니요 | 페이지당 항목 수. 기본값은 20. |
예시:
-
파이프라인 나열:
List all pipelines for project gitlab-org/gitlab -
파이프라인 만들기:
Create a pipeline on the main branch for project gitlab-org/gitlab -
파이프라인 업데이트:
Rename pipeline 12345 to "My deploy pipeline" in project gitlab-org/gitlab -
파이프라인 재시도:
Retry failed jobs in pipeline 12345 for project gitlab-org/gitlab -
파이프라인 취소:
Cancel pipeline 12345 in project gitlab-org/gitlab -
파이프라인 삭제:
Delete pipeline 12345 in project gitlab-org/gitlab
create_workitem_note#
히스토리
- GitLab 18.7에서 도입.
GitLab 작업 항목에 새 노트(댓글)를 만듭니다.
| 파라미터 | 유형 | 필수 | 설명 |
|---|---|---|---|
body |
문자열 | 예 | 노트 내용. |
url |
문자열 | 아니요 | 작업 항목의 URL. group_id 또는 project_id와 work_item_iid가 없는 경우 필요. |
group_id |
문자열 | 아니요 | 그룹의 ID 또는 경로. url과 project_id가 없는 경우 필요. |
project_id |
문자열 | 아니요 | 프로젝트의 ID 또는 경로. url과 group_id가 없는 경우 필요. |
work_item_iid |
정수 | 아니요 | 작업 항목의 내부 ID. url이 없는 경우 필요. |
internal |
불리언 | 아니요 | 노트를 내부 노트로 표시합니다(프로젝트에 대해 Reporter, Developer, Maintainer 또는 Owner 역할을 가진 사용자에게만 표시). 기본값은 false. |
discussion_id |
문자열 | 아니요 | 답글을 달 토론의 글로벌 ID(gid://gitlab/Discussion/<id> 형식). |
예시:
Add a comment "This looks good to me" to work item 42 in project gitlab-org/gitlab
get_workitem_notes#
히스토리
- GitLab 18.7에서 도입.
특정 GitLab 작업 항목의 모든 노트(댓글)를 가져옵니다.
| 파라미터 | 유형 | 필수 | 설명 |
|---|---|---|---|
url |
문자열 | 아니요 | 작업 항목의 URL. group_id 또는 project_id와 work_item_iid가 없는 경우 필요. |
group_id |
문자열 | 아니요 | 그룹의 ID 또는 경로. url과 project_id가 없는 경우 필요. |
project_id |
문자열 | 아니요 | 프로젝트의 ID 또는 경로. url과 group_id가 없는 경우 필요. |
work_item_iid |
정수 | 아니요 | 작업 항목의 내부 ID. url이 없는 경우 필요. |
after |
문자열 | 아니요 | 정방향 페이지네이션을 위한 커서. |
before |
문자열 | 아니요 | 역방향 페이지네이션을 위한 커서. |
first |
정수 | 아니요 | 정방향 페이지네이션에 반환할 노트 수. |
last |
정수 | 아니요 | 역방향 페이지네이션에 반환할 노트 수. |
예시:
Show me all comments on work item 42 in project gitlab-org/gitlab
search#
히스토리
검색 API를 사용하여 전체 GitLab 인스턴스에서 용어를 검색합니다. 이 도구는 전역, 그룹, 프로젝트 검색에 사용할 수 있습니다. 사용 가능한 범위는 검색 유형에 따라 다릅니다.
| 파라미터 | 유형 | 필수 | 설명 |
|---|---|---|---|
scope |
문자열 | 예 | 검색 범위(예: issues, merge_requests, projects). |
search |
문자열 | 예 | 검색어. |
group_id |
문자열 | 아니요 | 검색할 그룹의 ID 또는 URL 인코딩된 경로. |
project_id |
문자열 | 아니요 | 검색할 프로젝트의 ID 또는 URL 인코딩된 경로. |
state |
문자열 | 아니요 | 검색 결과 상태(issues 및 merge_requests용). |
confidential |
불리언 | 아니요 | 기밀 여부로 결과를 필터링합니다(issues용). 기본값은 false. |
fields |
문자열 배열 | 아니요 | 검색할 필드 배열(issues 및 merge_requests용). |
order_by |
문자열 | 아니요 | 결과를 정렬할 속성. 기본 검색의 경우 기본값은 created_at, 고급 검색의 경우 관련성. |
sort |
문자열 | 아니요 | 결과 정렬 방향. 기본값은 desc. |
per_page |
정수 | 아니요 | 페이지당 결과 수. 기본값은 20. |
page |
정수 | 아니요 | 현재 페이지 번호. 기본값은 1. |
예시:
Search issues for "flaky test" across GitLab
search_labels#
히스토리
- GitLab 18.9에서 도입.
GitLab 프로젝트 또는 그룹의 레이블을 검색합니다.
| 파라미터 | 유형 | 필수 | 설명 |
|---|---|---|---|
full_path |
문자열 | 예 | 프로젝트 또는 그룹의 전체 경로(예: group/project). |
is_project |
불리언 | 예 | 프로젝트(true) 또는 그룹(false)에서 검색할지 여부. |
search |
문자열 | 아니요 | 제목으로 레이블을 필터링하는 검색어. |
그룹 레이블을 검색하면 결과에 상위 및 하위 그룹의 레이블이 포함됩니다.
예시:
Show me all labels in project gitlab-org/gitlab
semantic_code_search#
히스토리
GitLab 프로젝트에서 관련 코드 스니펫을 검색합니다. 설정 및 활성화 방법을 포함한 자세한 내용은 시맨틱 코드 검색을 참조합니다.
| 파라미터 | 유형 | 필수 | 설명 |
|---|---|---|---|
semantic_query |
문자열 | 예 | 코드에 대한 검색 쿼리. |
project_id |
문자열 | 예 | 프로젝트의 ID 또는 경로. |
directory_path |
문자열 | 아니요 | 디렉토리 경로(예: app/services/). |
knn |
정수 | 아니요 | 유사한 코드 스니펫을 찾는 데 사용되는 최근접 이웃 수. 기본값은 64. |
limit |
정수 | 아니요 | 반환할 최대 결과 수. 기본값은 20. |
최상의 결과를 위해 일반적인 키워드나 특정 함수 또는 변수 이름을 사용하는 대신 관심 있는 기능이나 동작을 설명합니다.
예시:
How are authorizations managed in this project?
