5

MCP連携

feedbackClaude CodeMCP ClientMCP Config.claude/settings.jsonstdio TransportLocal processSSE TransportHTTP streamingStreamable HTTPBidirectionalMCP Serverfilesystem, git...MCP ServerCustom toolsMCP ServerContext7, Playwright...Tool Discovery & ExecutionRegistered as Claude tools

MCPとは

Model Context Protocol (MCP) は、LLMアプリケーションに外部ツールやデータソースを 接続するための標準プロトコルである。Claude Codeは MCPクライアントとして動作し、 MCPサーバーが提供するツールを自身のツールセットに統合する。

アーキテクチャ

Claude Code (Client)
    |
    |--- stdio ---> [ローカル MCP サーバー]
    |
    |--- SSE -----> [リモート MCP サーバー]
    |
    |--- HTTP ----> [Streamable HTTP サーバー]

MCPはクライアント・サーバーモデルで動作する。 Claude Codeがクライアントとなり、各サーバーが提供するツールを発見・呼び出す。

トランスポート

トランスポート説明用途
stdio標準入出力でプロセス間通信ローカルツール(最も一般的)
sseServer-Sent Events によるHTTPストリーミングリモートサーバー
streamable-httpHTTP上の双方向ストリーミング新しいリモートサーバー

設定方法

MCPサーバーは .claude/settings.json または .mcp.json で設定する。

settings.json での設定

{
  "mcpServers": {
    "context7": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"]
    },
    "playwright": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@anthropic-ai/mcp-playwright"]
    }
  }
}

.mcp.json での設定

プロジェクトルートに .mcp.json を配置する方法もある。

{
  "mcpServers": {
    "filesystem": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@anthropic-ai/mcp-filesystem", "/path/to/allowed/dir"]
    }
  }
}

ツール発見と呼び出し

MCPサーバーが起動すると、提供するツールの一覧がClaude Codeに登録される。 ツール名は mcp__<server>__<tool> の形式で利用可能になる。

mcp__context7__resolve-library-id
mcp__context7__query-docs
mcp__playwright__browser_navigate
mcp__playwright__browser_snapshot

Claudeはタスクに応じて適切なMCPツールを自動選択し、呼び出す。

よく使われるMCPサーバー

サーバー機能パッケージ
Context7ライブラリドキュメントの参照@upstash/context7-mcp
Playwrightブラウザの自動操作・テスト@anthropic-ai/mcp-playwright
Filesystemファイルシステム操作@anthropic-ai/mcp-filesystem
TavilyWeb検索・クロールtavily-mcp
SlackSlackメッセージの送受信@anthropic-ai/mcp-slack
LinearLinearのタスク管理mcp-linear

セキュリティ設定

MCPサーバーのアクセス制御は設定ファイルで管理する。

許可リスト

{
  "permissions": {
    "allowedMcpServers": ["context7", "playwright"]
  }
}

拒否リスト

{
  "permissions": {
    "deniedMcpServers": ["filesystem"]
  }
}

Managed設定(組織管理者)で deniedMcpServers を指定すると、 ユーザーレベルでの上書きは不可能になる。

リソースとプロンプト

MCPサーバーはツール以外にも以下を提供できる。

機能説明
Resourcesコンテキストとして読み込むデータ(ドキュメント、設定など)
Promptsサーバーが提供する定型プロンプト

トラブルシューティング

問題対処法
サーバーが起動しないnpx のパスやNode.jsバージョンを確認
ツールが表示されないsettings.json の構文エラーを確認
接続タイムアウトリモートサーバーのURLとネットワーク設定を確認
権限エラーallowedMcpServers の設定を確認

ベストプラクティス

  1. 必要なサーバーのみ有効化 — 不要なサーバーはトークンとリソースを消費する
  2. ローカル優先 — 可能な限りstdioトランスポートを使用する
  3. 権限を最小化 — MCPサーバーに渡すディレクトリやスコープを制限する
  4. チームで統一.mcp.json をリポジトリにコミットして設定を共有する
  5. バージョン固定 — 本番では npx -y package@version でバージョンを指定する