アーキテクチャ
Bloqueは3つのランタイムコンポーネントで構成されています。
コンポーネント
Webアプリ
bloque.run のBloqueウェブアプリは以下を処理します:
- ユーザー認証(OAuth 2.1)
- HubとMCPサーバーの設定
- APIキー管理
- ログUI、プレイグラウンドUI、共有Hub
MCPルーター
MCPルーター は、AIクライアントが接続するMCPエンドポイント(https://mcp.bloque.run/mcp)を公開します。すべての接続はルーターを通過し、次の処理を行います:
Authorization: BearerヘッダーのAPIキーを検証する- キーに関連付けられたHubを検索する
- クライアントセッションが常に同じランナーに到達するようスティッキーセッションルーティングを適用する
- MCP Proxyへ接続を転送する
MCP Proxy / ランナー
MCP Proxy(ランナー)はあなたのHubの代わりにMCPサーバープロセスを実行します。アクティブなセッションごとに:
- 設定されたコマンド、引数、環境変数でstdioプロセスを起動する
- リモートSSEまたはHTTP MCPサーバーに接続する
- Hub固有の認証情報を実行時に復号化してインジェクトする
- アップストリームのOAuthトークンリフレッシュを透過的に処理する
FreeとStarterプランは単一のProxyインスタンスプールを共有します。Proプランは専用のProxyインスタンスで実行されます(近日公開)。
リクエストフロー
MCPクライアント
│ POST /mcp (Bearer <api-key>)
▼
MCPルーター
│ キー検証 → Hub検索 → スティッキーセッションルーティング
▼
MCP Proxy
│ 認証情報復号化 → MCPサーバー起動・接続
▼
MCPサーバープロセス(stdio / SSE / HTTP)
セキュリティ
| レイヤー | 仕組み |
|---|---|
| トランスポート | すべての外部接続にHTTPS |
| 認証 | ルーターで検証するBearerAPIキー |
| 認証情報ストレージ | Hub単位のAES-256-GCM暗号化 |
実行境界
stdioベースのMCPサーバープロセスはローカルマシンではなくBloqueのMCP Proxy内で実行されるため、ローカルファイルシステムに直接アクセスできません。詳細と /shared ファイルシステムの回避策については 実行境界 を参照してください。