Model Context Protocol (MCP) Tips and Best Practices について
Docker と VS Code を使った GitHub MCP サーバーの設定・トラブルシューティングガイドです。サーバーを導入する開発者向けに、トークンの安全管理や運用方法を説明します。
主な機能
- 01Docker によるサーバー設定
- 02VS Code の設定ガイド
- 03GitHub トークンの安全対策
- 04接続と認証のトラブルシューティング
- 05ログとリソースの調整
活用シーン
- 01VS Code で GitHub MCP サーバーを設定
- 02GitHub トークンの誤コミットを防止
- 03Docker や認証の問題を診断
MCP 対応
GitHub MCP サーバーを含む、MCP サーバーの設定と運用に関するガイドです。MCP サーバーの実装自体は説明していません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-serverGITHUB_PERSONAL_ACCESS_TOKENシークレットローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/github/github-mcp-serverstdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Model Context Protocol(MCP)のヒントとベストプラクティス
MCP とは?
Model Context Protocol(MCP)は、AI モデルが開発環境やツールと通信できるようにするプロトコルです。AI アシスタントがコンテキストを収集し、コマンドを実行し、コードベースに構造化された安全な方法で変更を加えられるようにします。MCP サーバーは、AI モデルと開発環境の間の仲介役として機能し、やり取りのための標準化されたインターフェースを提供します。
セットアップガイド
前提条件
- システムに Docker がインストールされていること
- 適切な権限を持つ GitHub Personal Access Token(PAT)
- 必要な拡張機能をインストールした VS Code
基本的なセットアップ手順
-
環境設定
- GitHub トークンを環境変数として設定します:
export GITHUB_TOKEN=your_token_here
- GitHub トークンを環境変数として設定します:
-
Docker イメージ
- MCP サーバーは Docker コンテナ内で実行されます
- 公式イメージは次の場所から利用できます:
ghcr.io/github/github-mcp-server
-
VS Code の設定
- VS Code の settings.json で MCP サーバーを設定します
- 基本的な設定例:
{ "mcp": { "servers": { "github": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN=${env:GITHUB_TOKEN}", "ghcr.io/github/github-mcp-server" ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "$GITHUB_TOKEN" } } } } }
設定のヒント
ベストプラクティス
-
トークンのセキュリティ
- GitHub トークンをバージョン管理にコミットしないでください
- 機密情報には環境変数を使用してください
- セキュリティのため、PAT を定期的にローテーションしてください
-
Docker の設定
- コンテナの停止後に自動削除するには、
--rmフラグを使用してください - 永続データにはボリュームマウントの使用を検討してください
- Docker イメージを最新バージョンに保ってください
- コンテナの停止後に自動削除するには、
-
VS Code との統合
- VS Code と拡張機能を最新の状態に保ってください
- ログレベルを適切に設定してください
- 必要に応じてワークスペース固有の設定を使用してください
トラブルシューティング
よくある問題と解決方法
-
接続の問題
- Docker が実行中であることを確認してください
- GitHub トークンが有効で、正しく設定されていることを確認してください
- GitHub へのネットワーク接続が適切であることを確認してください
-
認証の問題
- PAT に必要なスコープが設定されていることを確認してください
- 環境変数の設定を確認してください
- トークンの有効期限が切れていないことを確認してください
-
Docker 関連の問題
- イメージに問題がある場合は、Docker キャッシュをクリアしてください
- 詳細なエラーメッセージを確認するには、Docker のログをチェックしてください
- Docker に十分なシステムリソースがあることを確認してください
-
VS Code 統合の問題
- 必要に応じて VS Code の設定をデフォルトにリセットしてください
- VS Code の拡張機能ログを確認してください
- settings.json の MCP 設定の構文を確認してください
デバッグのヒント
- VS Code で詳細ログを有効にします
- Docker コンテナのログを確認します
- 環境変数が利用可能であることを確認します
- システムリソースの使用状況を監視します
高度な設定
カスタムサーバーの設定
- 複数の MCP サーバーを設定します
- カスタム環境変数を設定します
- リソース制限を設定します
パフォーマンスの最適化
- キャッシュ設定を構成します
- Docker コンテナのリソースを最適化します
- 適切なタイムアウト値を設定します
その他のリソース
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。