mcpField
V
Vice City Hub

Vice City Hub

Remote
vicecityhub.github.ioGames & Entertainment0Updated today

About Vice City Hub

Vice City Hub is a GTA VI fan hub with an agent-facing API for news, catalog, role-play server data, search, and purchases. Its MCP and REST interfaces pair discovery feeds with price-locked quotes, idempotent orders, and human-set spending limits.

Key features

  1. 01News, catalog, and RP data access
  2. 02Search and price-locked quotes
  3. 03Idempotent orders with PayPal or stablecoin payment
  4. 04Human-managed spending mandates
  5. 05MCP server with 17 tools
  6. 06Agent discovery files and static feeds

Use cases

  1. 01Find GTA VI news, products, or RP server listings
  2. 02Request a quote before placing an agent purchase
  3. 03Submit and track an order with a spending mandate
  4. 04Connect an agent through MCP or read generated data feeds

MCP support

The Agent API exposes a stateless Streamable HTTP MCP server with 17 tools for catalog, news, RP data, search, quotes, orders, and intents. MCP is one of the interfaces available to agents alongside REST.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://lpglkglhjdqnktybksth.supabase.co/functions/v1/agent-api/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

All endpoints
Streamable HTTPhttps://lpglkglhjdqnktybksth.supabase.co/functions/v1/agent-api/mcpAuth required

Tools

Details

From the project README

Vice City Hub 🌴 — v12 "Open to Agents"

The GTA VI fan hub for humans and AI agents. Neon UI for people, MCP + REST + llms.txt + safe auto-buy for machines.

Live: https://vicecityhub.github.io/vicecityhub · Agent docs: /llms.txt · Agent console: /agents.html

What v12 adds

LayerWhatWhere
Agent API (REST)catalog, news, RP data, search, quotes, orders, intentssupabase/functions/agent-api/
MCP server17 tools, stateless streamable-HTTP…/agent-api/mcp
Discoveryllms.txt, llms-full.txt, .well-known/{agent.json,mcp.json,api-catalog,ai-plugin.json,security.txt}, openapi.jsongenerated → public/
Static feedsdata/{news,catalog,rp-*}.json + manifest data/index.jsongenerated → public/data/
Per-page SEO/agent markup<link> hints, one JSON-LD @graph, <noscript> contentvite-plugins/agent-surface.ts
Agent purchasesprice-locked quotes → idempotent orders → PayPal or on-chain stablecoin, human-set spend mandatesorders.ts, verify.ts, owner.ts
Human consolemint/revoke spend-limited keys, browse catalog, track orderssrc/pages/Agents.tsx

Humans keep the full neon UI (React SPA per page). Nothing was removed from the human experience.

Single source of truth

site.config.json — name, URLs, page list (titles, descriptions, priorities, feeds). The generator, the Vite plugin, llms.txt, the sitemap and all JSON-LD read from it. Add a page → add one entry there.

Build pipeline

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)

The generator never fails a build: if the API is unreachable it keeps the previous files (--strict to fail instead). CI (.github/workflows/deploy.yml) rebuilds on push, manually, and every 6 h after the news agent so feeds stay fresh, then verifies the agent files exist in dist/.

Project map

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)

Agent purchase protocol (short)

  1. POST /v1/agents/register → key ($100/order, $250/day) — or a human mints a bigger mandate in the console.
  2. POST /v1/quotes → price locked 15 min.
  3. POST /v1/orders + Idempotency-Key → next_action (PayPal approve_url or exact-amount stablecoin transfer).
  4. Crypto (no PayPal, fully automatic): send exactly amount_due in USDT/USDC. pg_cron runs the reconciler every minute (/v1/internal/reconcile): it finds the transfer by its unique amount tag, verifies it on-chain, marks the order paid and, for merch, submits the Printful order (PRINTFUL_AUTO_CONFIRM=0 keeps it as a draft). Failed Printful calls are retried by the reconciler. payment-proof is an optional shortcut. PayPal: capture → GET /v1/orders/{id}/status until paid.

Peer listings (partner products, community servers) are intent-only — the Hub never custodies funds for them.

Develop

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

Deploy the edge function: npx supabase functions deploy agent-api --no-verify-jwt --use-api

Known platform limits (GitHub Pages project site)

robots.txt, llms.txt and /.well-known/* are served under /vicecityhub/, not at the host root. Crawlers and some agents look at https://vicecityhub.github.io/robots.txt (root). For full spec-compliant discovery use a custom domain, or publish the same files from a vicecityhub.github.io user-site repo. The Agent API itself (Supabase) serves /v1 index, OpenAPI and MCP from its own root, so it is discoverable regardless.

ko-fi

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.