🔗
MCP(Model Context Protocol)の仕組みと基本的な活用方法
※この記事はAIによって生成されました。
MCPとは
MCP(Model Context Protocol)は、AI モデルが外部のデータソースやツールと安全に連携するためのオープンな標準プロトコルです。Anthropic が開発したこのプロトコルにより、Claude などの AI アシスタントが様々な外部システムと統合され、より豊富な機能を提供できるようになります。
MCPの基本仕組み
アーキテクチャ
MCPは以下の3つの主要コンポーネントで構成されています:
- MCP Host(ホスト): Claude などの AI アシスタント
- MCP Server(サーバー): 特定の機能やデータソースを提供するサービス
- 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