はじめに
業務で使ってみたいのでGitLab
のMCPサーバを試してみる。
環境
Windows 11 Professional
WSL2 Ubuntu 24.04 LTS
Copilot MCP
Claude Desktop
GitLab MCP
下記を見ていたら、server-gitlab
というMCPサーバがあるようなのでこれを試してみる。
- awesome-mcp-servers / README-ja.md
https://github.com/punkpeye/awesome-mcp-servers/blob/main/README-ja.md
準備
GitLab CEのローカルサーバを立てる
※今回はローカルのGitLab
を操作するのでローカルに立てておく
GitLabCEをDockerで構築する でやった内容でローカルにGitLab
のサーバを立てておく。
セットアップ完了

後程使うので、Personal Access Token
を作成しておく。
Claude Desktopのインストール
MCP
のクライアントはClaude Desktop
を使うのでインストールしておく。
- claude.ai
https://claude.ai/download
GitLab MCPサーバの構築
- modelcontextprotocol / servers
https://github.com/modelcontextprotocol/servers/tree/main/src/gitlab
上記に入っているようなので、まずはリポジトリをクローンする。
git clone https://github.com/modelcontextprotocol/servers.git
クローン後に、servers/src/gitlab
以下にある GitLab
のMCPサーバをDockerビルドする。
docker build -t vonwig/gitlab:mcp -f src/gitlab/Dockerfile .
Claude Desktopの設定
- For Claude Desktop Users
https://modelcontextprotocol.info/docs/quickstart/user/
下記に記載の通りに、
json
を追加する。
https://github.com/modelcontextprotocol/servers/tree/main/src/gitlab
{
"mcpServers": {
"gitlab": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"GITLAB_PERSONAL_ACCESS_TOKEN",
"-e",
"GITLAB_API_URL",
"mcp/gitlab"
],
"env": {
"GITLAB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>",
"GITLAB_API_URL": "https://gitlab.com/api/v4"
}
}
}
}
項目名 | 設定値 |
---|---|
GITLAB_PERSONAL_ACCESS_TOKEN | 取得したトークン |
GITLAB_API_URL | https://gitlab.example.com/api/v4 |
とした。
Claude Desktop
を再起動する。再起動後に「ファイル」→「設定」→「開発者」で 作成したMCPサーバが
running
となっていればOK
Claude Desktop + MCPサーバでGitLabを操作する
GitLabにあるプロジェクト一覧を参照する
GitLabにあるプロジェクト一覧を教えてください
リポジトリを検索するために、search_repositories 関数を使用します。gitlabのsearch_repositoriesからの結果を表示(ローカル){
`search`: `*`,
`per_page`: 100
}Error executing code: MCP error -32603: GitLab API error: Unauthorized申し訳ありません。現在、GitLabにアクセスする権限がないようです。リポジトリ一覧を表示するには、適切な認証情報が必要です。通常、これには以下のいずれかが必要です:
GitLabのアクセストークン
特定のプロジェクトIDまたはパス
適切な認証情報を使用した接続
GitLab管理者に連絡して、必要な認証情報を確認してください。特に必要な情報は:
GitLabのURL
アクセストークン
プロジェクトの詳細情報
これらの情報を入手できれば、プロジェクト一覧を正確に取得できます。再試行Claudeは間違えることがあります。回答内容を必ずご確認ください。
※ローカルのDocker
に構築したので、gitlab.example.com
が名前解決できなくてだめになっていそう。
まずは、MCPサーバ
からgitlab.example.com
にアクセスできるか試してみる。
試行錯誤した結果、host.docker.internal
で接続させることにした。
以下、修正したclaude_desktop_config.json
となる。
{
"mcpServers": {
"gitlab": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"GITLAB_PERSONAL_ACCESS_TOKEN",
"-e",
"GITLAB_API_URL",
"mcp/gitlab"
],
"env": {
"GITLAB_PERSONAL_ACCESS_TOKEN": "<TOKEN>",
"GITLAB_API_URL": "http://host.docker.internal/api/v4"
}
}
}
}
GitLabにプロジェクトを作成する
GitLabにあるプロジェクトを作成してください。
プロジェクトを作成するために、create_repository 関数を使用します。gitlabのcreate_repositoryからの結果を表示(ローカル){
`name`: `my-first-project`,
`visibility`: `public`,
`description`: `初めて作成するGitLabプロジェクトです。`,
`initialize_with_readme`: true
}Error executing code: MCP error -32603: Invalid arguments: fork: Required申し訳ありませんが、プロジェクトを作成する際にエラーが発生しました。エラーメッセージから、プロジェクト作成には追加の情報が必要であることが示唆されています。
具体的には、fork パラメータが必要とされているようです。GitLabのAPIでプロジェクトを作成するには、以下の情報が必要です:
プロジェクト名
可視性設定
フォークに関する情報
システム管理者または担当者に以下の点を確認してください:
GitLabインスタンスの正確な設定
プロジェクト作成に必要な追加パラメータ
フォークに関する具体的な要件
現時点では、必要な設定情報が不足しているため、プロジェクトを作成できません。追加の情報や設定が必要です。
とはいえ、作れているみたい。

参考
awesome-mcp-servers / README-ja.md
https://github.com/punkpeye/awesome-mcp-servers/blob/main/README-ja.mdclaude.ai https://claude.ai/download
modelcontextprotocol / servers
https://github.com/modelcontextprotocol/servers/tree/main/src/gitlabFor Claude Desktop Users
https://modelcontextprotocol.info/docs/quickstart/user/
おわりに
Claude Desktop
+ GitLab MCP
を使ってみた。
なんかちょいちょい失敗するので色々試してみることにする。