AIにブラウザを使わせる ~MCP接続方法とブラウザ情報の受け渡し~
- POSTS
目次 こんにちは、エンジニアの池田です。この記事では、以下の内容を紹介します。
MCPとは? MCPの仕組み 今回導入するMCP 導入方法 使用例:会社近くにある飲み屋の場所を調べてみよう 結果 まとめ 1. MCPとは? Anthropicとの関係 MCP(Model Context Protocol) は、Anthropicが開発したAIモデルと外部システムを接続するためのプロトコル(とりきめ)です。Claude CodeやClaude Desktopなど、Anthropicの製品で積極的に活用されています。
MCPを使用することで、AIが単体では実現できない機能(ファイル操作、Web検索、データベースアクセスなど)を、外部ツールとの連携により実現できるようになります。
MCPの種類 MCPには大きく分けて以下の種類があります:
ファイルシステム型: ローカルファイルの読み書きや検索 Web型: ブラウザ操作やWeb検索 データベース型: SQLiteやPostgreSQLなどとの連携 API型: 外部サービスのAPI呼び出し システム型: コマンド実行やシステム情報取得 2. MCPの仕組み 前の章ではMCPにいくつかの種類があることを紹介しましたが、ここではもう少し技術的に踏み込んで、MCPがどのような仕組みで動作するのかを解説します。
プロトコルとしてのMCP まず重要な点として、MCPは「Model Context Protocol」の略であり、その名の通り プロトコル(通信上の取り決め) です。特定のプログラムやツールそのものを指す言葉ではありません。
AIツール(今回でいえばClaude Desktop)と、外部機能を提供するプログラム(MCPサーバー)が連携する際に、「このような形式でリクエストを送り、このような形式でレスポンスを返しましょう」というルールを定めたものがMCPです。
具体的にどのような文字列がMCPの内部で使われるのかはこちらのサイトから確認できます。 典型的な命令としては、以下のような内容をやり取りしています。
{ jsonrpc: "2.0"; id: string | number; method: string; params?: { [key: string]: unknown; }; } ただし、基本的にはクライアントもサーバも実装にはSDKを使うため、この文字列を直接扱うことは少ないかと思います。
SDKはGitHub上で公開されており、PythonやC#をはじめ、様々な方式で自作のMCPサーバを開発できます。 ただし、言語によって開発状況はまちまちで、C#では標準出力経由でやりとりするか、Httpサーバ経由でやり取りするしか選択肢はありません。
MCPサーバの立ち位置も、基本的にはAIツールと操作対象のツールの間に小型のMCPサーバを立て、標準出力にJson-RPCのみ出力して動作するのが一般的な実装方法の様です。