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 を直接設定する必要があります。
Copy
環境変数
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
- 1 回のコミットで複数のファイルをプッシュします。📤
- 入力:
project_id
(文字列): プロジェクトIDまたは名前空間/プロジェクトパスbranch
(文字列): プッシュ先のブランチfiles
(配列): プッシュするファイルの配列。各ファイルにはfile_path
とcontent
プロパティがあります。commit_message
(文字列): コミットメッセージ
- 戻り値: 更新されたブランチ参照
search_repositories
- GitLab プロジェクトを検索します。🔍
- 入力:
search
(文字列): 検索クエリpage
(オプションの数値):ページ番号(デフォルト:1)per_page
(オプションの数値):1ページあたりの結果数(デフォルト: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
(オプションの数値[]): 担当者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
- マージリクエストの変更(差分)を取得します。 diff
- 入力:
project_id
(文字列): プロジェクトIDまたは名前空間/プロジェクトパスmerge_request_iid
(数値): マージリクエストIIDview
(オプションの文字列): 差分ビューの種類 ('inline' または 'parallel')
- 戻り値: マージリクエストの差分情報の配列
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またはnamespace/project_path- フィルタリングオプション:
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