Skip to main content
Glama

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.

CI MIT MCP Node

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 https://…pagey.site link

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_site replaces 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/mcp
  1. Open ChatGPT → Plugins → Add custom MCP server.

  2. Name it Pagey.

  3. Server URL: https://mcp.pagey.site/mcp.

  4. Authentication: OAuth.

  5. Create the plugin. ChatGPT discovers the OAuth metadata automatically.

  6. 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 --build

Open 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

publish_site

Create a new site from HTML or a multi-file bundle. Returns the live URL.

update_site

Replace a site’s complete content at the same URL.

list_sites

Find sites by title or subdomain, with IDs, URLs, and status.

get_site

Read a site’s URL, title, expiry, tags, password state, and timestamps.

update_site_settings

Change title, password, expiry, custom subdomain, maintenance, tags, or country rules.

get_site_analytics

Page views, unique visitors, sessions, top pages, referrers, countries, devices, and traffic sources.

create_form

Create a hosted contact, waitlist, feedback, or survey form with a real backend.

list_forms

List forms with response counts and linked sites.

get_form_responses

Read or search submissions.

whoami

Show the connected Pagey account and site count.

delete_site

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_SECRET or is generated once in DATA_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 start

npm 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 e2e

That 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:remote

npm 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 dev

Then 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 guide

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.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    An 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.
    1
    8 npm
    36
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    An MCP server that automatically generates static websites from natural language instructions, creating Next.js-based sites with optional automatic deployment to AWS S3.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables management of static website hosting on a shared VPS through an AI chat interface, providing tools for configuration and deployment.
    MIT