みなさんこんにちは!
ここ2週間くらいはXでもずーっとClaude Codeの話題で盛り上がっていて、AI開発の時代が本格化したなーと思っています。
雑な指示でもとても上手に実装してくれますが、外部ツールとMCP連携できたらもっと便利になります。
今回はClaude CodeからMCPを利用する方法、というよりもそのための設定について書いていきます。
MCP(Model Context Protocol)の技術概要
MCPは、Large Language Modelが外部システムと標準化されたプロトコルで通信するためのフレームワークです。
例
- GitHub API連携による自動Issue/PR管理
- ファイルシステムへの直接アクセス
- データベースへクエリ実行
- 外部API統合
などなど、便利な外部ツールを自然言語で利用できるようになります。
設定ファイルの配置先
Claude DesktopとClaude Codeでは設定ファイルの場所が異なります。
(macOSを利用しているので、その前提で説明していきます。)
Claude Desktop(GUI版)
~/Library/Application Support/Claude/claude_desktop_config.json
Claude Code(CLI版)
~/.claude.json
GitHub MCPサーバーの設定手順
GitHubと連携しておくととても便利なので、GitHubのローカルMCPサーバーと接続するための設定について書いていきます。
詳しいこと、細かいことは公式の設定を参照されるとよいと思います。
(fine-grained tokensの設定とか、Dockerのインストールとか)
GitHub API アクセス用のトークンを作成
- GitHub Settings → Developer settings → Personal access tokens
- "Generate new token (Fine-grained tokens)"を選択
- 必要な権限と利用可能リポジトリを設定
- Contents、Issue、Metadata、Pull Requestsあたりが許可されていれば便利です
- トークンを取得・保存
MCPサーバー設定
~/.claude.json
にMCPサーバー設定を追加します。
${GITHUB_PERSONAL_ACCESS_TOKEN}
は~/.zshrc
に保存していてもいいですし、べたっと貼り付けておいてもまぁよいと思います。
もしかするとJSONのルートにmcpServers
セクションがない場合もあるかもしれないので、その場合は追加しましょう。
{
...
"tipsHistory": {
...
},
...
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_ACCESS_TOKEN}"
}
}
},
"projects": {
...
}
}
複数アカウント対応
組織アカウントと個人アカウントを分離した設定例です。
トークンが別のものになっていればよいだけです。
{
"mcpServers": {
"github_a": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_WORK_TOKEN}"
}
},
"github_b": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_TOKEN}"
}
}
}
}
この設定により、異なるGitHubアカウントに対する操作を独立して実行可能になります!
動作確認
設定後の検証:
❯ claude mcp list
github_a: docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server
github_b: docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server
実際の利用例:
❯ claude "〇〇のリポジトリで最新のIssueを3つ表示"
これでClaude CodeからMCPサーバーを利用できるようになります。
Claude CodeをMCPサーバーとして利用する
書いている途中でこんな記事を見つけました。
上で書いていたのでは、Claude CodeからMCPを利用する方法ですが、Claude Code自体をMCPサーバーとして起動してClaude Desktopなどから利用する方法もあるみたいです。
Claude Desktopの設定(~/Library/Application Support/Claude/claude_desktop_config.json
)にClaude Code自体をMCPサーバーとして動作させる設定を書いてみましょう。
{
"mcpServers": {
"claude_code": {
"command": "/usr/local/bin/claude",
"args": ["mcp", "serve"],
"env": {}
}
}
}
Claude Desktopから触ってみると、こんな感じでClaude Codeが実行できてそうでした!
(japan-demというのは最近作ったツールです。)
この設定により、Claude間の相互通信が可能になりました!
まとめ
Claude CodeとMCPサーバーの統合により開発がさらに楽になりそうですね!
皆さんも使ってみてください!