MCPプロトコルとは? 🤖🌐

MCP(Model Context Protocol)は、大きく分けて2つの要素で成り立っています。

MCP Server 🧠

  • レストランのメニューのように、AI に「何が使えるか」を見せる役割です。
  • ⚠️ ただし、どの「店」でも良いわけではなく、品質やコストには差があります。
  • HuBrowser MCP Server を使うと、AI がデスクトップやモバイル上のブラウザを、人間のように操作できます。現時点では企業向け提供です。

MCP Host と Client 💬

  • Host は、あなたの要望を理解して、メニューから適切なものを選んでくれる賢いアシスタントのような存在です。
  • HuBrowser MCP Host は、自然言語の指示を理解し、複数のサービスと連携しながらタスクを進めます。

エンジニア向けに一言でいうと 🤓

MCP は、JSON-RPC と JSON Schema を使って、ローカルまたはリモート経由でツール発見と呼び出しを行うためのプロトコルです。実際には、ツール一覧の取得、入出力の説明、実行、結果のストリーミングを一貫した形で扱えます。

MCPが向いているケース ✅

  • 個別実装を増やさず、複数の AI アプリで同じツールを使いたい
  • ツールやリソースに対して、発見しやすく型付きのインターフェースがほしい
  • ツール呼び出しの可視化や制御を重視したい
  • ローカル機能とリモート機能を組み合わせたい

MCPが過剰になりやすいケース ⚖️

  • 単一アプリから単一 API を呼ぶだけで、オーケストレーションもほぼ不要な場合
  • 極端にステートレスで短命な処理で、REST のほうが素直な場合
  • ツール探索は不要で、固定の呼び出しが数個あれば十分な場合

もう少し詳しく見る 🔍

Model Context Protocol を使うと、AI は単なるQ&Aを超えて、メール送信、コードデプロイ、記事公開のような実作業まで扱えるようになります。オープン標準なので、さまざまな Host が対応でき、Server も複数の Host で再利用できます。モデル提供元ごとに個別実装するより拡張しやすいのが利点です。

現在の課題 ⚠️

複雑さ 🌀

すでに API がある場合、それを MCP Server で包むことは、REST や OpenAPI を直接使うより回りくどく感じることがあります。レイヤーが増えるぶん、セキュリティや権限制御の面も増えます。

セキュリティ 🔒

リスクはライフサイクル全体にまたがります。

  • 作成時: 似た名前の Server で悪意あるものを入れてしまう
  • コード注入: 改ざんされたソースや設定が混入する
  • 実行時の競合: 似た名前のツールが衝突し、誤動作や漏えいを起こす
  • 権限のずれ: 更新後も古い権限が残り続ける

権限管理 🔑

企業では、セルフホストやデータプレーンと制御プレーンの分離を求めることが多いです。OAuth 風認証やストリーミング転送、バッチ処理の仕組みがあっても、ツール単位・リソース単位の細かい権限制御はまだ発展途上です。ツール数が増えるほど運用は難しくなります。

ステートフル接続 🔄

MCP は、状態を持つ長時間接続を前提にしやすい設計です。これは Lambda や Workers のような完全ステートレス構成とは相性が悪く、サブプロセス利用時の分離設計も課題になります。

コンテキスト過多 💭

使えるツールをすべてモデルに渡すと、トークンを無駄に消費し、挙動も不安定になります。60 個以上のツールがあって実際に必要なのが 5 個なら、選択精度は落ちやすくなります。階層的なルーティングや必要なものだけ見せる設計が重要です。

伸びしろ 💡

MCP は、ユーザーの主な操作窓口をモデル中心に保てます。複数の SaaS 画面を渡り歩く代わりに、API を通じてワークフローをまとめて進められるため、長く複雑な作業に向いています。

Server gateway 🚪

Host と Server の間にゲートウェイを入れると、次のようなことがしやすくなります。

  • アクセス制御と認証
  • リクエストの賢い振り分け
  • 負荷分散
  • 応答キャッシュ

特に、エージェントやユーザーごとに権限が異なるマルチテナント環境では重要です。

Server discovery 🔎

現状ではセットアップが手作業になりがちです。たとえば次の余地があります。

  • 複数の Host に Server を追加しやすいインストーラーツール
  • 信頼できる Server を探せるディレクトリやレジストリ

Server hosting ☁️

リモートホスティングも急速に進んでいます。今後は次のような基盤がさらに重要になります。

  • リモート転送ハンドラ
  • ローカル Host からリモート Server を呼ぶためのアダプタ
  • 接続やテストを行える Web コンソール

ライフサイクル全体のセキュリティ 🛡️

各フェーズごとに対策が必要です。

  • 作成時: 署名付きリリース、整合性チェック、発行元確認
  • 実行時: サンドボックス、分離、安全な I/O 境界
  • 更新時: バージョン管理、権限移行、廃止対応

ツール呼び出し管理 🛠️

Host 側には、次のためのミドルウェア層が必要になります。

  • ツール発見、順位付け、選択
  • 一貫した UX パターンの提供(スラッシュコマンドか自然言語かなど)
  • 複数ステップの実行、リトライ、失敗後の再開

いまのHuBrowserとMCP 🚀

  • HuBrowser MCP Server: デスクトップとモバイルで AI 主導のブラウジングを実現(企業向け)
  • HuBrowser MCP Host: 自然言語から複数サービスにまたがるタスクを進行
  • コンプライアンス重視のチーム向けに、セルフホストや責務分離を考慮した設計

企業向け自動化で MCP を検討しているなら、環境に合わせたセキュリティ設計、権限制御、導入モデルの整理をお手伝いできます。