Skip to main content
Glama
different-ai

Hosted MCP Apps Example Gallery

by different-ai

ホスティングされたMCPアプリのギャラリー例

6つの公式MCPアプリの例を、独立してホストし、リクエストに制限を設けたアダプテーションです。このギャラリーは、ユーザーがリモートのStreamable HTTP URLをコピーし、MCPアプリホストに接続して、ソースをクローンしたりトンネルを開いたりせずに完全なインタラクティブツールリソースフローを試せるように設計されています。

このリポジトリとサービスは独立した学習インフラです。公式のModel Context Protocolプロジェクトやサービスではなく、SLAはなく、アカウント、アップロード、認証情報、永続的なユーザーデータは受け入れません。

ホスティングされたギャラリーを試す

検証済みのプロダクションギャラリーはopenwork-mcp-app-gallery-sol.vercel.appです。次のStreamable HTTP URLのいずれかをMCPアプリ互換ホストに追加してください。

アプリ

プロダクションMCP URL

サンプルプロンプト

時刻取得

https://openwork-mcp-app-gallery-sol.vercel.app/apps/get-time/mcp

「現在のサーバー時刻をインタラクティブアプリで表示して」

予算配分

https://openwork-mcp-app-gallery-sol.vercel.app/apps/budget-allocator/mcp

「インタラクティブな予算配分ツールを開いて」

コホートヒートマップ

https://openwork-mcp-app-gallery-sol.vercel.app/apps/cohort-heatmap/mcp

「インタラクティブな顧客維持コホートヒートマップを表示して」

顧客セグメンテーション

https://openwork-mcp-app-gallery-sol.vercel.app/apps/customer-segmentation/mcp

「インタラクティブなセグメンテーション図で合成顧客を探索して」

シナリオモデリング

https://openwork-mcp-app-gallery-sol.vercel.app/apps/scenario-modeler/mcp

「合成成長シナリオをインタラクティブにモデリングして」

トランスクリプト

https://openwork-mcp-app-gallery-sol.vercel.app/apps/transcript/mcp

「ローカルブラウザのトランスクリプトインターフェースを開いて」

MCPツールはサポートするがMCPアプリはサポートしないホストでは、同じエンドポイントは通常のテキストと構造化されたツール結果を返すだけで、埋め込まれたインタラクティブリソースは省略されます。各URLは1つのアプリのみを公開しているため、複数の例を試したい場合は複数のURLを接続してください。コピーしたエンドポイントにはアカウント、トークン、カスタムヘッダーは必要ありません。

このサービスは意図的にSLAを設けていません。入力は制限され、合成されたものです。トランスクリプトアプリはマイクの音声をブラウザ内に保持し、このサーバーにアップロードしません。共有または自動化された環境でギャラリーを使用する前に、制限と障害動作および診断と安全な可観測性を参照してください。

ギャラリーカタログ

アプリ

リモートMCPパス

ツール

インタラクティブ動作

データ境界

時刻取得

/apps/get-time/mcp

get-time

結果の配信と同一サーバーでの更新

現在のサーバータイムスタンプのみ

予算配分

/apps/budget-allocator/mcp

get-budget-data

予算コントロール、チャート、アプリ提供ツール

固定された合成カテゴリとベンチマーク

コホートヒートマップ

/apps/cohort-heatmap/mcp

get-cohort-data

制限付きコホートコントロールと同一サーバー更新

決定論的な合成コホート、最大12×12

顧客セグメンテーション

/apps/customer-segmentation/mcp

get-customer-data

フィルターと合成顧客の可視化

固定された合成レコード、制限付きフィルター

シナリオモデリング

/apps/scenario-modeler/mcp

get-scenario-data

テンプレートと制限付き同一サーバープロジェクション

合成入力と12ヶ月計算

トランスクリプト

/apps/transcript/mcp

transcribe

ローカルブラウザの音声UIと構造化ナビゲーション

音声はブラウザ内に残り、サーバーにアップロードされません

各パスは独立したMCPサーバーサーフェスであり、1つのギャラリーツールと1つの不変のui://リソースを持ちます。意図的にルート超大規模MCPやクロスアプリのツール/リソースアクセスはありません。

プロトコルとホスト契約

ランタイムは、ギャラリー所有のSDK-v2登録アダプターを通じてmcp-handler 2.1.1と@modelcontextprotocol/server 2.0.0を使用します。以下をサポートします。

  • 現在のMCP 2026-07-28 ディスカバリーとリクエストエンベロープ。

  • ステートレスな2025時代のStreamable HTTPフォールバック。

  • initializetools/listtools/callresources/read

  • text/html;profile=mcp-app リソース(ネストおよびレガシーフラットUIメタデータ付き)。

  • 通常のテキストコンテンツと非アプリホスト向けの構造化コンテンツ。

  • アプリの初期化、初期入力/結果の配信、UIトリガーによる同一サーバーツール呼び出し。

  • Vercelからゲートウェイ、ハンドラー、ツール、リソース作業に伝播されるリクエストキャンセル。

サービスはステートレスです。POSTはMCPリクエストを運びます。GETはハンドラーにルーティングされ、意図的なセッションレス405を返します。DELETE405を返します。制限付きOPTIONSは許可リストに登録されたブラウザオリジンに対してのみ利用可能です。これはデュアル時代ハンドラーのステートレストランスポート契約に適合し、サーバー側のセッションが存在することを示唆しません。

ランタイムアーキテクチャ

Vercelが認識する1つのHonoエントリポイントapp.tsが、ランディングページ、診断、6つのパラメータ化されたMCPパスを1つのステートレスFunctionで提供します。Vercelはpublic/から生成された公開アセットをCDNを通じて提供します。

ビルドは、チェックインされたソースと凍結されたロックファイルに対して意図的にクローズされています。

  1. scripts/generate-upstream-manifest.ts は凍結されたソースとギャラリー所有のアダプテーションを記録します。

  2. scripts/bundle-mcp-app-resources.ts は決定論的な単一ファイルHTMLリソースを構築し、512 KiBを超えると失敗します。

  3. scripts/generate-gallery.ts はランディングページのマニフェストとコンテンツハッシュ化された静的アセットを出力します。

  4. scripts/generate-sbom.ts はコミットされたCycloneDXインベントリを出力します。

  5. src/resources.ts は、準備完了成功前に正確なソース出所、リソース識別子、バイトサイズ、SHA-256を検証します。

ランタイムのソース取得、パッケージインストール、サブプロセス、任意のURL入力、アップロード、意図されたサーバー側の外部送信、または可変ファイルシステムパスはありません。

制限と障害動作

  • リクエスト本文: MCPリクエストあたり256 KiB。

  • ツール結果とアプリリソース: それぞれ512 KiB。

  • アプリケーション期限: 15秒。

  • Vercel Function上限: キャンセル有効で30秒。

  • 同時実行: プロセスあたり48、アプリごとに小さい宣言済み上限。

同時実行ゲートはインスタンスローカルな保護のみであり、Fluidインスタンス間のグローバルな権威ある分散レートリミッターとして表現されません。制限超過のリクエストは429Retry-Afterを受け取ります。サイズ超過のリクエストは413、サイズ超過のダウンストリーム結果は502、期限超過は504、クライアントキャンセルは内部的に区別されます。公開レスポンスには制限されたエラーが含まれ、スタックトレースやファイルシステムパスは決して含まれません。

DISABLED_APP_SLUGSを6つのスラッグのカンマ区切りサブセットに設定して、ランタイムキルスイッチとして機能させます。無効化されたアプリは生成されたライブカタログから消え、404を返します。/readyz/version/apps.jsonは有効なセットを報告します。apps.jsonは短いpublic, max-age=60, must-revalidateポリシーを使用するため、無効化されたアプリの変更が長い不変キャッシュの背後に隠れることはありません。

診断と安全な可観測性

  • /healthz はFunctionが応答することのみを証明します。

  • /readyz はレジストリ、有効なスラッグ、バンドルされたリソース数、サイズ、ダイジェストを検証します。

  • /version は設定されている場合、ビルドSHA、凍結されたアップストリームコミット、モデル名前空間、アダプターバージョン、Nodeバージョン、有効なスラッグ、安全なビルド時間のみを返します。

MCPリクエストログは構造化され、sol名前空間、アプリスラッグ、メソッドカテゴリ、ステータス、期間、バイト数、安全なビルドSHAに制限されます。引数、結果、プロンプト、リソースコンテンツ、認証ヘッダー、クッキー、IPアドレス、ユーザー識別子、認証情報、プライベートデプロイメントURLは禁止されています。

ローカル開発

Node.js 24.xとpnpm 10.28.0を使用してください。

pnpm install --frozen-lockfile
pnpm generate
pnpm dev

http://127.0.0.1:4173を開いてください。ローカルまたはトンネルされた正規のオリジンには、明示的に検証されたBASE_URLを設定してください。ループバック開発以外では、公開ベースURLはHTTPSを使用し、認証情報、クエリ文字列、フラグメントを含めてはいけません。任意のHostおよび転送されたホストヘッダーは、コピー可能なエンドポイントに対して信頼されることはありません。

完全なリポジトリ所有の検証パスは次のとおりです。

pnpm exec playwright install chromium
pnpm run release:check:ci

そのパスは、フォーマット、リント、厳格なTypeScript、ゲートウェイおよびデュアル時代契約テスト、実際のブラウザMCPアプリブリッジテスト、通知/出所チェック、Vercelアーキテクチャチェック、プロダクション依存関係監査、ソース境界とシークレットスキャン、SBOM生成、およびプロダクション形状のアプリケーションビルドを実行します。pnpm run release:checkは、正確なVercelプロジェクトがリンクされている場合にvercel build --prod --yesを追加します。

検証設計

契約マトリックスは、公式SDK-v2クライアントをピン止めされた現在モードとレガシーモードの両方で、6つのエンドポイントすべてに対して使用します。ツールを一覧表示し、各代表的なツールを呼び出し、すべてのアプリリソースを読み取り、通常のフォールバックを検証し、外部リソースを拒否し、無効な入力をチェックし、接続サイクルを繰り返し、隔離されたカタログに対して20の代表的なクライアントを実行します。

ゲートウェイテストは、未知、無効、トラバーサル形状、およびスプーフィングされたルート、CORS、メソッドポリシー、実際および広告された本文上限、不正なJSONおよびJSON-RPC、ハンドラーの封じ込め、結果上限、期限、キャンセル、同時実行、欠落リソースの起動失敗、およびコールド/ウォーム準備状態をカバーします。

Playwrightは、バンドルされた各UIを別個の公式AppBridgeホスト内で実行し、初期ツール入力/結果を配信し、UIからツールへの往復を実行し、カタログレンダリング、コピー動作、アクセシブルな名前、可視のキーボードフォーカス、画像代替テキスト、320pxレイアウトをチェックします。そのハーネスはギャラリーのブラウザ/ブリッジ契約を証明します。無関係なプロダクションホストからの証明として誤ってラベル付けされることはありません。

リリース証拠とデプロイメント固有の証明状態は、BENCHMARK_REPORT.mdbenchmark/result.jsonTIMELINE.mdbenchmark/timeline.jsonに記録されます。外部ホストの証明が不足している場合は、Passedとして代用されることなく、IncompleteまたはSkippedのままです。

ソースとライセンスの境界

監査スナップショットはmodelcontextprotocol/ext-apps@10195ad91851502134930e9b80ec2c04e277a720に凍結されています。以下のアップストリーム例ディレクトリのみが含まれます。

  • examples/basic-server-react

  • examples/budget-allocator-server

  • examples/cohort-heatmap-server

  • examples/customer-segmentation-server

  • examples/scenario-modeler-server

  • examples/transcript-server

コピーされたすべてのファイルは、upstream/ext-apps/の下にバイト単位で残り、元のパス、SHA-256、バイト数、有効なライセンス、通知、変更ステートメントがupstream/manifest.jsonに記録されています。選択されたパッケージは、凍結されたリビジョンでMITを宣言しています。

3つのサイズ制限付きUI再表現はui-adaptations/の下にあります。制限付きチャート互換性レイヤーはsrc/ui/chart-shim.tsにあります。これらはギャラリー所有のApache-2.0コードであり、マニフェストには正確なファイル、ダイジェスト、サイズ、根拠、理由が記録されています。完全なアップストリームMIT許諾およびライセンス移行通知については、THIRD_PARTY_NOTICES.mdを参照してください。ギャラリー所有のコードはLICENSEの下でApache-2.0です。

ブランチとリリースポリシー

forward は、唯一の統合および本番用ブランチです。作業は、sol/gallery-v1 のような焦点を絞ったプルリクエストを通じて行われます。maindev はリリースブランチではありません。保護されたブランチでは、プルリクエスト、線形履歴、解決された会話が必要であり、強制プッシュと削除は禁止されています。本番環境への昇格は、マージとは別の検証済みアクションです。

ローカルワークフローについては CONTRIBUTING.md を、脅威モデルとプライベートな報告方法については SECURITY.md を参照してください。

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Build, deploy, and operate hosted web apps on VibeKit (vibekit.bot) from any MCP client.

  • Access Kernel's cloud-based browsers and app actions via MCP (remote HTTP + OAuth).

  • Public read-only Précis Finance MCP demo with synthetic data; no account or credentials required.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/different-ai/openwork-mcp-app-gallery-sol'

If you have feedback or need assistance with the MCP directory API, please join our Discord server