🌍
Claude Code の MCP サーバーの設定をグローバルにする
結論
claude mcp add github \
-e GITHUB_PERSONAL_ACCESS_TOKEN=github_pat_*** \
+ -s user \
-- \
docker \
run \
-i \
--rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN \
ghcr.io/github/github-mcp-server
経緯
前回の記事 で、何故か Claude Code が MCP 経由じゃなくて gh コマンドで GitHub を操作しようとするという追記をしたが、これは Claude Code が作業するためのフォルダを git worktree コマンドを使って新たに作っていたせいだったと思われる。
Claude Code は新しいフォルダで claude
コマンドを実行すると毎回このフォルダを信頼するか訪ねてきたりするが、MCPの設定もフォルダ(≒プロジェクト)ごとにしないといけないらしい。なので、claude mcp add ...
みたいなコマンドを毎回打つ必要がある。
これは git worktree を使ってるとだるすぎるのでグローバルな設定を追加したい。
公式ドキュメントのTIPS によると、
You can use
-s global
to add the server to your global configuration instead of the project-specific one
ということなので、-s global
付きで実行して毎回セットアップしなくて良いようにする。
claude mcp add github \
-e GITHUB_PERSONAL_ACCESS_TOKEN=github_pat_*** \
+ -s global \
-- \
docker \
run \
-i \
--rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN \
ghcr.io/github/github-mcp-server
と思ったら以下のエラーが出てできない。
Invalid scope: global. Must be one of: local, user, project
どうもドキュメントの修正が追いついてないらしい。多分 user
を選べばやりたいことは実現可能なのか? CHANGELOG.md にも記述があった。
0.2.49
- Previous MCP server scopes have been renamed: previous "project" scope is now "local" and "global" scope is now "user"
というわけでコマンド修正。
claude mcp add github \
-e GITHUB_PERSONAL_ACCESS_TOKEN=github_pat_*** \
- -s global \
+ -s user \
-- \
docker \
run \
-i \
--rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN \
ghcr.io/github/github-mcp-server
Added stdio MCP server github with command: docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server to user config
適当なフォルダにて claude で /mcp を打ってみる。
> /mcp
⎿ MCP Server Status
• github: connected
できてるっぽいですね。
Discussion