Skip to main content
Glama

Gitlab Api

CLI 또는 API | MCP | Agent

PyPI - Version MCP Server PyPI - Downloads GitHub Repo stars GitHub forks GitHub contributors PyPI - License GitHub GitHub last commit (by committer) GitHub pull requests GitHub closed pull requests GitHub issues GitHub top language GitHub language count GitHub repo size GitHub repo file count (file type) PyPI - Wheel PyPI - Implementation

Version: 27.1.0

문서 — API, CLI, MCP 인터페이스 전반의 설치, 배포, 사용법, 통합 A2A 에이전트 서버, 그리고 백엔드 GitLab 인스턴스 프로비저닝에 대한 안내는 공식 문서에서 관리됩니다.


Related MCP server: Kepler MCP GitLab Server

개요

Gitlab Api는 GitLab API + MCP Server + A2A Server와 직접 인터페이스하도록 설계된 프로덕션 등급의 Agent 및 Model Context Protocol (MCP) 서버입니다.


주요 기능

  • 통합 Action-Routed MCP 도구: 메서드를 최적화된 토글 가능한 도구 모듈로 그룹화하여 LLM 컨텍스트에서 토큰 오버헤드를 최소화하고 도구 비대화를 제거합니다.

  • 엔터프라이즈급 보안: Eunomia 정책, OIDC 토큰 위임, 세분화된 실행 컨텍스트 추적에 대한 포괄적인 지원을 제공합니다.

  • 통합 그래프 에이전트: Agent Control Protocol (ACP) 및 표준 웹 인터페이스(AG-UI)를 지원하는 내장 Pydantic AI 에이전트입니다.

  • 네이티브 텔레메트리 및 트레이싱: 기본 제공되는 OpenTelemetry 내보내기와 네이티브 Langfuse 트레이싱을 지원합니다.


CLI 또는 API

이 에이전트는 GitLab API + MCP Server + A2A Server API를 래핑합니다. 프로그래밍 방식 또는 통합 실행 진입점을 통해 상호작용할 수 있습니다.

기본 API 래퍼, 확장 스키마 바인딩, 개발자 SDK 참조 사용 방법에 대한 자세한 지침은 docs/index.md에서 관리됩니다.


MCP

이 서버는 동적 Action-Routed 도구를 활용하여 토큰 오버헤드를 최적화하고 IDE 호환성을 극대화합니다.

도구 표면 — MCP_TOOL_MODE

MCP_TOOL_MODE(공유 ~/.config/agent-utilities/config.json 또는 환경 변수)를 설정하세요: condensed(기본값 — 아래의 action-routed 도구), verbose(API 메서드당 하나의 명명된 1:1 도구, 예: gitlab_get_branches(...), verbose 태그), 또는 both. --tools tag:verbose / MCP_ENABLED_TAGS=verbose로 verbose 세트를 필터링할 수 있습니다. agent-utilities MCP Tool Modes 가이드를 참고하세요.

사용 가능한 MCP 도구

실행 중인 MCP 서버에서 자동 생성됨 — 수동으로 편집하지 마세요.

Condensed action-routed 도구 (기본값 — MCP_TOOL_MODE=condensed)

MCP Tool

토글 환경 변수

설명

api_request

CUSTOM_APITOOL

임의의 GitLab REST API 요청을 직접 실행합니다.

gitlab_branches

BRANCHESTOOL

GitLab 브랜치 작업을 관리합니다.

gitlab_commits

COMMITSTOOL

GitLab 커밋 작업을 관리합니다.

gitlab_deploy_tokens

DEPLOY_TOKENSTOOL

GitLab 배포 토큰 작업을 관리합니다.

gitlab_discover_graphql_schema

GRAPHQLTOOL

유형, 필드, 사용자 정의 속성을 포함한 동적 GitLab GraphQL 스키마를 실시간으로 탐색합니다.

gitlab_environments

ENVIRONMENTSTOOL

GitLab 환경 작업을 관리합니다.

gitlab_epics

EPICSTOOL

GitLab 에픽을 관리합니다.

gitlab_graphql

GRAPHQLTOOL

GitLab에서 원시 GraphQL 쿼리와 뮤테이션을 네이티브로 실행합니다.

gitlab_graphql_ops

GRAPHQL_OPSTOOL

이름으로 유형화된 GitLab GraphQL 작업을 실행합니다.

gitlab_groups

GROUPSTOOL

GitLab 그룹 작업을 관리합니다.

gitlab_ingest_pipelines

MISCTOOL

GitLab CI 파이프라인 실행(+ 작업)을 epistemic-graph에 네이티브로 수집합니다.

gitlab_ingest_projects

MISCTOOL

GitLab 프로젝트를 유형화된 :Project 노드로 epistemic-graph에 네이티브로 수집합니다.

gitlab_instances

MISCTOOL

구성된 GitLab 테넌트를 나열합니다 (CONCEPT:AU-KG.backend.declared-columns-so-schema).

gitlab_issues

ISSUESTOOL

GitLab 이슈를 관리합니다.

gitlab_jobs

JOBSTOOL

GitLab 작업(job) 작업을 관리합니다.

gitlab_labels

LABELSTOOL

GitLab 라벨을 관리합니다.

gitlab_members

MEMBERSTOOL

GitLab 멤버 작업을 관리합니다.

gitlab_merge_requests

MERGE_REQUESTSTOOL

GitLab 병합 요청 작업을 관리합니다.

gitlab_merge_rules

MERGE_RULESTOOL

GitLab 병합 규칙 작업을 관리합니다.

gitlab_milestones

MILESTONESTOOL

GitLab 마일스톤을 관리합니다.

gitlab_namespaces

NAMESPACESTOOL

GitLab 네임스페이스 작업을 관리합니다.

gitlab_notes

NOTESTOOL

이슈, 병합 요청, 커밋, 에픽에 대한 GitLab 노트/댓글을 관리합니다.

gitlab_packages

PACKAGESTOOL

GitLab 패키지 작업을 관리합니다.

gitlab_pipeline_schedules

PIPELINE_SCHEDULESTOOL

GitLab 파이프라인 일정 작업을 관리합니다.

gitlab_pipelines

PIPELINESTOOL

GitLab 파이프라인 작업을 관리합니다.

gitlab_projects

PROJECTSTOOL

GitLab 프로젝트 작업을 관리합니다.

gitlab_protected_branches

PROTECTED_BRANCHESTOOL

GitLab 보호된 브랜치 작업을 관리합니다.

gitlab_releases

RELEASESTOOL

GitLab 릴리스 작업을 관리합니다.

gitlab_runners

RUNNERSTOOL

GitLab 러너 작업을 관리합니다.

gitlab_snippets

SNIPPETSTOOL

GitLab 스니펫을 관리합니다.

gitlab_tags

TAGSTOOL

GitLab 태그 작업을 관리합니다.

gitlab_users

USERSTOOL

GitLab 사용자 작업을 관리합니다.

gitlab_vulnerabilities

VULNERABILITIESTOOL

프로젝트의 의존성 목록과 보안 취약점을 검토합니다 (GitHub Dependabot에 해당하는 GitLab 버전).

gitlab_wiki

WIKITOOL

GitLab 위키 작업을 관리합니다.

Verbose 1:1 API 매핑 도구 (MCP_TOOL_MODE=verbose 또는 both)

MCP 도구

토글 환경 변수

설명

gitlab_accept_merge_request

MERGE_REQUESTSTOOL

병합 요청을 수락(병합)합니다.

gitlab_api_request

SYSTEMTOOL

GitLab 서버에 사용자 지정 API 요청을 보냅니다.

gitlab_approve_merge_request

MERGE_REQUESTSTOOL

특정 병합 요청을 승인합니다.

gitlab_archive_project

PROJECTSTOOL

특정 프로젝트를 보관 처리합니다.

gitlab_cancel_merge_when_pipeline_succeeds

MERGE_REQUESTSTOOL

병합 요청의 대기 중인 "파이프라인 성공 시 병합"(자동 병합)을 취소합니다.

gitlab_cancel_project_job

PROJECTSTOOL

프로젝트 내 특정 작업을 취소합니다.

gitlab_cherry_pick_commit

REPOSITORIESTOOL

커밋을 새 브랜치로 체리픽합니다.

gitlab_create_branch

REPOSITORIESTOOL

프로젝트에 새 브랜치를 생성합니다.

gitlab_create_commit

REPOSITORIESTOOL

새 커밋을 생성합니다.

gitlab_create_commit_comment

REPOSITORIESTOOL

커밋에 댓글을 생성합니다.

gitlab_create_environment

ENVIRONMENTSTOOL

프로젝트에 새 환경을 생성합니다.

gitlab_create_epic

ISSUESTOOL

새 그룹 에픽을 생성합니다.

gitlab_create_group_deploy_token

USERS_GROUPSTOOL

그룹에 대한 배포 토큰을 생성합니다.

gitlab_create_issue

ISSUESTOOL

새 이슈를 생성합니다.

gitlab_create_label

ISSUESTOOL

새 라벨을 생성합니다.

gitlab_create_merge_request

MERGE_REQUESTSTOOL

새 병합 요청을 생성합니다.

gitlab_create_milestone

ISSUESTOOL

프로젝트 마일스톤을 생성합니다.

gitlab_create_note

OTHERTOOL

이슈에 새 노트/댓글을 생성합니다.

gitlab_create_pipeline_schedule

PIPELINESTOOL

특정 프로젝트에 대한 파이프라인 일정을 생성합니다.

gitlab_create_pipeline_schedule_variable

PIPELINESTOOL

파이프라인 일정에 대한 변수를 생성합니다.

gitlab_create_project

PROJECTSTOOL

새 프로젝트를 생성합니다.

gitlab_create_project_deploy_token

PROJECTSTOOL

프로젝트에 대한 배포 토큰을 생성합니다.

gitlab_create_project_level_rule

PROJECTSTOOL

새 프로젝트 수준 병합 요청 승인 규칙을 생성합니다.

gitlab_create_release

ENVIRONMENTSTOOL

프로젝트에 새 릴리스를 생성합니다.

gitlab_create_release_evidence

ENVIRONMENTSTOOL

프로젝트의 릴리스에 대한 증거를 생성합니다.

gitlab_create_snippet

OTHERTOOL

프로젝트 스니펫 또는 개인 스니펫을 생성합니다.

gitlab_create_tag

REPOSITORIESTOOL

프로젝트에 태그를 생성합니다.

gitlab_create_user

USERS_GROUPSTOOL

새 사용자를 생성합니다.

gitlab_create_wiki_page

OTHERTOOL

프로젝트에 대한 새 위키 페이지를 생성합니다.

gitlab_delete_branch

REPOSITORIESTOOL

프로젝트의 브랜치를 삭제합니다.

gitlab_delete_environment

ENVIRONMENTSTOOL

프로젝트의 환경을 삭제합니다.

gitlab_delete_epic

ISSUESTOOL

그룹 에픽을 삭제합니다.

gitlab_delete_group_deploy_token

USERS_GROUPSTOOL

그룹에 대한 배포 토큰을 삭제합니다.

gitlab_delete_issue

ISSUESTOOL

이슈를 삭제합니다.

gitlab_delete_label

ISSUESTOOL

라벨을 삭제합니다.

gitlab_delete_merged_branches

REPOSITORIESTOOL

프로젝트의 모든 병합된 브랜치를 삭제합니다.

gitlab_delete_milestone

ISSUESTOOL

프로젝트 마일스톤을 삭제합니다.

gitlab_delete_note

OTHERTOOL

노트를 삭제합니다.

gitlab_delete_pipeline_schedule

PIPELINESTOOL

특정 프로젝트에 대한 파이프라인 일정을 삭제합니다.

gitlab_delete_pipeline_schedule_variable

PIPELINESTOOL

파이프라인 일정에서 변수를 삭제합니다.

gitlab_delete_project

PROJECTSTOOL

특정 프로젝트를 삭제합니다.

gitlab_delete_project_deploy_token

PROJECTSTOOL

프로젝트에 대한 배포 토큰을 삭제합니다.

gitlab_delete_project_level_rule

PROJECTSTOOL

프로젝트 수준 병합 요청 승인 규칙을 삭제합니다.

gitlab_delete_project_runner

PROJECTSTOOL

프로젝트에서 러너를 삭제합니다.

gitlab_delete_release

ENVIRONMENTSTOOL

프로젝트의 릴리스를 삭제합니다.

gitlab_delete_runner

PIPELINESTOOL

러너를 삭제합니다.

gitlab_delete_shared_project_link

PROJECTSTOOL

특정 프로젝트를 그룹에서 공유 해제합니다.

gitlab_delete_snippet

OTHERTOOL

스니펫을 삭제합니다.

gitlab_delete_stopped_environments

ENVIRONMENTSTOOL

프로젝트의 중지된 환경(리뷰 앱)을 삭제합니다.

gitlab_delete_tag

REPOSITORIESTOOL

프로젝트의 태그를 삭제합니다.

gitlab_delete_user

USERS_GROUPSTOOL

사용자를 삭제합니다.

gitlab_delete_wiki_page

OTHERTOOL

프로젝트의 위키 페이지를 삭제합니다.

gitlab_download_release_asset

ENVIRONMENTSTOOL

그룹의 릴리스에서 릴리스 자산을 다운로드합니다.

gitlab_download_repository_package

OTHERTOOL

특정 프로젝트의 리포지토리 패키지를 다운로드합니다.

gitlab_edit_group

USERS_GROUPSTOOL

특정 그룹을 편집합니다.

gitlab_edit_group_level_rule

USERS_GROUPSTOOL

그룹 수준 병합 요청 승인 설정을 편집합니다.

gitlab_edit_pipeline_schedule

PIPELINESTOOL

특정 프로젝트에 대한 파이프라인 일정을 편집합니다.

gitlab_edit_project

PROJECTSTOOL

특정 프로젝트를 편집합니다.

gitlab_edit_project_level_rule

PROJECTSTOOL

프로젝트 수준 병합 요청 승인 설정을 편집합니다.

gitlab_enable_project_runner

PROJECTSTOOL

프로젝트에서 러너를 활성화합니다.

gitlab_erase_project_job

PROJECTSTOOL

프로젝트 내 특정 작업을 지웁니다.

gitlab_get_approval_state_merge_requests

MERGE_REQUESTSTOOL

특정 프로젝트의 병합 요청 승인 상태를 가져옵니다.

gitlab_get_branch

REPOSITORIESTOOL

프로젝트의 특정 브랜치에 대한 정보를 검색합니다.

gitlab_get_branches

REPOSITORIESTOOL

프로젝트의 브랜치에 대한 정보를 검색합니다.

gitlab_get_commit

REPOSITORIESTOOL

특정 커밋을 가져옵니다.

gitlab_get_commit_comments

REPOSITORIESTOOL

커밋의 댓글을 가져옵니다.

gitlab_get_commit_diff

REPOSITORIESTOOL

커밋의 diff를 가져옵니다.

gitlab_get_commit_discussions

REPOSITORIESTOOL

커밋의 토론을 가져옵니다.

gitlab_get_commit_gpg_signature

REPOSITORIESTOOL

커밋의 GPG 서명을 가져옵니다.

gitlab_get_commit_merge_requests

REPOSITORIESTOOL

커밋과 연결된 병합 요청을 가져옵니다.

gitlab_get_commit_references

REPOSITORIESTOOL

커밋의 참조를 가져옵니다.

gitlab_get_commit_statuses

REPOSITORIESTOOL

커밋의 상태를 가져옵니다.

gitlab_get_commits

REPOSITORIESTOOL

커밋을 가져옵니다.

gitlab_get_deploy_tokens

ENVIRONMENTSTOOL

모든 배포 토큰을 가져옵니다.

gitlab_get_environment

ENVIRONMENTSTOOL

특정 환경의 세부 정보를 가져옵니다.

gitlab_get_environments

ENVIRONMENTSTOOL

프로젝트의 환경 목록을 가져옵니다.

gitlab_get_epic

ISSUESTOOL

특정 그룹 에픽을 가져옵니다.

gitlab_get_epics

ISSUESTOOL

그룹의 모든 에픽을 가져옵니다.

gitlab_get_group

USERS_GROUPSTOOL

특정 그룹의 세부 정보를 가져옵니다.

gitlab_get_group_deploy_token

USERS_GROUPSTOOL

그룹에 대한 특정 배포 토큰을 가져옵니다.

gitlab_get_group_deploy_tokens

USERS_GROUPSTOOL

특정 그룹에 대한 배포 토큰을 가져옵니다.

gitlab_get_group_descendant_groups

USERS_GROUPSTOOL

특정 그룹의 하위 그룹을 가져옵니다.

gitlab_get_group_issues

ISSUESTOOL

그룹(및 기본적으로 하위 그룹)의 이슈 목록을 가져옵니다.

gitlab_get_group_level_rule

USERS_GROUPSTOOL

그룹 수준 병합 요청 승인 설정의 세부 정보를 가져옵니다.

gitlab_get_group_members

USERS_GROUPSTOOL

특정 그룹의 구성원을 가져옵니다.

gitlab_get_group_merge_requests

MERGE_REQUESTSTOOL

특정 그룹과 연결된 병합 요청을 가져옵니다.

gitlab_get_group_projects

PROJECTSTOOL

특정 그룹과 연결된 프로젝트를 가져옵니다.

gitlab_get_group_releases

USERS_GROUPSTOOL

그룹의 릴리스에 대한 정보를 가져옵니다.

gitlab_get_group_runners

PIPELINESTOOL

그룹의 러너에 대한 정보를 가져옵니다.

gitlab_get_group_subgroups

USERS_GROUPSTOOL

특정 그룹의 하위 그룹을 가져옵니다.

gitlab_get_group_vulnerabilities

VULNERABILITIESTOOL

그룹의 보안 취약점 결과를 가져옵니다(Ultimate).

gitlab_get_groups

USERS_GROUPSTOOL

그룹 목록을 가져옵니다.

gitlab_get_issue

ISSUESTOOL

단일 이슈를 가져옵니다.

gitlab_get_issues

ISSUESTOOL

이슈 목록을 가져옵니다. project_id로 필터링할 수 있습니다.

gitlab_get_label

ISSUESTOOL

이름으로 특정 라벨을 가져옵니다.

gitlab_get_labels

ISSUESTOOL

프로젝트의 모든 라벨을 가져옵니다.

gitlab_get_latest_release

ENVIRONMENTSTOOL

프로젝트의 최신 릴리스에 대한 정보를 가져옵니다.

gitlab_get_latest_release_asset

ENVIRONMENTSTOOL

프로젝트의 최신 릴리스에 대한 자산을 가져옵니다.

gitlab_get_latest_release_evidence

ENVIRONMENTSTOOL

프로젝트의 최신 릴리스에 대한 증거를 가져옵니다.

gitlab_get_merge_request_level_rules

MERGE_REQUESTSTOOL

특정 프로젝트 및 병합 요청에 대한 병합 요청 수준 승인 규칙을 가져옵니다.

gitlab_get_merge_requests

MERGE_REQUESTSTOOL

병합 요청 목록을 가져옵니다.

gitlab_get_milestone

ISSUESTOOL

특정 프로젝트 마일스톤을 가져옵니다.

gitlab_get_milestones

ISSUESTOOL

프로젝트의 모든 마일스톤을 가져옵니다.

gitlab_get_namespace

USERS_GROUPSTOOL

특정 네임스페이스에 대한 정보를 가져옵니다.

gitlab_get_namespaces

USERS_GROUPSTOOL

네임스페이스에 대한 정보를 가져옵니다.

gitlab_get_nested_projects_by_group

PROJECTSTOOL

그룹 내 중첩 프로젝트에 대한 정보를 가져옵니다.

gitlab_get_note

OTHERTOOL

특정 노트를 가져옵니다.

gitlab_get_notes

OTHERTOOL

특정 이슈의 모든 노트를 가져옵니다.

gitlab_get_pipeline

PIPELINESTOOL

프로젝트의 특정 파이프라인에 대한 정보를 가져옵니다.

gitlab_get_pipeline_jobs

PIPELINESTOOL

프로젝트 내 특정 파이프라인과 연결된 작업을 가져옵니다.

gitlab_get_pipeline_schedule

PIPELINESTOOL

프로젝트의 특정 파이프라인 일정에 대한 정보를 가져옵니다.

gitlab_get_pipeline_schedules

PIPELINESTOOL

특정 프로젝트의 파이프라인 일정을 가져옵니다.

gitlab_get_pipelines

PIPELINESTOOL

특정 프로젝트의 파이프라인에 대한 정보를 가져옵니다.

gitlab_get_pipelines_triggered_from_schedule

PIPELINESTOOL

특정 파이프라인 일정에서 트리거된 파이프라인을 가져옵니다.

gitlab_get_project

PROJECTSTOOL

특정 프로젝트에 대한 정보를 가져옵니다.

gitlab_get_project_contributors

PROJECTSTOOL

프로젝트의 기여자에 대한 정보를 가져옵니다.

gitlab_get_project_dependencies

VULNERABILITIESTOOL

프로젝트의 종속성 목록(감지된 모든 종속성)을 가져옵니다.

gitlab_get_project_deploy_token

PROJECTSTOOL

프로젝트에 대한 특정 배포 토큰을 가져옵니다.

gitlab_get_project_deploy_tokens

PROJECTSTOOL

특정 프로젝트에 대한 배포 토큰을 가져옵니다.

gitlab_get_project_groups

PROJECTSTOOL

특정 프로젝트와 연결된 그룹을 가져옵니다.

gitlab_get_project_job

PROJECTSTOOL

프로젝트 내 특정 작업의 세부 정보를 가져옵니다.

gitlab_get_project_job_log

PROJECTSTOOL

프로젝트 내 특정 작업의 로그를 가져옵니다.

gitlab_get_project_jobs

PROJECTSTOOL

특정 프로젝트와 연결된 작업을 가져옵니다.

gitlab_get_project_level_merge_request_rule

PROJECTSTOOL

특정 프로젝트 수준 병합 요청 승인 규칙의 세부 정보를 가져옵니다.

gitlab_get_project_level_merge_request_rules

PROJECTSTOOL

프로젝트 수준 병합 요청 승인 규칙을 가져옵니다.

gitlab_get_project_level_rule

PROJECTSTOOL

프로젝트 수준 병합 요청 승인 설정의 세부 정보를 가져옵니다.

gitlab_get_project_members

PROJECTSTOOL

특정 프로젝트의 구성원을 가져옵니다.

gitlab_get_project_merge_request

PROJECTSTOOL

프로젝트의 특정 병합 요청의 세부 정보를 가져옵니다.

gitlab_get_project_merge_requests

PROJECTSTOOL

특정 프로젝트의 병합 요청을 가져옵니다.

gitlab_get_project_runners

PROJECTSTOOL

프로젝트의 러너에 대한 정보를 가져옵니다.

gitlab_get_project_statistics

PROJECTSTOOL

특정 프로젝트의 통계를 가져옵니다.

gitlab_get_project_vulnerabilities

VULNERABILITIESTOOL

프로젝트의 보안 취약점을 가져옵니다(Ultimate).

gitlab_get_projects

PROJECTSTOOL

프로젝트에 대한 정보를 가져옵니다.

gitlab_get_protected_branch

REPOSITORIESTOOL

프로젝트의 특정 보호된 브랜치에 대한 정보를 가져옵니다.

gitlab_get_protected_branches

REPOSITORIESTOOL

프로젝트의 보호된 브랜치에 대한 정보를 가져옵니다.

gitlab_get_protected_environment

ENVIRONMENTSTOOL

특정 보호된 환경의 세부 정보를 가져옵니다.

gitlab_get_protected_environments

ENVIRONMENTSTOOL

프로젝트의 보호된 환경 목록을 가져옵니다.

gitlab_get_protected_tag

REPOSITORIESTOOL

프로젝트의 특정 보호된 태그에 대한 정보를 가져옵니다.

gitlab_get_protected_tags

REPOSITORIESTOOL

프로젝트의 보호된 태그에 대한 정보를 가져옵니다.

gitlab_get_release_by_tag

REPOSITORIESTOOL

프로젝트에서 태그로 릴리스에 대한 정보를 가져옵니다.

gitlab_get_releases

ENVIRONMENTSTOOL

프로젝트의 릴리스에 대한 정보를 가져옵니다.

gitlab_get_repository_packages

OTHERTOOL

특정 프로젝트의 리포지토리 패키지에 대한 정보를 가져옵니다.

gitlab_get_runner

PIPELINESTOOL

특정 러너에 대한 정보를 가져옵니다.

gitlab_get_runner_jobs

PIPELINESTOOL

특정 러너의 작업을 가져옵니다.

gitlab_get_runners

PIPELINESTOOL

러너에 대한 정보를 가져옵니다.

gitlab_get_snippet

OTHERTOOL

특정 스니펫을 가져옵니다.

gitlab_get_snippets

OTHERTOOL

스니펫 목록을 가져옵니다. project_id로 필터링할 수 있습니다.

gitlab_get_tag

REPOSITORIESTOOL

프로젝트의 특정 태그에 대한 정보를 가져옵니다.

gitlab_get_tags

REPOSITORIESTOOL

프로젝트의 태그에 대한 정보를 가져옵니다.

gitlab_get_user

USERS_GROUPSTOOL

특정 사용자에 대한 정보를 가져옵니다.

gitlab_get_users

USERS_GROUPSTOOL

사용자에 대한 정보를 가져옵니다.

gitlab_get_vulnerability

VULNERABILITIESTOOL

전역 ID로 단일 취약점을 가져옵니다(Ultimate).

gitlab_get_wiki_list

OTHERTOOL

프로젝트의 위키 페이지 목록을 가져옵니다.

gitlab_get_wiki_page

OTHERTOOL

특정 위키 페이지에 대한 정보를 가져옵니다.

gitlab_merge_request_level_approvals

MERGE_REQUESTSTOOL

특정 병합 요청에 대한 승인을 가져옵니다.

gitlab_pause_runner

PIPELINESTOOL

특정 러너를 일시 중지하거나 재개합니다.

gitlab_post_build_status_to_commit

REPOSITORIESTOOL

커밋에 빌드 상태를 게시합니다.

gitlab_protect_branch

REPOSITORIESTOOL

프로젝트의 특정 브랜치를 보호합니다.

gitlab_protect_environment

ENVIRONMENTSTOOL

프로젝트의 환경을 보호합니다.

gitlab_protect_tag

REPOSITORIESTOOL

프로젝트의 태그를 보호합니다.

gitlab_publish_repository_package

OTHERTOOL

특정 프로젝트의 리포지토리 패키지를 게시합니다.

gitlab_register_new_runner

PIPELINESTOOL

새 러너를 등록합니다.

gitlab_require_code_owner_approvals_single_branch

REPOSITORIESTOOL

프로젝트의 특정 브랜치에 대한 코드 소유자 승인을 요구합니다.

gitlab_reset_gitlab_runner_token

PIPELINESTOOL

GitLab 러너 등록 토큰을 재설정합니다.

gitlab_reset_group_runner_token

PIPELINESTOOL

그룹 러너의 등록 토큰을 재설정합니다.

gitlab_reset_project_runner_token

PROJECTSTOOL

프로젝트 러너의 등록 토큰을 재설정합니다.

gitlab_reset_token

OTHERTOOL

러너의 인증 토큰을 재설정합니다.

gitlab_retry_project_job

PROJECTSTOOL

프로젝트 내 특정 작업을 재시도합니다.

gitlab_revert_commit

REPOSITORIESTOOL

커밋을 되돌립니다.

gitlab_run_pipeline

PIPELINESTOOL

특정 프로젝트에 대한 파이프라인을 실행합니다.

gitlab_run_pipeline_schedule

PIPELINESTOOL

특정 프로젝트에 대한 파이프라인 일정을 실행합니다.

gitlab_run_project_job

PROJECTSTOOL

프로젝트 내 특정 작업을 실행합니다.

gitlab_share_project

PROJECTSTOOL

특정 프로젝트를 그룹과 공유합니다.

gitlab_stop_environment

ENVIRONMENTSTOOL

프로젝트의 환경을 중지합니다.

gitlab_stop_stale_environments

ENVIRONMENTSTOOL

프로젝트의 오래된 환경을 중지합니다.

gitlab_take_pipeline_schedule_ownership

PIPELINESTOOL

특정 프로젝트의 파이프라인 일정 소유권을 가져옵니다.

gitlab_unapprove_merge_request

MERGE_REQUESTSTOOL

특정 병합 요청의 승인을 취소합니다.

gitlab_unarchive_project

PROJECTSTOOL

특정 프로젝트의 보관을 해제합니다.

gitlab_unprotect_branch

REPOSITORIESTOOL

프로젝트의 특정 브랜치 보호를 해제합니다.

gitlab_unprotect_environment

ENVIRONMENTSTOOL

프로젝트의 환경 보호를 해제합니다.

gitlab_unprotect_tag

REPOSITORIESTOOL

프로젝트의 태그 보호를 해제합니다.

gitlab_update_environment

ENVIRONMENTSTOOL

프로젝트의 기존 환경을 업데이트합니다.

gitlab_update_epic

ISSUESTOOL

그룹 에픽을 업데이트합니다.

gitlab_update_issue

ISSUESTOOL

이슈를 업데이트합니다.

gitlab_update_label

ISSUESTOOL

기존 라벨을 업데이트합니다.

gitlab_update_milestone

ISSUESTOOL

프로젝트 마일스톤을 업데이트합니다.

gitlab_update_note

OTHERTOOL

노트를 업데이트합니다.

gitlab_update_project_level_rule

PROJECTSTOOL

기존 프로젝트 수준 병합 요청 승인 규칙을 업데이트합니다.

gitlab_update_protected_environment

ENVIRONMENTSTOOL

프로젝트의 보호된 환경을 업데이트합니다.

gitlab_update_release

ENVIRONMENTSTOOL

프로젝트의 릴리스에 대한 정보를 업데이트합니다.

gitlab_update_runner_details

PIPELINESTOOL

특정 러너의 세부 정보를 업데이트합니다.

gitlab_update_snippet

OTHERTOOL

스니펫을 업데이트합니다.

gitlab_update_user

USERS_GROUPSTOOL

기존 사용자를 업데이트합니다.

gitlab_update_wiki_page

OTHERTOOL

프로젝트의 기존 위키 페이지를 업데이트합니다.

gitlab_upload_wiki_page_attachment

OTHERTOOL

프로젝트의 위키 페이지에 첨부 파일을 업로드합니다.

gitlab_verify_runner_authentication

PIPELINESTOOL

러너 인증을 확인합니다.

기본 34개의 액션 라우팅 도구 · 196개의 verbose 1:1 도구. 각 항목은 해당 <DOMAIN>TOOL 토글이 false로 설정되지 않는 한 활성화됩니다. MCP_TOOL_MODE는 표면을 선택합니다(condensed 기본값 · verbose 1:1 · both). 자동 생성됨 — 편집하지 마십시오.

자세한 도구 스키마, 매개변수 형태 및 검증 제약 조건은 docs/usage.md에 보존되어 있습니다.

동적 도구 선택 및 표시 여부

이 MCP 서버는 런타임 시 동적 도구 집합 선택 및 표시 필터링을 지원합니다. 이를 통해 노출되는 도구 집합을 제한하여 LLM의 컨텍스트 창이 비대해지는 것을 방지할 수 있습니다.

도구 필터링은 여러 입력 채널을 통해 구성할 수 있습니다:

  • CLI 인수: 시작 시 --tools 또는 --toolsets(또는 해당 비활성화 대응 항목인 --disabled-tools--disabled-toolsets)를 전달합니다.

  • 환경 변수: 표준 환경 변수를 정의합니다:

    • MCP_ENABLED_TOOLS / MCP_DISABLED_TOOLS

    • MCP_ENABLED_TAGS / MCP_DISABLED_TAGS

  • HTTP SSE 요청 헤더: 전송 초기화 중 사용자 정의 헤더를 전달합니다:

    • x-mcp-enabled-tools / x-mcp-disabled-tools

    • x-mcp-enabled-tags / x-mcp-disabled-tags

  • HTTP SSE 요청 쿼리 매개변수: 전송 연결 URL에 쿼리 매개변수를 직접 추가합니다:

    • ?tools=tool1,tool2

    • ?tags=tag1

쿼리 문자열이나 매개변수가 제공되면 LLM이 없는 Knowledge Graph 해석 계층(DynamicToolOrchestrator 사용)이 쿼리 의도를 알려진 도구 태그, 이름 또는 설명과 매칭하며, 안전한 폴백과 자동 24시간 백그라운드 캐시 새로고침을 제공합니다.


MCP 구성 예시

커넥터 중심의 [mcp] 엑스트라를 설치하십시오. 예시에서는 gitlab-api[mcp]를 사용하여 agent-utilities[mcp]를 통해 FastMCP / FastAPI를 추가합니다. 필수 Agent Utilities 코어는 여전히 epistemic-graph[full]을 포함합니다. [agent-runtime] 엑스트라는 모델 오케스트레이션을 추가로 활성화합니다.

stdio 전송 (로컬 IDE — Cursor, Claude Desktop, VS Code)

{
  "mcpServers": {
    "gitlab-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "gitlab-api[mcp]",
        "gitlab-mcp"
      ],
      "env": {
        "MCP_TOOL_MODE": "intent",
        "BRANCHESTOOL": "True",
        "COMMITSTOOL": "True",
        "CUSTOM_APITOOL": "True",
        "DEPLOY_TOKENSTOOL": "True",
        "ENVIRONMENTSTOOL": "True",
        "EPICSTOOL": "True",
        "GITLAB_TOKEN": "your_gitlab_token_here",
        "GITLAB_URL": "https://gitlab.example.com",
        "GRAPHQLTOOL": "True",
        "GRAPHQL_OPSTOOL": "True",
        "GROUPSTOOL": "True",
        "ISSUESTOOL": "True",
        "JOBSTOOL": "True",
        "LABELSTOOL": "True",
        "MEMBERSTOOL": "True",
        "MERGE_REQUESTSTOOL": "True",
        "MERGE_RULESTOOL": "True",
        "MILESTONESTOOL": "True",
        "MISCTOOL": "True",
        "NAMESPACESTOOL": "True",
        "NOTESTOOL": "True",
        "PACKAGESTOOL": "True",
        "PIPELINESTOOL": "True",
        "PIPELINE_SCHEDULESTOOL": "True",
        "PROJECTSTOOL": "True",
        "PROTECTED_BRANCHESTOOL": "True",
        "RELEASESTOOL": "True",
        "RUNNERSTOOL": "True",
        "SNIPPETSTOOL": "True",
        "TAGSTOOL": "True",
        "USERSTOOL": "True",
        "VULNERABILITIESTOOL": "True",
        "WIKITOOL": "True"
      }
    }
  }
}

런타임 참조에는 GraphOS와 같은 별칭 인식 런처가 필요합니다. 다른 런처는 해당 항목을 생략하고 자체 런타임 시크릿 경계를 통해 해석된 값을 주입해야 합니다.

Streamable-HTTP 전송 (네트워크 / 프로덕션)

{
  "mcpServers": {
    "gitlab-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "gitlab-api[mcp]",
        "gitlab-mcp",
        "--transport",
        "streamable-http",
        "--port",
        "8000"
      ],
      "env": {
        "TRANSPORT": "streamable-http",
        "HOST": "127.0.0.1",
        "PORT": "8000",
        "MCP_TOOL_MODE": "intent",
        "BRANCHESTOOL": "True",
        "COMMITSTOOL": "True",
        "CUSTOM_APITOOL": "True",
        "DEPLOY_TOKENSTOOL": "True",
        "ENVIRONMENTSTOOL": "True",
        "EPICSTOOL": "True",
        "GITLAB_TOKEN": "your_gitlab_token_here",
        "GITLAB_URL": "https://gitlab.example.com",
        "GRAPHQLTOOL": "True",
        "GRAPHQL_OPSTOOL": "True",
        "GROUPSTOOL": "True",
        "ISSUESTOOL": "True",
        "JOBSTOOL": "True",
        "LABELSTOOL": "True",
        "MEMBERSTOOL": "True",
        "MERGE_REQUESTSTOOL": "True",
        "MERGE_RULESTOOL": "True",
        "MILESTONESTOOL": "True",
        "MISCTOOL": "True",
        "NAMESPACESTOOL": "True",
        "NOTESTOOL": "True",
        "PACKAGESTOOL": "True",
        "PIPELINESTOOL": "True",
        "PIPELINE_SCHEDULESTOOL": "True",
        "PROJECTSTOOL": "True",
        "PROTECTED_BRANCHESTOOL": "True",
        "RELEASESTOOL": "True",
        "RUNNERSTOOL": "True",
        "SNIPPETSTOOL": "True",
        "TAGSTOOL": "True",
        "USERSTOOL": "True",
        "VULNERABILITIESTOOL": "True",
        "WIKITOOL": "True"
      }
    }
  }
}

또는 url로 사전 배포된 Streamable-HTTP 인스턴스에 연결합니다:

{
  "mcpServers": {
    "gitlab-mcp": {
      "url": "http://localhost:8000/gitlab-mcp/mcp"
    }
  }
}

검토된 컨테이너 이미지를 최소 권한 stdio 자식 프로세스로 실행합니다(리스너 또는 게시된 포트 없음):

docker run -i --rm \
  --read-only \
  --cap-drop=ALL \
  --security-opt=no-new-privileges \
  --pids-limit=256 \
  --tmpfs /tmp:rw,noexec,nosuid,nodev,size=64m \
  -e TRANSPORT=stdio \
  -e MCP_TOOL_MODE=intent \
  -e BRANCHESTOOL=True \
  -e COMMITSTOOL=True \
  -e CUSTOM_APITOOL=True \
  -e DEPLOY_TOKENSTOOL=True \
  -e ENVIRONMENTSTOOL=True \
  -e EPICSTOOL=True \
  -e GITLAB_TOKEN=your_gitlab_token_here \
  -e GITLAB_URL=https://gitlab.example.com \
  -e GRAPHQLTOOL=True \
  -e GRAPHQL_OPSTOOL=True \
  -e GROUPSTOOL=True \
  -e ISSUESTOOL=True \
  -e JOBSTOOL=True \
  -e LABELSTOOL=True \
  -e MEMBERSTOOL=True \
  -e MERGE_REQUESTSTOOL=True \
  -e MERGE_RULESTOOL=True \
  -e MILESTONESTOOL=True \
  -e MISCTOOL=True \
  -e NAMESPACESTOOL=True \
  -e NOTESTOOL=True \
  -e PACKAGESTOOL=True \
  -e PIPELINESTOOL=True \
  -e PIPELINE_SCHEDULESTOOL=True \
  -e PROJECTSTOOL=True \
  -e PROTECTED_BRANCHESTOOL=True \
  -e RELEASESTOOL=True \
  -e RUNNERSTOOL=True \
  -e SNIPPETSTOOL=True \
  -e TAGSTOOL=True \
  -e USERSTOOL=True \
  -e VULNERABILITIESTOOL=True \
  -e WIKITOOL=True \
  registry.example.invalid/gitlab-api@sha256:<digest> gitlab-mcp

컨테이너화된 네트워크 HTTP의 경우, 운영자 소유 배포 프로필을 통해 인증된 TLS 인그레스(또는 직접 서버 TLS), 정확한 MCP_ALLOWED_HOSTS, 그리고 정확한 신뢰 프록시 CIDR 정책을 제공하십시오. 생성기는 인증되지 않은 비루프백 리스너를 생성하지 않습니다.

코드에서 읽은 환경 표면(MCP_TOOL_MODE + 패키지 변수)에서 자동 생성됨 — 편집하지 마십시오.

추가 배포 옵션

gitlab-api는 로컬 stdio 프로세스 또는 컨테이너로 실행하거나 원격 네트워크 경계 뒤에서 실행할 수 있습니다. 배포 가이드에는 자세한 전송 계약이 명시되어 있습니다.

  • 로컬 컨테이너 — 리스너나 게시된 포트 없이 검토된 불변 이미지를 최소 권한 stdio 자식 프로세스로 실행합니다.

  • 원격 URL — 운영자가 제공한 인증된 HTTPS 인그레스를 통해 연결합니다. 해당 URL, 아웃바운드 ID 참조, 신뢰 프로필 및 정확한 MCP_ALLOWED_HOSTSAgentConfig에 유지합니다.


환경 변수

패키지 환경 변수

변수

예시

설명

HOST

0.0.0.0

PORT

8000

TRANSPORT

stdio

옵션: stdio, streamable-http, sse

ENABLE_OTEL

True

OTEL_EXPORTER_OTLP_ENDPOINT

http://localhost:8080/api/public/otel

OTEL_EXPORTER_OTLP_PUBLIC_KEY

시크릿 주입됨

OTEL_EXPORTER_OTLP_SECRET_KEY

시크릿 주입됨

OTEL_EXPORTER_OTLP_PROTOCOL

http/protobuf

EUNOMIA_TYPE

none

옵션: none, embedded, remote

EUNOMIA_POLICY_FILE

mcp_policies.json

EUNOMIA_REMOTE_URL

http://eunomia-server:8000

GITLAB_URL

https://gitlab.example.com

GITLAB_TOKEN

시크릿 주입됨

GITLAB_TLS_PROFILE

명명된 AgentConfig TLS 프로필; 비어 있으면 구성된 기본값 사용

MISCTOOL

True

BRANCHESTOOL

True

PROTECTED_BRANCHESTOOL

True

COMMITSTOOL

True

DEPLOY_TOKENSTOOL

True

ENVIRONMENTSTOOL

True

EPICSTOOL

True

GROUPSTOOL

True

ISSUESTOOL

True

JOBSTOOL

True

LABELSTOOL

True

MEMBERSTOOL

True

MERGE_REQUESTSTOOL

True

MERGE_RULESTOOL

True

MILESTONESTOOL

True

NAMESPACESTOOL

True

NOTESTOOL

True

PACKAGESTOOL

True

PIPELINESTOOL

True

PIPELINE_SCHEDULESTOOL

True

PROJECTSTOOL

True

RELEASESTOOL

True

RUNNERSTOOL

True

SNIPPETSTOOL

True

TAGSTOOL

True

USERSTOOL

True

VULNERABILITIESTOOL

True

WIKITOOL

True

CUSTOM_APITOOL

True

GRAPHQLTOOL

True

GRAPHQL_OPSTOOL

True

상속된 agent-utilities 변수 (모든 커넥터에 적용)

변수

예시

설명

MCP_TOOL_MODE

intent

도구 표면: intent | condensed | verbose | both

MCP_ENABLED_TOOLS

쉼표로 구분된 도구 허용 목록

MCP_DISABLED_TOOLS

쉼표로 구분된 도구 거부 목록

MCP_ENABLED_TAGS

쉼표로 구분된 태그 허용 목록

MCP_DISABLED_TAGS

쉼표로 구분된 태그 거부 목록

MCP_CLIENT_AUTH

아웃바운드 MCP 하위 인증: oidc-client-credentials | basic | none

OIDC_CLIENT_ID

OIDC 클라이언트 ID (서비스 계정 인증)

OIDC_CLIENT_SECRET_REF

secret://identity/oidc-client-secret

OIDC 서비스 계정용 런타임 시크릿 참조

MCP_BASIC_AUTH_USERNAME

HTTP Basic 사용자 이름 (MCP_CLIENT_AUTH=basic)

MCP_BASIC_AUTH_PASSWORD_REF

secret://identity/mcp-basic-password

HTTP Basic 인증용 런타임 시크릿 참조 (MCP_CLIENT_AUTH=basic)

DEBUG

False

상세 로깅

PYTHONUNBUFFERED

1

버퍼링 없는 stdout (컨테이너에서 권장)

MCP_URL

http://localhost:8000/mcp

에이전트가 연결하는 MCP 서버의 URL

PROVIDER

openai

에이전트용 LLM 공급자

MODEL_ID

gpt-4o

에이전트용 모델 ID

ENABLE_WEB_UI

True

AG-UI 웹 인터페이스 제공

패키지 45개 + 상속 변수 16개. .env.example + 공유 agent-utilities 세트에서 자동 생성됨 — 편집하지 마십시오.

서버가 읽는 모든 변수입니다.

연결 및 자격 증명

커넥터는 기본적으로 단일 호스트이며 gitlab_instances가 구성된 경우 멀티 테넌트입니다(멀티 테넌시 참조). 인스턴스가 구성되지 않으면 아래의 단일 호스트 GITLAB_* 값으로 대체됩니다.

변수

설명

기본값

GITLAB_URL

기본 GitLab 인스턴스 URL

https://gitlab.example.com

GITLAB_TOKEN

GitLab 개인/프로젝트 액세스 토큰 (glpat-…)

GITLAB_TLS_PROFILE

선택적 런타임 TLS 프로필 선택기

(설정 안 됨)

여러 인스턴스는 공유 agent-utilities XDG 구성(~/.config/agent-utilities/config.json)의 gitlab_instances 아래에 한 번 선언됩니다. 각 항목에는 name, url, token, 선택적 tls_profile이 있습니다. 클라이언트 팩토리에서 이름으로 테넌트를 지정합니다. 인스턴스가 설정되지 않으면 첫 번째 구성된 인스턴스로 해석됩니다(그 외에는 GITLAB_URL / GITLAB_TOKEN).

MCP 서버 / 전송

변수

설명

기본값

TRANSPORT

stdio, streamable-http, 또는 sse

stdio

HOST

바인드 호스트 (HTTP 전송)

0.0.0.0

PORT

바인드 포트 (HTTP 전송)

8000

MCP_TOOL_MODE

도구 표면: condensed, verbose, 또는 both

condensed

MCP_ENABLED_TOOLS / MCP_DISABLED_TOOLS

쉼표로 구분된 도구 허용/거부 목록

MCP_ENABLED_TAGS / MCP_DISABLED_TAGS

쉼표로 구분된 태그 허용/거부 목록

DEBUG

상세 로깅

False

PYTHONUNBUFFERED

버퍼링 없는 stdout (컨테이너에서 권장)

1

도구 토글

각 작업 라우팅 도구는 해당 토글 환경 변수(false로 설정)를 통해 개별적으로 비활성화할 수 있습니다. 전체 목록은 위의 사용 가능한 MCP 도구 표에 있습니다(예: PROJECTSTOOL, MERGE_REQUESTSTOOL, PIPELINESTOOL, GRAPHQLTOOL, CUSTOM_APITOOL).

텔레메트리 및 거버넌스

변수

설명

기본값

ENABLE_OTEL

OpenTelemetry 내보내기 활성화

True

OTEL_EXPORTER_OTLP_ENDPOINT

OTLP 수집기 엔드포인트

OTEL_EXPORTER_OTLP_PUBLIC_KEY / OTEL_EXPORTER_OTLP_SECRET_KEY

OTLP 인증 키

OTEL_EXPORTER_OTLP_PROTOCOL

OTLP 프로토콜 (예: http/protobuf)

EUNOMIA_TYPE

권한 부여 모드: none, embedded, remote

none

EUNOMIA_POLICY_FILE

임베디드 정책 파일

mcp_policies.json

EUNOMIA_REMOTE_URL

원격 Eunomia 서버 URL

에이전트 CLI (전체 [agent] 런타임 전용)

변수

설명

기본값

MCP_URL

에이전트가 연결하는 MCP 서버의 URL

http://localhost:8000/mcp

PROVIDER

LLM 공급자 (예: openai)

openai

MODEL_ID

모델 ID (예: gpt-4o)

gpt-4o

ENABLE_WEB_UI

AG-UI 웹 인터페이스 제공

True

복사-붙여넣기 시작점은 .env.example을 참조하십시오.

에이전트

이 저장소는 완전히 통합된 Pydantic AI 그래프 에이전트를 갖추고 있습니다. **에이전트 제어 프로토콜 (ACP)**을 통해 통신하며 에이전트 웹 UI (AG-UI) 및 터미널 인터페이스와 원활하게 상호 작용합니다.

에이전트 CLI 실행

대화형 커맨드라인 에이전트를 시작하려면:

# Set credentials
export GITLAB_URL="your_value"
export GITLAB_TOKEN="your_value"

# Run the agent server
gitlab-agent --provider openai --model-id gpt-4o

Docker Compose 오케스트레이션

다음 docker/agent.compose.yml은 에이전트, 웹 UI, 터미널 인터페이스를 함께 구성합니다:

version: '3.8'

services:
  gitlab-api-mcp:
    image: example/gitlab-api:mcp
    container_name: gitlab-api-mcp
    hostname: gitlab-api-mcp
    restart: always
    env_file:
      - ../.env
    environment:
      - PYTHONUNBUFFERED=1
      - HOST=0.0.0.0
      - PORT=8000
      - TRANSPORT=streamable-http
    ports:
      - "8000:8000"
    healthcheck:
      test: ["CMD", "python3", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 10s
    logging:
      driver: json-file
      options:
        max-size: "10m"
        max-file: "3"

  gitlab-api-agent:
    image: example/gitlab-api@sha256:<digest>
    container_name: gitlab-api-agent
    hostname: gitlab-api-agent
    restart: always
    depends_on:
      - gitlab-api-mcp
    env_file:
      - ../.env
    command: [ "gitlab-agent" ]
    environment:
      - PYTHONUNBUFFERED=1
      - HOST=0.0.0.0
      - PORT=9017
      - MCP_URL=http://gitlab-api-mcp:8000/mcp
      - PROVIDER=${PROVIDER:-openai}
      - MODEL_ID=${MODEL_ID:-gpt-4o}
      - ENABLE_WEB_UI=True
      - ENABLE_OTEL=True
    ports:
      - "9017:9017"
    healthcheck:
      test: ["CMD", "python3", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:9017/health')"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 10s
    logging:
      driver: json-file
      options:
        max-size: "10m"
        max-file: "3"

자세한 그래프 노드 아키텍처 설명, 사용자 지정 스킬 구성, 에이전트 추적 가이드는 docs/deployment.md에서 확인할 수 있습니다.


멀티 테넌시 (여러 GitLab 인스턴스)

클라이언트는 기본적으로 멀티 테넌트입니다. 인스턴스 집합은 공유 agent-utilities XDG 구성(~/.config/agent-utilities/config.json)의 gitlab_instances 아래에 한 번 선언됩니다. Knowledge-Graph GitLab 인덱서가 읽는 동일한 목록이므로 하나의 구성이 코드/메타데이터 인덱싱과 모든 API/MCP 호출을 모두 구동합니다:

{
  "gitlab_instances": [
    {"name": "internal", "url": "https://gitlab.example.invalid", "token": "<GITLAB_TOKEN>", "tls_profile": "private-pki"},
    {"name": "public",   "url": "https://gitlab.com",  "token": "<GITLAB_TOKEN>"}
  ]
}

클라이언트 팩토리에서 이름으로 테넌트를 지정합니다. URL만으로도 작동하며, 인스턴스가 설정되지 않으면 첫 번째 구성된 인스턴스로 해석됩니다(그 외에는 GITLAB_URL/GITLAB_TOKEN):

from gitlab_api.auth import get_client
from gitlab_api.instances import list_configured_instances

internal = get_client(instance="internal")   # resolves URL, token, and TLS profile
public   = get_client(instance="public")
default  = get_client()                        # first configured / GITLAB_URL fallback
names    = [i.name for i in list_configured_instances()]

MCP 서버는 구성된 테넌트를 검색하기 위해 gitlab_instances 도구(action=list|get)를 노출합니다(토큰은 절대 반환되지 않음). 인스턴스가 구성되지 않으면 커넥터는 항상 사용해 온 단일 호스트 GITLAB_URL/GITLAB_TOKEN으로 대체됩니다.

보안 및 거버넌스

엔터프라이즈 준비 agent-utilities 코어에 직접 구축되어 표준 보안 매개변수가 완전히 지원됩니다:

액세스 제어 및 정책 시행

  • Eunomia 정책: 세분화된 정책 기반 도구 권한 부여. none, 로컬 embedded (mcp_policies.json), 또는 중앙 집중식 remote 모드를 지원합니다.

  • OIDC 토큰 위임: Web UI / ACP → Agent → MCP로 인증 사용자 자격 증명을 전달하기 위한 RFC 8693 토큰 교환을 준수합니다.

  • 범위 지정 자격 증명: 실행 컨텍스트는 특정 호출자 ID로 제한됩니다.

런타임 보안 그리드

기능

기능 설명

활성화

도구 가드

인간 개입 검증이 포함된 민감도 검사

기본 활성화

프롬프트 주입 방어

입력 스캐닝, 반복 모니터링, 재귀 루프 차단

기본 활성화

컨텍스트 안전 가드

고착 루프 감지 및 컨텍스트 오버플로 사전 경고

기본 활성화


설치

실행하려는 항목에 맞는 엑스트라를 선택하십시오:

추가

설치 내용

사용 시점

gitlab-api[mcp]

커넥터 중심 MCP 서버 (agent-utilities[mcp] — FastMCP/FastAPI + epistemic-graph[full])

MCP 서버만 실행하는 경우 (가장 작은 설치/이미지)

gitlab-api[agent]

에이전트 런타임 (agent-utilities[agent-runtime,logfire] — 모델 오케스트레이션 + epistemic-graph[full])

통합 에이전트를 실행하는 경우

gitlab-api[all]

모든 것 (mcp + agent + gql + logfire)

개발 / 두 표면 모두

# Connector-focused MCP server (includes the shared graph engine)
uv pip install "gitlab-api[mcp]"

# Agent runtime (adds model orchestration to the shared graph engine)
uv pip install "gitlab-api[agent]"

# Everything (development)
uv pip install "gitlab-api[all]"      # or: python -m pip install "gitlab-api[all]"

컨테이너 이미지 (:mcp vs :agent)

하나의 다단계 docker/Dockerfile--target으로 선택되는 두 개의 적정 크기 이미지를 빌드합니다:

이미지 태그

빌드 대상

내용

진입점

example/gitlab-api:mcp

--target mcp

gitlab-api[mcp]커넥터 중심, epistemic-graph[full] 포함, 모델 오케스트레이션 스택 없음

gitlab-mcp

example/gitlab-api@sha256:<digest>

--target agent (기본값)

gitlab-api[agent]에이전트 런타임, 모델 오케스트레이션 + epistemic-graph[full]

gitlab-agent

docker build --target mcp   -t example/gitlab-api:mcp    docker/   # connector-focused MCP server
docker build --target agent -t example/gitlab-api:agent-local docker/   # agent runtime

docker/mcp.compose.yml은 커넥터 중심 :mcp 서버를 실행하고, docker/agent.compose.yml은 에이전트(불변 에이전트 다이제스트)를 공동 배치된 :mcp 사이드카와 함께 실행합니다.

지식 그래프 데이터베이스(epistemic-graph)

[mcp][agent] 모두 필수 에이전트 유틸리티 핵심 의존성(epistemic-graph[full])을 통해 epistemic-graph 엔진을 포함합니다. [mcp] 추가 옵션은 서버를 커넥터 중심으로 유지하고, [agent]는 모델 오케스트레이션을 추가로 활성화합니다. 로컬 배포는 번들 엔진을 사용할 수 있습니다. 프로덕션 또는 공유 상태의 경우 epistemic-graph를 전용 데이터베이스 서비스로 실행하고 런타임이 이를 사용하도록 구성하십시오. 배포 레시피(단일 노드 + Raft HA), 연결 구성, 아키텍처 다이어그램은 epistemic-graph 배포 가이드에 문서화되어 있습니다.


문서

전체 문서는 공식 문서 사이트에 게시되어 있으며, 설치, 배포, 일상적인 운영에 대한 권장 참고 자료입니다.

페이지

내용

설치

pip, 소스, 추가 옵션, 사전 빌드된 Docker 이미지

배포

MCP 및 에이전트 서버 실행, Compose, Caddy + Technitium, 환경 구성

사용법

MCP 도구, Api 클라이언트, CLI

지원 플랫폼

Docker로 GitLab 배포

개요

액션 라우팅 도구 표면 및 아키텍처

개념

개념 레지스트리(CONCEPT:GL-*)


저장소 소유자

GitHub 팔로워 GitHub 사용자 별


기여

기여를 환영합니다! 풀 리퀘스트를 제출하기 전에 로컬 검사를 실행하여 코드 품질을 확인해 주세요:

  • ruff format .로 코드 서식 지정

  • ruff check .로 린트 검사

  • mypy .로 타입 안전성 검증

  • pytest로 테스트 스위트 실행

agent-utilities-deployment로 배포

통합 agent-utilities-deployment 워크플로우로 이 패키지를 프로비저닝하십시오. 이 워크플로우는 설치된 패키지, 편집 가능한 소스, 또는 불변 컨테이너 경로를 선택하고, AgentConfig에서 런타임 비밀 및 TLS 참조만 기록하며, doctor, 등록, 정책, 관찰 가능성, 롤백 게이트를 실행합니다. 에이전트에게 **"agent-utilities-deploymentgitlab-api 배포"**를 요청하십시오.

설치 모드

명령

설치된 패키지

uv tool install "gitlab-api[mcp]", 그 다음 gitlab-mcp 실행

편집 가능한 소스

uv pip install -e ".[agent]", 그 다음 gitlab-mcp 실행

불변 컨테이너

registry.example.invalid/gitlab-api@sha256:<digest>를 운영자가 선택한 오케스트레이터로 배포

저장소에는 배포 프로필, 인증서 값, 또는 환경별 엔드포인트가 포함되어 있지 않습니다. 이러한 값은 AgentConfig와 구성된 비밀 공급자를 통해 런타임에 제공하십시오.

관리형 기능 계약

이 패키지는 참조된 워크플로우로 유지되는 전문 절차를 갖춘 간결한 표준 기능 표면을 제공합니다. 현재 MCP 도구, 스킬 메타데이터, connector_manifest.yml, 온톨로지, 매핑, 셰이프, 마이그레이션, 도구 스키마 지문, 인증 메타데이터는 하나의 버전 관리된 기능 계약을 형성합니다. 이들을 함께 검증하십시오. 오래된 도구 이름이나 과거의 작업별 스킬 래퍼에 의존하지 마십시오.

런타임 엔드포인트, 자격 증명, 인증서 신뢰, 테넌트 ID, 보존 및 관찰 가능성 정책은 배포 입력값이며 패키지에 포함된 값이 아닙니다. 네트워크 전송, GraphOS 위임 또는 추적 내보내기를 활성화하기 전에 구성, 신뢰 및 개인정보 보호를 참조하십시오.

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
2dRelease cycle
147Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Knuckles-Team/gitlab-api'

If you have feedback or need assistance with the MCP directory API, please join our Discord server