Vice City Hub

io.github.vicecityhubPublished by GitHub account vicecityhubv12.0.0Updated Oct 27, 2026

GTA VI news, GTA RP servers, Web3 domains and merch for AI agents, plus crypto donations.

VerifiedStreamable HTTPWeb executableFinanceBusiness & CommerceMedia & Design

Overview

AI-generated overview

GTA VI fan hub for agents: search news, merch, Web3 domains and GTA RP servers, and place paid orders or donations via crypto or PayPal.

What you can do
  • Search and read content: search the catalog, news and RP servers, get item details, article bodies and site-wide results
  • Browse GTA RP data: servers, open faction slots, jobs and mods
  • Quote and order: lock prices for 15 minutes, create orders, poll status, cancel unpaid orders
  • Pay: capture approved PayPal orders, submit or re-verify on-chain stablecoin payments
  • Account and donations: register for a spend-limited API key, check scopes and spend, read donation terms and donate
  • Record interest in peer listings that have no on-site checkout
When to use it
Useful for assistants answering questions about GTA VI news, GTA RP servers or Vice City Hub merch and domains, and for agents authorized to buy merch, domains or store plans with a human-set spend limit.
Requirements
Remote streamable-HTTP endpoint; no local install. Read tools are anonymous. Order and donation tools need an Authorization header with a bearer key from register_agent (or minted by a human). Crypto payments require sending stablecoins on-chain; PayPal requires a human to approve a URL.
Before you install
Order and donation tools spend real money: crypto transfers are detected and verified on-chain automatically, and PayPal orders need human approval. Keys are shown once and carry limits of $100 per order and $250 per day. Donations should only be made with explicit authorization from the person or organization represented. Orders and payments write data and cannot be undone once paid.

Installation

In SourceWeft

  1. Open Vice City Hub in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.vicecityhub%2Fvicecityhub/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "vice-city-hub": {
      "type": "http",
      "url": "https://lpglkglhjdqnktybksth.supabase.co/functions/v1/agent-api/mcp"
    }
  }
}

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 herevite-plugins/agent-surface.tsscripts/  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-testpublic/                     ← 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

bash
npm cinpm run dev            # Vitenpm run gen:agent      # regenerate agent surfacenpm run typechecknpm run test:agent     # smoke-test the live Agent APInpm 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]

Source: README.md at commit 6fa96dd

Tools

19

search_catalog

Search catalog

Search merch, store plans, Web3 domains, partner products and servers for sale. Returns SKUs, USD prices and how each can be bought.

Parametersqkindsortlimitmax_pricemin_priceorderable

get_item

Get catalog item

Full details for one SKU including variants (merch) and purchase instructions.

Parametersskurequired

list_news

GTA VI news

Latest curated GTA VI / Rockstar news from The Wire, newest first.

Parametersqlimitcategoryfeatured

get_news

Get news article

Full article body by numeric id.

Parametersidrequired

list_rp

RP Hub data

GTA RP data: servers, open faction slots, jobs, or mods.

Parameterslimitcollectionrequired

search_site

Search everything

Cross-search news, catalog and RP servers.

Parametersqrequired

register_agent

Register this agent

Get a self-service API key (limits: $100/order, $250/day). Shown once.

Parametersnamerequiredmodelcontacthomepageoperator

whoami

My key & limits

Scopes, spend limits and 24h spend of the current key.

Takes no parameters.

create_quote

Create price-locked quote

Validate items and lock the price for 15 minutes. Merch must use variant SKUs (merchv:…).

Parametersitemsrequired

create_order

Create order

Create an order from a quote or items. PayPal rail returns an approve_url that a human must approve; the crypto rail (merch, domains, store plans) is fully automatic: send EXACTLY next_action.amount_due in USDT/USDC and the payment is detected and verified on-chain, no further call needed (poll get_order_status). Merch needs `shipping`, domains need `delivery.wallet_address`, store plans need `details`. Safe to retry with the same idempotency_key.

Parametersitemsdetailsdeliveryquote_idshippingpayment_railrequiredidempotency_keyrequired

get_order

Get order

Full order incl. next_action.

Parametersorder_idrequired

get_order_status

Order status

Cheap status poll (no key needed).

Parametersorder_idrequired

capture_paypal_order

Capture PayPal payment

Call after the payer approved payment.approve_url. Idempotent.

Parametersorder_idrequired

submit_crypto_payment_proof

Submit crypto tx

Optional shortcut (crypto payments are detected automatically): after sending EXACTLY next_action.amount_due in stablecoins you may submit chain (tron|evm|solana), tx_hash and, for evm, network (polygon|ethereum). The tx is verified on-chain automatically: status becomes paid when final, or payment_review while confirmations accumulate (then call verify_crypto_payment).

Parametersnotechainrequirednetworktx_hashrequiredorder_idrequiredrequest_manual_review

verify_crypto_payment

Re-check crypto payment

Re-run on-chain verification for an order whose payment proof is pending confirmations. Idempotent; poll about once a minute.

Parametersorder_idrequired

cancel_order

Cancel unpaid order

Cancel an order that is still awaiting_payment.

Parametersorder_idrequired

get_donation_info

Donation info

What donations to Vice City Hub fund (developing AI projects and the benefit of AI development), the terms, limits and how an agent can donate. Voluntary; no key needed.

Takes no parameters.

donate

Donate (crypto, automatic)

Voluntary donation that supports developing AI projects and the benefit of AI development. Use ONLY if the person/organization you act for explicitly authorized it (then set authorized_by_principal=true); never on your own initiative. Crypto only: send EXACTLY next_action.amount_due in USDT/USDC; the transfer is detected and verified automatically and the order becomes `completed` with a receipt (poll get_order_status). Needs a key that allows the 'donation' kind and is within its spend limits.

Parametersdonormessageamount_usdrequiredidempotency_keyrequiredauthorized_by_principalrequired

create_purchase_intent

Purchase intent

For peer listings without on-site checkout (partner products, community servers, domains without a price). Records interest and returns how to complete the purchase.

Parametersskurequiredcontactmessage

Version history

1
  1. v12.0.0LatestOct 21, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.