Vice City Hub について
Vice City Hubは、ニュース、商品カタログ、ロールプレイサーバー情報、検索、購入機能をエージェント向けAPIで提供するGTA VIファンサイトです。MCPとRESTのインターフェースに、発見用フィード、価格固定の見積もり、冪等な注文、人が設定する支出上限を組み合わせています。
主な機能
- 01ニュース、カタログ、RPデータへのアクセス
- 02検索と価格固定の見積もり
- 03PayPalまたはステーブルコイン決済対応の冪等な注文
- 04人が管理する支出許可
- 0517個のツールを備えたMCPサーバー
- 06エージェント向け発見ファイルと静的フィード
活用シーン
- 01GTA VIのニュース、商品、RPサーバー情報の検索
- 02エージェント購入の前に見積もりを取得
- 03支出許可に基づく注文の送信と追跡
- 04MCP経由でエージェントを接続、または生成済みデータフィードを参照
MCP 対応
Agent APIは、カタログ、ニュース、RPデータ、検索、見積もり、注文、購入意向に対応する17個のツールを、ステートレスなStreamable HTTP MCPサーバーとして公開します。MCPはRESTと並ぶエージェント向けインターフェースです。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://lpglkglhjdqnktybksth.supabase.co/functions/v1/agent-api/mcpclaude mcp add --transport http vicecityhub-vicecityhub https://lpglkglhjdqnktybksth.supabase.co/functions/v1/agent-api/mcp{"mcpServers":{"vicecityhub-vicecityhub":{"type":"http","url":"https://lpglkglhjdqnktybksth.supabase.co/functions/v1/agent-api/mcp"}}}Cursor で開く{"servers":{"vicecityhub-vicecityhub":{"type":"http","url":"https://lpglkglhjdqnktybksth.supabase.co/functions/v1/agent-api/mcp"}}}VS Code で開く{"mcpServers":{"vicecityhub-vicecityhub":{"type":"http","url":"https://lpglkglhjdqnktybksth.supabase.co/functions/v1/agent-api/mcp"}}}{"mcpServers":{"vicecityhub-vicecityhub":{"serverUrl":"https://lpglkglhjdqnktybksth.supabase.co/functions/v1/agent-api/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://lpglkglhjdqnktybksth.supabase.co/functions/v1/agent-api/mcp認証が必要ツール
詳細
Vice City Hub 🌴 — v12「エージェントに公開」
人間とAIエージェントのためのGTA VIファンハブです。人間向けのネオンUIに加え、マシン向けにMCP + REST +
llms.txt+ 安全な自動購入機能を備えています。
公開サイト: https://vicecityhub.github.io/vicecityhub · エージェント向けドキュメント: /llms.txt · エージェントコンソール: /agents.html
v12で追加された機能
| レイヤー | 内容 | 場所 |
|---|---|---|
| エージェントAPI(REST) | カタログ、ニュース、RPデータ、検索、見積もり、注文、インテント | supabase/functions/agent-api/ |
| MCP サーバー | 17個のツール、ステートレスなストリーム可能HTTP | …/agent-api/mcp |
| 検出 | llms.txt、llms-full.txt、.well-known/{agent.json,mcp.json,api-catalog,ai-plugin.json,security.txt}、openapi.json | 生成先 → public/ |
| 静的フィード | data/{news,catalog,rp-*}.json + マニフェスト data/index.json | 生成先 → public/data/ |
| ページごとのSEO/エージェント用マークアップ | <link> ヒント、1つのJSON-LD @graph、<noscript> コンテンツ | vite-plugins/agent-surface.ts |
| エージェントによる購入 | 価格固定の見積もり → 冪等な注文 → PayPalまたはオンチェーンのステーブルコイン、人間が設定する支出上限 | orders.ts、verify.ts、owner.ts |
| 人間向けコンソール | 支出上限付きキーの発行/取り消し、カタログの閲覧、注文の追跡 | src/pages/Agents.tsx |
人間向けには、これまでどおり完全なネオンUI(ページごとのReact SPA)を提供します。人間向けの機能は一切削除していません。
単一の信頼できる情報源
site.config.json — サイト名、URL、ページ一覧(タイトル、説明、優先順位、フィード)。ジェネレーター、Viteプラグイン、llms.txt、サイトマップ、すべてのJSON-LDがこのファイルを参照します。ページを追加する場合は、ここにエントリーを1つ追加します。
ビルドパイプライン
npm run build
├─ prebuild scripts/gen-agent-surface.mjs live API → public/{llms*.txt, openapi.json, sitemap.xml, .well-known/*, data/*}
├─ tsc -b
└─ vite build (agentSurface plugin injects discovery links + JSON-LD + <noscript> into every HTML entry)
ジェネレーターがビルドに失敗を引き起こすことはありません。APIに接続できない場合は、前回のファイルを保持します(失敗させる場合は --strict を指定します)。
CI(.github/workflows/deploy.yml)は、フィードを最新に保つため、プッシュ時、手動実行時、およびニュースエージェントの実行後6時間ごとに再ビルドし、エージェント関連ファイルが dist/ に存在することを確認します。
プロジェクト構成
site.config.json ← edit pages/URLs here
vite-plugins/agent-surface.ts
scripts/
gen-agent-surface.mjs ← llms.txt, .well-known, feeds, sitemap
test-agent-api.mjs ← 30-check safe smoke test (never moves money)
news-agent.mjs ← scheduled news ingestion
selftest-verify.mjs ← on-chain verifier self-test
public/ ← robots.txt + generated agent files (committed so Pages works even if generation fails)
src/{pages,components,lib,rp-hub}
supabase/functions/{agent-api,paypal-checkout,printful-hub,link-preview,…}
docs/legacy/ ← old one-off notes/scripts (kept, not used)
エージェント購入プロトコル(概要)
POST /v1/agents/register→ キー($100/order、$250/day)。または、人間がコンソールでより大きな支出上限を設定します。POST /v1/quotes→ 価格が15分間固定されます。POST /v1/orders+Idempotency-Key→next_action(PayPalのapprove_urlまたは正確な金額でのステーブルコイン送金)。- 暗号資産(PayPal不要、全自動):
amount_dueとまったく同じ金額のUSDT/USDCを送金します。pg_cronが毎分リコンサイラーを実行し(/v1/internal/reconcile)、一意の金額タグで送金を検出してオンチェーンで検証し、注文をpaidにします。マーチャンダイズの場合は、Printfulへの注文も送信します(PRINTFUL_AUTO_CONFIRM=0にすると下書きのまま保持されます)。Printfulの呼び出しに失敗した場合は、リコンサイラーが再試行します。payment-proofは任意のショートカットです。PayPalの場合は、captureを実行し、paidになるまでGET /v1/orders/{id}/statusを呼び出します。
パートナー商品やコミュニティサーバーなどのピア掲載はインテントのみです。Hubがそれらの資金を預かることはありません。
開発
npm ci
npm run dev # Vite
npm run gen:agent # regenerate agent surface
npm run typecheck
npm run test:agent # smoke-test the live Agent API
npm run build
エッジ関数をデプロイします:npx supabase functions deploy agent-api --no-verify-jwt --use-api
既知のプラットフォーム制限(GitHub Pagesのプロジェクトサイト)
robots.txt、llms.txt、/.well-known/* はホストのルートではなく、/vicecityhub/ 配下で提供されます。クローラーや一部のエージェントは https://vicecityhub.github.io/robots.txt(ルート)を参照します。仕様に完全準拠した検出を実現するには、カスタムドメインを使用するか、同じファイルを vicecityhub.github.io のユーザーサイト用リポジトリから公開してください。エージェントAPI自体(Supabase)は独自のルートから /v1 インデックス、OpenAPI、MCPを提供するため、どちらの場合も検出可能です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。