GitLab MCP サーバー
✨ 特徴
包括的な GitLab API 統合- リポジトリ、問題、マージ リクエスト、Wiki などにアクセスします
両方のトランスポートをサポート- stdio または Server-Sent Events (SSE) で使用
一貫したレスポンスフォーマット- 標準化されたページ区切りとレスポンス構造
強力な TypeScript 型付け- 型安全性のために MCP SDK を使用して構築
完全なドキュメント- 利用可能なすべてのツールの例
🔍 サポートされている操作
リポジトリ管理- リポジトリの検索、作成、フォーク
ファイル処理- ファイルの読み取り、作成、更新
ブランチ操作- ブランチの作成と管理
問題追跡- 問題の作成、一覧表示、フィルタリング
マージリクエスト- マージリクエストの作成、一覧表示、レビュー
グループ管理- グループプロジェクトとメンバーの一覧
プロジェクトアクティビティ- イベントとコミット履歴を追跡
Wiki管理- 添付ファイル付きのプロジェクトおよびグループWikiを完全サポート
メンバー管理- プロジェクト/グループのメンバーを一覧表示して管理します
Related MCP server: gitlab mcp
🚀 はじめに
インストール
npmから(推奨)
ソースから
構成
環境変数
サーバーには次の環境変数が必要です。
変数 | 必須 | デフォルト | 説明 |
| はい | - | GitLab個人アクセストークン |
| いいえ |
| GitLab API URL |
| いいえ |
| SSEトランスポート用のポート |
| いいえ |
| SSEトランスポートを使用するには「true」に設定してください |
| いいえ |
| 読み取り専用モードを有効にするには、「true」に設定します(下記参照) |
読み取り専用モード
GITLAB_READ_ONLY_MODEがtrueに設定されている場合、サーバーは読み取り操作のみを公開します。これは、GitLabリソースへの書き込みアクセス権を持たないクライアントアプリケーションに便利です。読み取り専用モードでは、以下のツールが利用可能になります。
search_repositoriesget_file_contentslist_group_projectsget_project_eventslist_commitslist_issueslist_merge_requestslist_project_wiki_pagesget_project_wiki_pagelist_group_wiki_pagesget_group_wiki_pagelist_project_memberslist_group_members
読み取り専用モードで書き込み操作 (作成、更新、削除) を実行しようとすると、エラーが発生します。
MCP設定の構成
MCP 設定ファイルに GitLab MCP サーバーを追加します。
読み取り専用モードの場合は、 GITLAB_READ_ONLY_MODE環境変数を追加します。
使用法
stdioトランスポートあり(デフォルト)
SSEトランスポート
npxの場合
🛠️ 利用可能なツール
リポジトリ操作
ファイル操作
支店運営
発行業務
応答形式:
応答形式:
マージリクエスト操作
プロジェクト活動
メンバーオペレーション
応答形式:
応答形式:
プロジェクトWiki運営
グループWiki操作
🔧 開発
要件
Node.js 16以上
npm 7以上
個人アクセストークンを持つGitLabアカウント
プロジェクトの構築
テストの実行
コードスタイルとリンティング
リリースプロセス
package.jsonのバージョンを更新するCHANGELOG.md を更新
GitHubで新しいリリースを作成する
npm publishで npm に公開する
📖 ドキュメント
より詳細なドキュメントについては、ドキュメント サイトにアクセスするか、ソース コード内の TypeScript 定義を確認してください。
💼 ユースケース
AIを活用した開発ワークフロー- AIアシスタントがGitLabリポジトリと対話できるようにします
自動化された問題とPR管理- AIサポートによる開発プロセスの合理化
Wiki管理- ドキュメントの更新とナレッジベースの管理を自動化
チームコラボレーション- AIアシスタントをチームのGitLabワークフローに統合する
📊 ロードマップ
[ ] GitLab CI/CD統合
[ ] 高度なプロジェクト分析
[ ] 包括的なテストスイート
[ ] GitLab GraphQL APIのサポート
[ ] 拡張Webhookサポート
🤝 貢献する
貢献を歓迎します!貢献方法は以下の通りです。
リポジトリをフォークする
機能ブランチを作成します(
git checkout -b feature/amazing-feature)変更をコミットします (
git commit -m 'Add some amazing feature')ブランチにプッシュする (
git push origin feature/amazing-feature)プルリクエストを開く
必要に応じてテストを更新し、プロジェクトのコード スタイルに従ってください。
📝 ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
👥 貢献者
このプロジェクトの改善に協力してくれたすべての貢献者に感謝します。
特別な感謝を申し上げます:
thomasleveil - プロジェクトとグループのGitLabメンバーリスト機能を実装し、一貫した応答フォーマットを実現しました。
📦 NPM パッケージ
このパッケージはnpmで入手できます:
https://www.npmjs.com/package/@yoda.digital/gitlab-mcp-server