/ ディレクトリ / プレイグラウンド / MCP Apps Protocol
● 公式 modelcontextprotocol ⚡ 即起動

MCP Apps Protocol

作者 modelcontextprotocol · modelcontextprotocol/ext-apps

MCPサーバーがインタラクティブなUIフラグメントを配信できるようにする公式拡張 — フォーム、チャート、ピッカーを会話の中にClaudeが直接表示します。

MCP Appsは公式に承認されたMCPの拡張仕様で、サーバーがチャットホストにレンダリングさせるインタラクティブUI(フォーム、チャート、ピッカーなど)を宣言できます。このリポジトリには仕様、リファレンスSDK(TypeScript)、サンプルが含まれています。

なぜ使うのか

主な機能

ライブデモ

実際の動作

準備完了

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "mcp-apps-protocol": {
      "_doc": "Reference SDK; integrate as a library inside your MCP server or chatbot host."
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "mcp-apps-protocol": {
      "_doc": "Reference SDK; integrate as a library inside your MCP server or chatbot host."
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "mcp-apps-protocol": {
      "_doc": "Reference SDK; integrate as a library inside your MCP server or chatbot host."
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "mcp-apps-protocol": {
      "_doc": "Reference SDK; integrate as a library inside your MCP server or chatbot host."
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "mcp-apps-protocol",
      "args": []
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "mcp-apps-protocol": {
      "command": {
        "args": []
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add mcp-apps-protocol -- undefined 

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: MCP Apps Protocol

MCPツールにフォームベースの確認を追加する

👤 開発者 ⏱ ~15 min intermediate

使うタイミング: ツールに破壊的な副作用があり、実行前にユーザーの確認を求めたい場合。

フロー
  1. 仕様を読む
    Appsの仕様セクションをざっと読みます。✓ コピーしました
    → 概念が理解できている
  2. UIフラグメントを追加
    ツールハンドラーからAppコンポーネントを返します。✓ コピーしました
    → ホストがフォームをレンダリングしている
  3. 送信をワイヤリング
    送信時にツールが確認済みの引数で再呼び出しされます。✓ コピーしました
    → 破壊的ツールが安全になっている

結果: MCPツールが構造化された確認を要求できるようになります。

組み合わせ

他のMCPと組み合わせて10倍の力を

mcp-apps-protocol + fastmcp

MCPサーバーにfastmcpを使い、インタラクティブな部分にAppsを使う

mcp-apps-protocolとfastmcpを組み合わせる:MCPサーバーにfastmcpを使い、インタラクティブな部分にAppsを使う✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
protocol-spec (ドキュメント参照) 呼び出し可能なツールなし — プロトコル拡張仕様です 1 call

コストと制限

運用コスト

APIクォータ
N/A
呼び出しあたりのトークン
0
金額
無料
ヒント
Appsは小さく保つ — インラインでレンダリングされます

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: なし
データ送信先: なし

トラブルシューティング

よくあるエラーと対処法

ホストがAppをレンダリングしない

ホストがApps拡張をサポートしているか確認してください;オプトインが必要です

代替案

MCP Apps Protocol 他との比較

代替案代わりに使う場面トレードオフ
promptで確認するシンプルなツールホストがAppsをサポートしていない場合構造化された入力ができない

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る