はじめに
業務で使ってみたいのでGitLabのMCPサーバを試してみる。
環境
Windows 11 Professional
WSL2 Ubuntu 24.04 LTS
Copilot MCP
Claude DesktopGitLab 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を使ってみた。
なんかちょいちょい失敗するので色々試してみることにする。



