Custom GitLab MCP Server について
Custom GitLab MCP Serverは、ClaudeなどのMCP対応アシスタントをGitLabに接続し、プロジェクト検索やファイル操作、課題・マージリクエストの作成を行います。READMEでは標準実装のsearch_repositoriesにあったスキーマ検証問題の修正を説明しています。
主な機能
- 01GitLabプロジェクトの検索
- 02ファイルとディレクトリ内容の取得
- 03ファイルの作成・更新
- 04複数ファイルを1コミットでプッシュ
- 05課題とマージリクエストの作成
- 06プロジェクトのフォークとブランチ作成
活用シーン
- 01GitLabプロジェクトの検索とファイル確認
- 02リポジトリへのファイル変更のコミット
- 03課題やマージリクエストの作成
MCP 対応
GitLabのプロジェクト検索、ファイル操作、リポジトリのフォーク、ブランチ作成、課題とマージリクエストの管理ツールをMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
カスタム GitLab MCP サーバー
Claude やその他の MCP 対応 AI アシスタントと連携するための、カスタム実装の GitLab MCP(Model Context Protocol)サーバーです。
概要
この MCP サーバーは GitLab リポジトリとのシームレスな連携を実現し、AI アシスタントが次の操作を行えるようにします。
- GitLab リポジトリを検索する
- ファイルの内容を取得する
- ファイルを作成または更新する
- 複数のファイルを 1 つのコミットでプッシュする
- イシューやマージリクエストを作成する
- リポジトリをフォークする
- ブランチを作成する
修正版の実装
このカスタム実装では、標準の GitLab MCP サーバー実装に存在していたスキーマ検証の問題を修正しています。具体的には、search_repositories ツールの問題に対応しています。
インストール
- このリポジトリをクローンします
- 依存関係をインストールします。
npm install - Claude の設定ファイルまたは Claude Desktop の設定ファイルで設定します。
{ "mcpServers": { "github.com/modelcontextprotocol/servers/tree/main/src/gitlab": { "command": "node", "args": [ "/path/to/custom-gitlab-server/index.js" ], "env": { "GITLAB_PERSONAL_ACCESS_TOKEN": "your-gitlab-token", "GITLAB_API_URL": "https://your-gitlab-instance/api/v4" } } } }
前提条件
- Node.js(v14 以降)
- 適切なスコープを持つ GitLab パーソナルアクセストークン:
api:完全な API アクセス用read_api:読み取り専用アクセス用read_repositoryおよびwrite_repository:リポジトリ操作用
利用可能なツール
| ツール名 | 説明 |
|---|---|
search_repositories | GitLab プロジェクトを検索する |
get_file_contents | ファイルまたはディレクトリの内容を取得する |
create_or_update_file | 単一のファイルを作成または更新する |
push_files | 複数のファイルを 1 つのコミットでプッシュする |
create_repository | 新しい GitLab プロジェクトを作成する |
create_issue | 新しいイシューを作成する |
create_merge_request | 新しいマージリクエストを作成する |
fork_repository | プロジェクトをフォークする |
create_branch | 新しいブランチを作成する |
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。