テック技報最新号へ →
AIコーディング

MCP Apps: 自分の MCP サーバーに UI を付けて Claude の中で動かす(Claude Code のスキルで作る)

MCP Apps は MCP サーバーが Claude の会話内に出す操作できる UI。Claude が app tools(UI 側のツール)や埋め込みサイトにも対応したので、サイドパネルや全画面で自分のアプリを動かせる。作るのは公式スキルを入れた Claude Code に任せられる。

@ClaudeDevs · 投稿 2026-11-10
#ai-coding#mcp#claude#mcp-apps#claude-code

できること(Claude 側)

  • サイドパネル・全画面表示、Artifacts ページからの起動とサイドバーへのピン留め
  • app tools: アプリの UI にツールを登録し、Claude が画面の一覧や選択行を変えられる
  • アプリから Claude にメッセージを送る(ボタン押下で「計画を立てて」など)
  • 埋め込みサイト: 自社のエディタやダッシュボードを iframe で読み込む
  • ファイルのダウンロード

試す(Claude Desktop)

  • Settings → Developer → Edit Config で claude_desktop_config.json に例のサーバーを足して再起動する
json
{
  "mcpServers": {
    "map": { "command": "npx", "args": ["-y", "@modelcontextprotocol/[email protected]", "--stdio"] }
  }
}
  • 試すだけなら版の指定なしでもよいが、残しておくなら版を固定する(npx は毎回最新を取ってくる)

作る

  1. Claude Code に公式スキルを入れる:
text
/plugin marketplace add modelcontextprotocol/ext-apps
/plugin install mcp-apps@mcp-apps
  1. 「Create an MCP App」「Add a UI to my MCP tool」と頼む。OpenAI Apps SDK 製のアプリなら「Migrate from OpenAI Apps SDK」で移行も頼める
  2. サーバー側は registerAppTool()/registerAppResource() で登録すると、ホストごとのメタデータを作ってくれる。アプリ側は App.connect() を引数なしで呼ぶとホストを判定する
  3. Claude 用の ui.domain は「サーバー URL の SHA-256 の先頭32桁+.claudemcpcontent.com」:
shell
node -e 'const u="https://example.com/mcp"; console.log(require("crypto").createHash("sha256").update(u).digest("hex").slice(0,32)+".claudemcpcontent.com")'

注意点

  • app tools・Artifacts からの起動・埋め込みサイトは、リモートサーバーで動くコネクタでないと使えない。手元のサーバーはトンネルで公開してカスタムコネクタとして足す
  • ディレクトリ掲載のコネクタでは、起動口と埋め込みサイトは Verified 掲載のときだけ。Community 掲載から入れた人には出ない(自分のカスタムコネクタでの試験では動いていても)
  • サイドパネルなどは組織で使えるかを先に確認する

出典

X の元の投稿を開く