Pagey
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PageyBuild a one-page portfolio for a product designer and publish it."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Pagey × ChatGPT
Ask for a website. Get a live one.
Publish static sites from a ChatGPT conversation — free, with no subscription, no credit card, and no cap on total sites.
Hosted endpoint · Live demo · Pagey · API reference · Deploy · Report an issue
“Build a launch page for my indie analytics tool and publish it.”
Done — it’s live at
https://quiet-orbit.pagey.site. Ask for a change and the same URL stays put.
Pagey for ChatGPT is an open-source MCP plugin that gives ChatGPT a real
publishing tool. Ask for a page, and ChatGPT writes the HTML and publishes it to
Pagey: automatic HTTPS, a *.pagey.site address, visitor analytics, password
protection, custom subdomains, and hosted forms.
The first ChatGPT plugin for Pagey — and, as far as we know, the first way to publish a static site from ChatGPT with genuinely free hosting: no subscription, no card, and no cap on the number of sites you own. No expiring previews, no per-site metering, no “free tier” that deletes your page after a week.
Build | Publish | Share |
ChatGPT writes the site in the conversation | One tool call uploads it to Pagey | A real |
Use it now: add https://mcp.pagey.site/mcp in ChatGPT → Plugins →
Add custom MCP server, choose OAuth, and connect your Pagey account.
Why this one is different
Most “AI website” tools give you a generated preview behind an account, a paywall, or a temporary URL. Pagey is actual static hosting, and this plugin puts it inside the conversation.
Truly free hosting. A registered Pagey account gets automatic HTTPS, no card, and no cap on total sites.
Publish where you think. No dashboard, build pipeline, cloud project, or deploy button. The conversation is the workflow.
The link survives edits.
update_sitereplaces the content in place and keeps the URL. No new deployment URL for every change.More than a landing page. Password-protected drafts, custom subdomains, expiring sites, maintenance mode, country rules, tags, analytics, and a form backend with stored responses.
Open and inspectable. One readable TypeScript codebase, no telemetry, no third-party scripts, OAuth with encrypted tokens, and a Dockerfile for self-hosting.
Related MCP server: Web Development Agent
What you can ask
Build a dark, one-page portfolio for a product designer and publish it.
Turn this README into a clean documentation site and publish it as docs-demo.
Update the pricing section on my site. Keep the same link.
Create a waitlist page with a working form, then show me the responses.
Password-protect my draft and make it expire on Friday.
How many people visited my site this week, and where did they come from?The plugin writes real files, not screenshots. Single-page sites can be one
self-contained index.html; multi-file sites can include CSS, JavaScript,
images, fonts, and other static assets.
Connect it
The public deployment is live. There is nothing to install:
https://mcp.pagey.site/mcpOpen ChatGPT → Plugins → Add custom MCP server.
Name it Pagey.
Server URL:
https://mcp.pagey.site/mcp.Authentication: OAuth.
Create the plugin. ChatGPT discovers the OAuth metadata automatically.
The first time ChatGPT uses a Pagey tool, it opens the Pagey connection page. Create a free account at pagey.site/signup if you need one, then paste a token from pagey.site/dashboard/api-tokens. Label it ChatGPT.
No Pagey password is ever requested. The token is stored encrypted, sent only to Pagey’s API, and grants full access to your Pagey account — so use a dedicated token and revoke it when you are done.
Then start a chat with the Pagey plugin enabled:
Build a one-page site for my coffee subscription and publish it.ChatGPT writes a complete responsive page, calls publish_site, and returns the
live URL. Ask for changes and it calls update_site — same address, new content.
Prefer to self-host?
mcp.pagey.site is the community deployment of this open-source server. You can
run the same code on your own domain in a few minutes:
git clone https://github.com/freakynit/chatgpt-pagey.git
cd chatgpt-pagey
cp deploy/.env.example .env
# Set MCP_DOMAIN=mcp.example.com in .env, and point DNS at the server
docker compose up -d --buildOpen https://mcp.example.com/healthz — it should return {"status":"ok"}.
Full instructions for Docker, Nginx, Node, systemd, backups, updates, and
verification are in docs/DEPLOY.md.
What the plugin can do
Tool | What it does |
| Create a new site from HTML or a multi-file bundle. Returns the live URL. |
| Replace a site’s complete content at the same URL. |
| Find sites by title or subdomain, with IDs, URLs, and status. |
| Read a site’s URL, title, expiry, tags, password state, and timestamps. |
| Change title, password, expiry, custom subdomain, maintenance, tags, or country rules. |
| Page views, unique visitors, sessions, top pages, referrers, countries, devices, and traffic sources. |
| Create a hosted contact, waitlist, feedback, or survey form with a real backend. |
| List forms with response counts and linked sites. |
| Read or search submissions. |
| Show the connected Pagey account and site count. |
| Permanently delete a site. Requires explicit confirmation. |
Destructive actions are annotated, and delete_site refuses to run without
confirm: true. ChatGPT can ask you before using write tools according to your
plugin confirmation settings.
Free, honestly
Pagey’s offer is unusually straightforward, and the plugin does not hide it:
Allowance | Free registered account |
New sites | 25 per UTC day |
Total sites | No cap |
Updates to an existing site | Do not use the new-site allowance |
Upload size | 1,000 files / 50 MiB per publish (plugin limit) |
Analytics retention | 90 days |
Forms | 25 active / 5,000 submissions per month |
AI site builder (Pagey dashboard) | 5 sessions / 5 prompts per month |
“Unlimited” means no cap on total sites, not unlimited bandwidth or infinite new sites per day. Pagey also applies its own request and upload rate limits. Hosted sites are static: no Node.js, PHP, SSR, or custom API server. Use Pagey’s hosted forms for a form backend. See pagey.site/llms.txt for the current source of truth.
This ChatGPT plugin publishes sites written in the conversation. It does not
read an arbitrary local dist/ folder. If you already have a build directory,
use herdr-pagey or
opencode-pagey, which publish
local build output through the same Pagey API.
How it works
flowchart LR
U[You] --> C[ChatGPT]
C -->|MCP over HTTPS| P[Pagey plugin server]
P -->|Bearer API token| A[Pagey API]
A --> S[your-site.pagey.site]
P --- D[(SQLite<br/>encrypted connections)]ChatGPT speaks the open Model Context Protocol over Streamable HTTP.
The plugin server owns the OAuth flow and forwards tool calls to Pagey’s REST API. It never proxies site traffic; Pagey serves the sites directly.
One Pagey account maps to one encrypted connection. OAuth tokens are stored as hashes, refresh tokens rotate, and authorization codes are single-use.
The server is stateless for MCP requests and keeps only connection/OAuth state in SQLite. Run one replica with one persistent volume.
Security and privacy
The Pagey API token is encrypted at rest with AES-256-GCM. The key comes from
PAGEY_MCP_SECRETor is generated once inDATA_DIR/secret.Request bodies, API tokens, and OAuth tokens are never logged.
The OAuth form uses PKCE, a signed HttpOnly cookie, and a per-form nonce.
Uploads reject path traversal, hidden files, dependency folders, source maps, key material, databases, unsupported extensions, oversized content, and common credential patterns.
The plugin collects no analytics and loads no third-party scripts.
A Pagey API token grants full account access. Create a dedicated token, keep it out of chat, and revoke it when you stop using the connection.
Read SECURITY.md and PRIVACY.md for the full details.
Development
Requires Node.js 24+ (the SQLite store uses the built-in node:sqlite module).
npm ci
npm run typecheck
npm test
npm run build
npm startnpm test runs the unit and integration suite, including an end-to-end OAuth +
MCP publish flow against an in-process fake Pagey API. No network or Pagey
account is needed.
Live validation against Pagey:
PAGEY_API_TOKEN=... npm run e2eThat script walks the real OAuth flow, publishes the demo page, updates it at the same URL, exercises analytics and forms, and leaves the demo site online. The current demo is chatgpt-demo.pagey.site.
To check a deployed endpoint without creating a site:
MCP_BASE_URL=https://mcp.example.com \
PAGEY_API_TOKEN=... \
E2E_SUBDOMAIN=my-demo-site \
npm run smoke:remotenpm run smoke is a local stdio check of the server and Pagey token; it does not
create or change a site.
Local development with ChatGPT
ChatGPT cannot reach 127.0.0.1. For a local test, expose the server through an
HTTPS tunnel and set PUBLIC_BASE_URL to the tunnel origin before starting:
PUBLIC_BASE_URL=https://your-tunnel.example.com npm run devThen add https://your-tunnel.example.com/mcp as a custom MCP server. Use a
tunnel you trust; it sees the same OAuth and site traffic as your server.
Project layout
src/
auth/ OAuth provider, DCR clients, SQLite store, encrypted tokens
http/ Express app, OAuth pages, landing/privacy/terms pages
mcp/ MCP server, tool schemas, server instructions
pagey/ Pagey API client, upload validation, deterministic ZIP builder
scripts/ Live, remote, and stdio smoke checks
examples/ The published demo page
test/ Unit and integration tests
docs/ Deployment guideRelated plugins
herdr-pagey — publish from Herdr.
opencode-pagey — publish from OpenCode v2.
paseo-pagey — publish from Paseo.
License
MIT.
Pagey for ChatGPT is an independent open-source integration. It is not an official OpenAI product. Pagey operates the hosting service and sets its own terms, limits, and content policies.
This server cannot be deployed
Maintenance
Related MCP Connectors
Build, edit and run real hosted websites from your AI - content, SEO, menus, store, rollback.
Create static websites and deploy HTML, CSS and JS to a live HTTPS link from your AI agent.
- LanlanOAuthsite.lanlan
Build a hosted website by chatting. Snapshots, forms, analytics. Hand off the dashboard. Walk away.
- hoasterOAuthapp.hoaster
Hosts AI-generated web content (HTML, images, SVG, JSON) at a public URL, with custom domains.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn experimental server implementing Model Context Protocol to automate website deployments to 1Panel servers, allowing users to create websites and upload static files through natural language commands.18 npm36MIT
- -licenseNot gradedqualityNot gradedmaintenanceAn MCP server that automatically generates static websites from natural language instructions, creating Next.js-based sites with optional automatic deployment to AWS S3.-
- AlicenseNot gradedqualityDmaintenancePublish the website you built with AI to a live public URL — straight from chat, no setup. Enables deploying static sites and updating them with edit tokens.1MIT
- AlicenseNot gradedqualityBmaintenanceEnables management of static website hosting on a shared VPS through an AI chat interface, providing tools for configuration and deployment.MIT