CC Guide
中級

MCP サーバーで機能を拡張する

Model Context Protocol サーバーを設定して、Claude Codeに外部ツールやデータソースへのアクセスを追加する方法。

mcp拡張中級者向け

MCP とは何か

MCP(Model Context Protocol)は、Claude Code が外部のツールやデータソースと通信するための規格だ。MCP サーバーを追加すると、Claude Code から新しい「ツール」が利用可能になり、GitHub の操作、ブラウザの自動化、データベースへのアクセスなどができるようになる。

MCP の仕組み

Claude Code <---> MCP サーバー <---> 外部サービス
                (標準プロトコル)

MCP サーバーは標準化されたプロトコルで通信するため、Claude Code 側の変更なしに新しいサーバーを追加できる。

MCP でできること

カテゴリ
開発ツールGitHub PR/Issue 操作、ファイルシステムアクセス
ブラウザ操作Web ページのキャプチャ、E2E テスト、スクレイピング
データベースPostgreSQL、SQLite のクエリ実行
ドキュメントライブラリドキュメントの検索
メモリセッション間で持続するメモリの管理

設定方法

MCP サーバーの設定は settings.json または /mcp コマンドで行う。

設定ファイルの場所

ファイルスコープ用途
~/.claude/settings.jsonユーザー全体全プロジェクトで使うサーバー
.claude/settings.jsonプロジェクトそのプロジェクト固有のサーバー

設定の構造

MCP サーバーの設定は mcpServers キー以下に、サーバー名をキーとして登録する。各サーバーには command(起動コマンド)と args(引数)を指定する。環境変数が必要な場合は env に設定する。

基本的な設定パターンを以下に示す。コマンドライン引数にサーバーパスを渡す形式と、環境変数でトークンを渡す形式の2通りがある。

/mcp コマンドによる管理

セッション内で MCP サーバーの管理ができる。

/mcp              # MCP管理画面を開く
/mcp add          # サーバーを追加
/mcp remove       # サーバーを削除
/mcp list         # サーバー一覧を表示

人気の MCP サーバー

1. GitHub サーバー

GitHub の PR、Issue、リポジトリ操作を行う。

設定には GITHUB_PERSONAL_ACCESS_TOKEN 環境変数が必要。トークンは GitHub Settings > Developer settings > Personal access tokens から発行できる。

利用可能なツール例:

  • PR の作成、一覧取得、レビュー
  • Issue の作成、検索、コメント
  • リポジトリのファイル読み取り
  • ブランチの操作

2. Playwright サーバー

ブラウザの自動操作とE2Eテスト。

# インストールして利用
npx @playwright/mcp@latest

利用可能なツール例:

  • ページのナビゲーションと操作
  • 要素のクリック・入力
  • スクリーンショットの取得
  • アクセシビリティツリーの取得

3. Context7 サーバー

ライブラリの公式ドキュメントを検索する。

# 利用例
npx @upstash/context7-mcp

利用可能なツール例:

  • ライブラリ名からドキュメントを検索
  • 特定のバージョンのAPIリファレンスを取得
  • コード例の検索

4. Filesystem サーバー

指定したディレクトリへの安全なファイルアクセスを提供する。

# プロジェクトディレクトリへのアクセスを許可
npx @modelcontextprotocol/server-filesystem /path/to/project

利用可能なツール例:

  • ファイルの読み書き
  • ディレクトリ一覧の取得
  • ファイル検索

5. Memory サーバー

セッション間で持続する記憶を管理する。

# 利用
npx @modelcontextprotocol/server-memory

利用可能なツール例:

  • エンティティの作成・読み取り
  • リレーションの管理
  • 知識グラフの検索

MCP ツールの命名規則

MCP サーバー経由で追加されたツールは、mcp__<サーバー名>__<ツール名> の形式で呼び出される。

例: GitHub サーバーを追加した場合
mcp__github__list_prs          # PR一覧取得
mcp__github__create_issue      # Issue作成
mcp__github__search_code       # コード検索

セッション内ではスラッシュコマンドとしても利用可能だ。


カスタム MCP サーバーの作成

独自の MCP サーバーを作成して、プロジェクト固有の機能を追加できる。

最小構成のサーバー

MCP サーバーは、標準入出力で JSON-RPC メッセージをやり取りする Node.js プロセスとして実装できる。公式 SDK(@modelcontextprotocol/sdk)を使うと、ツールの定義とハンドラーの実装を簡潔に書ける。

基本構成:

  1. SDK をインポートしてサーバーインスタンスを作成
  2. tools/list でツール一覧を返す
  3. tools/call でツール実行のロジックを書く
  4. 標準入出力のトランスポートで接続

ツールの定義

各ツールには以下を定義する:

  • name: ツール名(一意)
  • description: ツールの説明(Claudeが判断材料にする)
  • inputSchema: 入力パラメータのJSON Schema

設定への追加

自作サーバーは commandnodeargs にスクリプトパスを指定して登録する。

# プロジェクト内のサーバーを指定
command: "node"
args: ["./mcp-servers/my-server.js"]

トラブルシューティング

よくある問題と対処

問題原因対処
サーバーが起動しないnpxのキャッシュが古いnpx clear-npx-cache を実行
ツールが表示されない設定ファイルの構文エラーJSONの構文を確認
認証エラー環境変数未設定env にトークンを設定
タイムアウトサーバーの起動が遅い--yes フラグで確認をスキップ
ツールが古い古いバージョンがキャッシュされている@latest を指定

MCP サーバーの状態確認

/mcp              # 接続状態とツール一覧を確認
/mcp list         # 登録済みサーバーを一覧

デバッグ方法

サーバーの動作を確認するには、コマンドを直接実行してエラー出力を確認する。

# GitHubサーバーを直接実行してエラーを確認
GITHUB_PERSONAL_ACCESS_TOKEN=ghp_xxx npx -y @modelcontextprotocol/server-github

エラーが出力されなければ、サーバー自体は正常に起動している。問題がある場合はエラーメッセージを確認する。


まとめ

MCP サーバーは、Claude Code を「自分専用の開発アシスタント」にカスタマイズする強力な仕組みだ。標準プロトコルにより、公式・サードパーティ・自作のサーバーを同じ方法で追加できる。

まずは GitHub サーバーから試し、徐々に必要なサーバーを追加していくのがおすすめだ。

MCP スラッシュコマンドの活用については、MCP スラッシュコマンドで詳しく解説しています。LSP コードインテリジェンスについては、LSP コードインテリジェンスで詳しく解説しています。

次に読むべきガイド: チーム開発で Claude Code を活用する では、チーム全体での MCP サーバー運用とCI/CD統合を学べる。

リファレンス


すぐ試したい方へ

MCPのスラッシュコマンドをすぐ試したい場合は、MCPスラッシュコマンドTips で実践的なテクニックを確認できます。

次のステップ

高度に進む

上級者向け学習パス: ハーネスエンジニアリングと運用最適化

Claude Code の活用を極限まで高める方向けのガイド。ハーネス最適化、プラグイン開発、マルチモデルオーケストレーション、組織展開まで。

関連コンテンツ