remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Allows interaction with GitLab repositories including creating/updating files, pushing multiple files, searching repositories, creating repositories, getting file contents, creating issues, creating merge requests, forking repositories, creating branches, getting merge request details and diffs, updating merge requests, and creating notes/comments.
더 나은 GitLab MCP 서버
@zereight/mcp-gitlab
GitLab MCP(모델 컨텍스트 프로토콜) 서버. 기존 GitLab MCP 서버에 대한 버그 수정 및 개선 사항이 포함되어 있습니다.
용법
Claude App, Cline, Roo Code, Cursor와 함께 사용
Claude 앱을 사용하는 경우 API 키와 URL을 직접 설정해야 합니다.
지엑스피1
환경 변수
GITLAB_PERSONAL_ACCESS_TOKEN
: GitLab 개인 액세스 토큰입니다.GITLAB_API_URL
: GitLab API URL입니다. (기본값:https://gitlab.com/api/v4
)GITLAB_READ_ONLY_MODE
: 'true'로 설정하면 서버가 읽기 전용 작업만 노출하도록 제한합니다. 보안 강화 또는 쓰기 권한이 필요하지 않을 때 유용합니다. 또한 커서 및 도구 제한(40개)과 함께 사용할 때 유용합니다.
도구 🛠️
create_or_update_file
- GitLab 프로젝트에서 단일 파일을 만들거나 업데이트합니다. 📝
- 입력:
project_id
(문자열): 프로젝트 ID 또는 네임스페이스/프로젝트_경로file_path
(문자열): 파일을 생성/업데이트할 경로content
(문자열): 파일 내용commit_message
(문자열): 커밋 메시지branch
(문자열): 파일을 생성/업데이트할 브랜치previous_path
(선택적 문자열): 파일 이름을 바꿀 때 이전 파일 경로
- 반환: 파일 내용 및 커밋 세부 정보
push_files
- 단일 커밋에 여러 파일을 푸시합니다. 📤
- 입력:
project_id
(문자열): 프로젝트 ID 또는 네임스페이스/프로젝트_경로branch
(문자열): 푸시할 브랜치files
(배열): 푸시할 파일의 배열, 각각file_path
및content
속성 포함commit_message
(문자열): 커밋 메시지
- 반환: 업데이트된 지점 참조
search_repositories
- GitLab 프로젝트를 검색하세요. 🔍
- 입력:
search
(문자열): 검색어page
(선택 번호): 페이지 번호(기본값: 1)per_page
(선택적 숫자): 페이지당 결과(기본값: 20, 최대: 100)
- 반환: 프로젝트 검색 결과
create_repository
- 새로운 GitLab 프로젝트를 만듭니다. ➕
- 입력:
name
(문자열): 프로젝트 이름description
(선택 문자열): 프로젝트 설명visibility
(선택 문자열): 프로젝트 가시성 수준(공개, 비공개, 내부)initialize_with_readme
(선택적 부울): README로 초기화
- 반환: 생성된 프로젝트의 세부 정보
get_file_contents
- 파일이나 디렉토리의 내용을 가져옵니다. 📂
- 입력:
project_id
(문자열): 프로젝트 ID 또는 네임스페이스/프로젝트_경로file_path
(문자열): 파일/디렉토리 경로ref
(선택적 문자열): 브랜치, 태그 또는 커밋 SHA(기본값: 기본 브랜치)
- 반환: 파일/디렉토리 콘텐츠
create_issue
- 새로운 이슈를 생성하세요. 🐛
- 입력:
project_id
(문자열): 프로젝트 ID 또는 네임스페이스/프로젝트_경로title
(문자열): 이슈 제목description
(문자열): 문제 설명assignee_ids
(선택 사항 number[]): 담당자 ID 배열milestone_id
(선택적 숫자): 마일스톤 IDlabels
(선택적 문자열[]): 레이블 배열
- 반환: 생성된 이슈의 세부 정보
create_merge_request
- 새로운 병합 요청을 만듭니다. 🚀
- 입력:
project_id
(문자열): 프로젝트 ID 또는 네임스페이스/프로젝트_경로title
(문자열): 병합 요청 제목description
(문자열): 병합 요청 설명source_branch
(문자열): 변경 사항이 있는 브랜치target_branch
(문자열): 병합할 브랜치allow_collaboration
(선택적 부울): 공동작업자가 소스 브랜치에 커밋을 푸시하도록 허용합니다.draft
(선택적 부울): 초안 병합 요청으로 생성
- 반환: 생성된 병합 요청의 세부 정보
fork_repository
- 프로젝트를 포크하세요. 🍴
- 입력:
project_id
(문자열): 포크할 프로젝트 ID 또는 네임스페이스/프로젝트 경로namespace
(선택적 문자열): 포크할 네임스페이스(기본값: 사용자 네임스페이스)
- 반환: 포크된 프로젝트의 세부 정보
create_branch
- 새로운 지점을 만드세요. 🌿
- 입력:
project_id
(문자열): 프로젝트 ID 또는 네임스페이스/프로젝트_경로name
(문자열): 새 지점 이름ref
(선택적 문자열): 브랜치를 생성할 참조(브랜치, 태그, 커밋 SHA, 기본값: 기본 브랜치)
- 반환: 생성된 브랜치 참조
get_merge_request
- 병합 요청에 대한 세부 정보를 받으세요. ℹ️
- 입력:
project_id
(문자열): 프로젝트 ID 또는 네임스페이스/프로젝트_경로merge_request_iid
(숫자): 병합 요청 IID
- 반환: 병합 요청 세부 정보
get_merge_request_diffs
- 병합 요청의 변경 사항(diffs)을 가져옵니다. diff
- 입력:
project_id
(문자열): 프로젝트 ID 또는 네임스페이스/프로젝트_경로merge_request_iid
(숫자): 병합 요청 IIDview
(선택적 문자열): Diff 뷰 유형('inline' 또는 'parallel')
- 반환: 병합 요청 diff 정보 배열
update_merge_request
- 병합 요청을 업데이트합니다. 🔄
- 입력:
project_id
(문자열): 프로젝트 ID 또는 네임스페이스/프로젝트_경로merge_request_iid
(숫자): 병합 요청 IIDtitle
(선택 문자열): 새 제목description
(문자열): 새 설명target_branch
(선택적 문자열): 새로운 대상 브랜치state_event
(선택적 문자열): 병합 요청 상태 변경 이벤트('close', 'reopen')remove_source_branch
(선택적 부울): 병합 후 소스 브랜치 제거allow_collaboration
(선택적 부울): 공동작업자가 소스 브랜치에 커밋을 푸시하도록 허용합니다.
- 반환: 업데이트된 병합 요청 세부 정보
create_note
- 문제 또는 병합 요청에 대한 새로운 메모(댓글)를 작성하세요. 💬
- 입력:
project_id
(문자열): 프로젝트 ID 또는 네임스페이스/프로젝트_경로noteable_type
(문자열): 주목할 사항의 유형("issue" 또는 "merge_request")noteable_iid
(숫자): 문제 또는 병합 요청의 IIDbody
(문자열): 메모 내용
- 반환: 생성된 노트의 세부 정보
list_projects
- 다양한 필터링 옵션으로 접근 가능한 프로젝트를 나열하세요 📊
- 입력:
- 검색/필터링:
search
owned
membership
archived
visibility
- 기능 필터링:
with_issues_enabled
with_merge_requests_enabled
- 정렬:
order_by
sort
- 접근 제어:
min_access_level
- 쪽수 매기기:
page
per_page
simple
- 검색/필터링:
- 반환: 프로젝트 배열
list_labels
- 필터링 옵션을 사용하여 프로젝트의 모든 라벨을 나열하세요 🏷️
- 입력:
project_id
(문자열): 프로젝트 ID 또는 경로with_counts
(선택 사항): 문제 및 병합 요청 수를 포함합니다.include_ancestor_groups
(선택 사항): 조상 그룹 포함search
(선택 사항): 키워드로 레이블 필터링
- 반환: 레이블 배열
get_label
- 프로젝트에서 단일 레이블 가져오기
- 입력:
project_id
(문자열): 프로젝트 ID 또는 경로label_id
(숫자/문자열): 레이블 ID 또는 이름include_ancestor_groups
(선택 사항): 조상 그룹 포함
- 반품: 라벨 세부 정보
create_label
- 객체에 새 라벨을 만듭니다 🏷️➕
- 입력:
project_id
(문자열): 프로젝트 ID 또는 경로name
(문자열): 레이블 이름color
(문자열): 16진수 형식의 색상(예: "#FF0000")description
(선택 사항): 레이블 설명priority
(선택 사항): 레이블 우선순위
- 반품: 라벨 세부정보 생성됨
update_label
- 프로젝트의 기존 라벨 업데이트 🏷️✏️
- 입력:
project_id
(문자열): 프로젝트 ID 또는 경로label_id
(숫자/문자열): 레이블 ID 또는 이름new_name
(선택 사항): 새 레이블 이름color
(선택 사항): 16진수 형식의 새 색상description
(선택 사항): 새 설명priority
(선택 사항): 새로운 우선순위
- 반품: 업데이트된 라벨 세부 정보
delete_label
- 프로젝트에서 라벨 삭제하기 🏷️❌
- 입력:
project_id
(문자열): 프로젝트 ID 또는 경로label_id
(숫자/문자열): 레이블 ID 또는 이름
- 반환: 성공 메시지
list_group_projects
- GitLab 그룹의 모든 프로젝트를 나열합니다. 📂
- 입력:
group_id
(문자열): 프로젝트 ID 또는 네임스페이스/프로젝트 경로- 필터링 옵션:
include_subgroups
(선택적 부울): 하위 그룹의 프로젝트 포함search
(선택 문자열): 프로젝트를 필터링할 검색어archived
(선택적 부울): 보관된 프로젝트에 대한 필터visibility
(선택 문자열): 프로젝트 가시성(공개/내부/비공개)으로 필터링with_programming_language
(선택적 문자열): 프로그래밍 언어로 필터링starred
(선택적 부울): 별표 표시된 프로젝트로 필터링
- 기능 필터링:
with_issues_enabled
(선택적 부울): 문제 기능이 활성화된 프로젝트 필터링with_merge_requests_enabled
(선택적 부울): 병합 요청 기능이 활성화된 프로젝트 필터링min_access_level
(선택적 숫자): 최소 액세스 수준으로 필터링
- 쪽수 매기기:
page
(선택 번호): 페이지 번호per_page
(선택적 숫자): 페이지당 결과
- 정렬:
order_by
(선택적 문자열): 정렬 기준 필드sort
(선택적 문자열): 정렬 방향(오름차순/내림차순)
- 추가 데이터:
statistics
(선택적 부울): 프로젝트 통계 포함with_custom_attributes
(선택적 부울): 사용자 정의 속성 포함with_security_reports
(선택적 부울): 보안 보고서 포함
- 반환: 프로젝트 목록
환경 변수 구성
서버를 실행하기 전에 다음 환경 변수를 설정해야 합니다.
Copy
특허
MIT 라이센스
You must be authenticated.
Tools
gitlab mcp