Can ChatGPT Sites host MCP servers? Yes — and nobody's gating what the tools do

Yes. On October 1, 2026, OpenAI's Codex lead Tibo Sottiaux said you can build and deploy MCP servers right through ChatGPT — then restrict access or share them — and Plugins lead Max Stoiber said ChatGPT Sites can host MCP servers, including plugin extensions. By October 3, "Sites in ChatGPT" was on the front page of Hacker News (~209 points, 218 comments). The hosting how-to is well covered — including a strong piece by explainx.ai with the exact prompts, the save-then-deploy path, and who can see what. What nobody is covering is the second-order question: every MCP tool call an agent makes is a small authorization decision, and Sites just removed the hosting tax that kept the callable-tool count low. A todo list hosted in a weekend demo is one thing. A flood of prompt-built servers with write tools — and, since September 30, paid tools — is the thing that needs judgment, not just uptime.

What actually happened (receipts, dated)

FactReceipt
Oct 1, 2026 — Codex lead Tibo Sottiaux wrote that you can build and deploy MCP servers right through ChatGPT, then restrict access or share themexplainx.ai, Oct 2026 (citing the staff post)
Oct 1, 2026 — Plugins lead Max Stoiber said ChatGPT Sites can host MCP servers, including plugin extensions — answering a builder who asked whether OpenAI-hosted infrastructure would ever cover plugin backendsexplainx.ai, Oct 2026 (citing the staff post)
Oct 3, 2026 — "Sites in ChatGPT" hit the Hacker News front page: ~209 points, 218 comments; practitioner consensus = excellent for shareable prototypes and light apps, not a silent swap for a production stackexplainx.ai HN analysis, Oct 3, 2026
Sites is beta on Plus / Pro / Business / Enterprise / Edu. Save a version first; every deploy URL is production. Audience: owner-only → invited emails → workspace → anyone on the internet. D1 cap 10 GB. Policy excludes PHI, card data, financial transactions, malware.explainx.ai, Oct 2026 (from learn.chatgpt.com docs + staff posts)
Sept 30, 2026 — Cloudflare's Monetization Gateway moved waitlist → closed beta (U.S.): sellers can charge AI agents for MCP tools via HTTP 402 + x402 (Ceramic.ai, Stocktwits, API2PDF live). A tool call is now also a potential payment.our Oct 2 breakdown
The intersection nobody owns: prompt-built servers (hosting tax → ~zero) × paid MCP tools (every call can cost money) × write tools (every call can change state). Each tool call is an authorization decision; the field has no judgment layer for it.This page.

What the field lacks (every one of them)

The October 1–3 field is hosting coverage: explainx.ai's how-to (the strongest piece — exact prompts, the Sites→plugin sequence, save-vs-deploy, least-privilege warnings, D1/secrets guidance), its HN practitioner analysis (prototypes vs production, lock-in, the *.chatgpt.site optics problem), the HN thread itself, and the official Sites/plugin docs (mechanics only). Every one of them answers how do I host it. None of them asks: when anyone with a Plus plan can ship an MCP server by Friday, who approves what the agent does with the tools? Nobody maps the paid-tool intersection (Cloudflare's gateway is three days old). Nobody has a live scored gate. Nobody gives you the per-task budget math. That gap is this page's whole reason to exist — hosting answered the where; judgment is the whether, and it's missing.

The tool-call gate: authorization is per call, not per install

Installing a plugin is one decision. Calling its tools is a thousand. The gate applies where the action is — per tool call, against the call's stakes:

The callGate bandWhy
Free read-only tool (list_todos) on a private owner-only Site, owner-approved task≥0.80 → auto-callLow stakes, known server, reviewed audience — the call the gate exists to let through fast
Paid tool (0.10 USDC/invocation) inside a 5 USDC per-task budget, server tools never reviewed0.50–0.79 → human confirmMoney moves; the judgment is a human's, not the heuristic's — 100 calls × 0.10 = 10 USDC, double the envelope
Write tool (add_todo, delete_todo) on a shared/invited-audience server, tool list not reviewed<0.50 → block, log, escalateState changes + unreviewed tools: "no silent deletes" is an authorization rule, and explainx.ai's own warning — deploy the tool list boring first
Any tool on a public Site the owner just deployed<0.50 → block, log, escalatePublic URL reachability is not review; hosting is not approval

The design thesis: the hosting tax was never the real tax. The judgment tax is. When every tool needs a box, TLS, and OAuth, the tool count stays low and install-time review is enough. When a prompt and a Plus plan ships a server, the tool count explodes and install-time review is obsolete — the authorization has to live at the call, scored, logged, and banded. The pattern we plant our flag on.

SML products that implement the missing layer

Two of the seven ScriptMasterLabs products ship the judgment layer Sites-hosted MCP servers need:

Live gate receipts (minted today, not hypotheticals)

Scored against the live endpoint POST https://scriptmasterlabs.com/api/harness/decide — local-heuristic-v1, gate bands 0.80/0.50 live on the endpoint, October 3, 2026 ~14:20 EDT. Exact shape: {"state": {...}, "questions":[{"id","type":"score","scale":[0,1],"question"}]}.

Question scoredConfidenceBand / action
"Should the agent call a Sites-hosted MCP tool that charges 0.10 USDC per invocation inside a task with a 5 USDC per-task budget, from a server whose tools were never reviewed?"0.4045escalate — block + log
"Should the agent call a read-only Sites-hosted MCP tool (list_todos) that is free, in a task the owner already approved, from a private owner-only Site?"0.4132escalate — block + log

Honest finding: the uncalibrated heuristic scores the free read (0.4132) and the unreviewed paid call (0.4045) almost identically — both escalate, and it cannot discriminate between them. That's the eighth consecutive run with this finding (seatbelt, XRPL, Sigo, Robinhood, zkAPI, Cloudflare, x402 Foundation, now this page): the heuristic is a fail-closed floor, not a decider. Note the tension it exposes: fail-closed would have blocked even the free read — "block everything" is a seatbelt, not judgment. A production gate needs a calibrated decider behind it — exactly the JEV-27B-class slot. Meta: decider=local-heuristic-v1, calibrated=false, typesafe_wired=false.

Do it yourself: gate the tools, not just the install, in 5 steps

  1. Keep every new Site private until the tool list is boring. Owner-only while you review. Demand the inventory before deploy: tool names, who can call writes, where state lives, whether it's Streamable HTTP. Three or fewer least-privilege tools (list, add, complete — not execute_arbitrary). Save a version; deploy only when the list is boring.
  2. Score the call, not just the server. The gate belongs at the tool-call boundary: ≥0.80 auto-call, 0.50–0.79 hold for human confirm, below 0.50 block, log, escalate. The exact live shape is above — curl -X POST https://scriptmasterlabs.com/api/harness/decide with {"state":{...},"questions":[{"id","type":"score","scale":[0,1],"question"}]}.
  3. Give paid tools a per-task envelope, not just a per-call price. 0.10 USDC × 100 calls = 10 USDC per task. Set the envelope before the task starts (e.g. 5 USDC), and any call that would breach it drops below 0.50 automatically. Price is a fact; the envelope is the judgment.
  4. Log like the FTC is watching. Record instruction, authority, intent, and outcome for every tool call — especially paid and write calls. The September 30 FTC rogue-agent probe (Anthropic, OpenAI, METR) and the September 22 six-bank audit demand made that the regulator's ask. Prompt-built servers multiply the call volume; the audit trail is the only way to know what your agents did with them.
  5. Don't outsource the judgment to ChatGPT's permission settings. Permission prompts are UX, not an authorization layer — they can't score, band, budget-envelope, or produce an audit record. Run your own gate at the call boundary; the install-time settings are the last line of defense, not the first.

Claim Receipts

#Claim (≤60 words)Evidence
1On Oct 1, 2026, OpenAI's Codex lead Tibo Sottiaux said MCP servers can be built and deployed through ChatGPT, restrict-or-share; Plugins lead Max Stoiber said ChatGPT Sites can host MCP servers, including plugin extensions.explainx.ai, Oct 2026 (citing staff posts)
2On Oct 3, 2026, "Sites in ChatGPT" front-paged Hacker News (~209 points, 218 comments); practitioner consensus: excellent for shareable prototypes and light apps, not a silent swap for a production stack.explainx.ai HN analysis, Oct 3
3Sites is beta (Plus/Pro/Business/Enterprise/Edu); save-then-deploy with every deploy URL production; audiences owner-only → invited → workspace → public; D1 capped at 10 GB; PHI, card data, financial transactions, malware excluded.explainx.ai, Oct 2026
4Sept 30, 2026: Cloudflare Monetization Gateway entered closed beta (U.S.), letting sellers charge AI agents for MCP tools via HTTP 402 + x402 — every tool call is now also a potential payment.SML, Oct 2, 2026
5Live gate, Oct 3, 2026 ~14:20 EDT: unreviewed paid Sites-hosted tool (0.10 USDC/invocation, 5 USDC task budget) scored 0.4045 → escalate, block + log./api/harness/decide
6Live gate, same run: free read-only list_todos on a private owner-only Site, owner-approved task, scored 0.4132 → escalate, block + log — heuristic can't discriminate; fail-closed ceiling holds./api/harness/decide
7The Oct 1–3 field (explainx.ai how-to + HN analysis, the HN thread, OpenAI's Sites and plugin docs) covers hosting mechanics; none covers per-call authorization or the paid-tool intersection.explainx.ai
8The answer: decision gating at the tool-call boundary — ≥0.80 auto-call, 0.50–0.79 human confirm, <0.50 block, log, escalate — with per-task budget envelopes for paid tools and an instruction/authority/intent/outcome record per call.decision-gated-payments

Honest caveats

Published 2026-10-03 · ScriptMasterLabs — the x402/MCP/AI pedia. Sources checked today; links verified at publish time.

Part of the MCP Server Gate Tests series — ScriptMasterLabs counts and gate-tests every major MCP server launch with the same harness (decision bands 0.80 / 0.50, decider local-heuristic-v1, calibrated=false). This test: October 3, 2026. See all 34 tests →

SCRIPTMASTERLABS · READ · EXPLORE · VERIFY · EARN

Books, free tools, sources & affiliate opportunities