MCP
概要
MCP(Model Context Protocol)は、AIエージェントを外部の世界(ツール、データソース、外部システム)に接続するためのオープン標準です。すべてのアプリがデータベースやAPI、ファイルストアをモデルに公開する独自の方法を考案するのではなく、MCPは共通のインターフェースを定義します。何らかの機能を提供する「MCPサーバー」を実行すれば、MCP対応のエージェントであれば独自のつなぎ込みコードなしでそれを利用できます。
強み
- 標準が1つなので、公開したツールがMCP対応のあらゆるエージェントで動作する。
- エージェントとそれが触れるシステムをきれいに分離できるため、見通しがよくセキュリティも確保しやすい。
- 一般的なシステム向けの既製サーバーのエコシステムが成長しており、自前で作るものが少なくて済む。
- オープンで特定ベンダーに縛られないため、連携がロックインされない。
トレードオフ
- セットアップ、設定、稼働維持が必要な、もう1つの実行プロセスである。
- 各サーバーは実際のアクセス経路なので、権限と信頼が重要になる。
- 仕様はまだ若く、変化し続けているため、粗削りな部分がある前提で臨む必要がある。
- 間接化が増えるため、直接的なAPI呼び出しよりも障害の追跡が難しくなることがある。
使いどころ
エージェントに特定の外部システム(自分のデータベース、社内API、ナレッジベースなど)を確実に使わせたいとき、そしてその接続を1つのプロンプトに手作業で組み込むのではなく再利用可能にしたいときに、MCPを選びましょう。
バイブコーディングとの相性
MCPは、エージェントがテキストから推測するのではなく、あなたの世界に対して本物の構造化されたアクセスを得る手段です。プロジェクトが依存するシステム向けにサーバーを用意すれば、エージェントはそれらに直接クエリできます。書き込みができるものを許可する前に、まずは信頼できる読み取り専用のサーバーから始め、認証情報のスコープは厳しく絞っておきましょう。
// MCPサーバーをエージェントに登録する
{
"mcpServers": {
"files": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "./"] }
}
}