🔗

MCP(Model Context Protocol)の仕組みと基本的な活用方法

に公開

※この記事はAIによって生成されました。

MCPとは

MCP(Model Context Protocol)は、AI モデルが外部のデータソースやツールと安全に連携するためのオープンな標準プロトコルです。Anthropic が開発したこのプロトコルにより、Claude などの AI アシスタントが様々な外部システムと統合され、より豊富な機能を提供できるようになります。

MCPの基本仕組み

アーキテクチャ

MCPは以下の3つの主要コンポーネントで構成されています:

  1. MCP Host(ホスト): Claude などの AI アシスタント
  2. MCP Server(サーバー): 特定の機能やデータソースを提供するサービス
  3. MCP Client(クライアント): ホストとサーバーを仲介する役割
AI アシスタント (Host) ↔ MCP Client ↔ MCP Server (機能提供)

通信プロトコル

MCPは JSON-RPC 2.0 ベースの通信プロトコルを使用し、以下の通信方式をサポートしています:

  • Standard I/O: プロセス間通信
  • Server-Sent Events (SSE): HTTP ベースの通信
  • WebSocket: リアルタイム双方向通信

主要な機能

1. Resources(リソース)

外部データソースへのアクセスを提供します:

  • ファイルシステム
  • データベース
  • API エンドポイント
  • ウェブページ

2. Tools(ツール)

AI が実行可能なアクションを定義します:

  • ファイル操作
  • システムコマンド実行
  • 外部API呼び出し
  • データ変換処理

3. Prompts(プロンプト)

事前定義されたプロンプトテンプレートを提供します:

  • コード生成用テンプレート
  • データ分析用テンプレート
  • 文書作成用テンプレート

基本的に利用されるMCPサーバー

1. ファイルシステムMCP

# インストール
npm install @modelcontextprotocol/server-filesystem

# 設定例
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-filesystem", "/path/to/directory"]
    }
  }
}

主な機能:

  • ファイル読み書き
  • ディレクトリ操作
  • ファイル検索

2. Git MCP

# インストール
npm install @modelcontextprotocol/server-git

# 設定例
{
  "mcpServers": {
    "git": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-git", "--repository", "/path/to/repo"]
    }
  }
}

主な機能:

  • コミット履歴の確認
  • ブランチ操作
  • 差分表示
  • ログ検索

3. Brave Search MCP

# インストール
npm install @modelcontextprotocol/server-brave-search

# 設定例(API キーが必要)
{
  "mcpServers": {
    "brave-search": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-brave-search"],
      "env": {
        "BRAVE_API_KEY": "your-api-key"
      }
    }
  }
}

主な機能:

  • ウェブ検索
  • ニュース検索
  • 画像検索

4. SQLite MCP

# インストール
npm install @modelcontextprotocol/server-sqlite

# 設定例
{
  "mcpServers": {
    "sqlite": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-sqlite", "--db-path", "/path/to/database.db"]
    }
  }
}

主な機能:

  • SQL クエリ実行
  • テーブル構造の確認
  • データの挿入・更新・削除

5. Puppeteer MCP

# インストール
npm install @modelcontextprotocol/server-puppeteer

# 設定例
{
  "mcpServers": {
    "puppeteer": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-puppeteer"]
    }
  }
}

主な機能:

  • ウェブページのスクリーンショット
  • ページ内容の取得
  • フォーム操作
  • JavaScript 実行

設定と使用方法

Claude Desktop での設定

Claude Desktop アプリケーションで MCP を使用するには、設定ファイルを編集します:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-filesystem", "/Users/username/Documents"]
    },
    "git": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-git", "--repository", "/Users/username/projects"]
    }
  }
}

使用例

設定後、Claude で以下のような操作が可能になります:

# ファイル操作
「プロジェクトフォルダ内のREADME.mdを読んで内容を要約して」

# Git 操作
「最新のコミット履歴を5件表示して」

# 検索操作
「最新のJavaScript フレームワークのトレンドを調べて」

セキュリティ考慮事項

1. 権限管理

  • ファイルアクセス権限の制限
  • 実行可能コマンドの制限
  • ネットワークアクセスの制御

2. データプライバシー

  • 機密データの適切な処理
  • ログの管理
  • 通信の暗号化

3. 設定の検証

  • サーバー設定の定期的な見直し
  • 不要なサーバーの無効化
  • API キーの適切な管理

まとめ

MCP は AI アシスタントの機能を大幅に拡張する強力なプロトコルです。ファイルシステム、Git、検索、データベースなどの基本的なサーバーを活用することで、開発作業を効率化し、より複雑なタスクを AI に委託できるようになります。

適切な設定とセキュリティ対策を行うことで、MCP を安全かつ効果的に活用し、AI を使った開発体験を向上させることができます。

Discussion