Tell AI once,
go live in seconds
PageFire gives Claude, Cursor and other AI agents a "publish" superpower — HTML, Markdown, or a full ZIP becomes a public HTTPS URL instantly. No server to manage, no deploy pipeline to configure.
A publish layer built for AI workflows
Not a traditional deploy tool — infrastructure that lets AI control publishing directly.
deploy_page — Single page
Pass an HTML string and get a dedicated HTTPS subdomain in seconds. Perfect for AI-generated reports, demos, and landing pages.
deploy_zip — Full site
Upload a ZIP archive and it's extracted and published automatically. Supports React / Vue build output with SPA mode for client-side routing.
deploy_markdown — Instant render
Pass Markdown and get a beautifully typeset page. Three built-in themes: light, dark, and sepia — no HTML or CSS required.
deploy_docs — Docs site
Multiple Markdown files become a docs site with sidebar navigation automatically. Cross-page links rewritten, GitBook-style out of the box.
Stable URLs on update
Name your site with a did and republishing overwrites in place — the URL never changes, shared links stay valid forever.
Access control & expiry
Toggle public or password-protected with one call. Pages can auto-expire or be pinned permanently — you decide who sees what.
Your data, your server
Fully self-hosted — all pages and data live on your own server. No third-party platform dependency, migrate any time.
See it in action
All pages below were published with PageFire. Click to visit.
Product landing page deploy_page
An AI team published their SaaS landing page with PageFire — AI generated the HTML, one call to go live, never touched a server.Open →
Technical article deploy_markdown
"Deep Dive: MCP Protocol" — a developer dropped Markdown into Claude and it was published as a beautifully typeset public article instantly.Open →
Developer docs site deploy_docs
A team published their API docs from multiple Markdown files into a sidebar-nav docs site. Updates just re-run the tool.Open →
Three steps, zero config
Add the MCP server
Put the server URL and Bearer Token in .mcp.json and add it to your AI client (Claude / Cursor).
Tell AI what to publish
Describe in plain language — AI calls deploy_page or deploy_zip automatically to complete the publish.
Get a public URL
Your HTTPS subdomain is ready instantly. Share with anyone — no login required. Password protection available.
Up and running in 5 minutes
Create an account, then generate an API Key (starts with pf_) in the dashboard.
Configure the MCP connection for your client:
Option 1 · Direct HTTP (recommended, zero deps)
Create .mcp.json in your project root and add it to .gitignore so your token is never committed:
{
"mcpServers": {
"pagefire": {
"type": "http",
"url": "https://mcp.pagefire.hkting.com/mcp",
"headers": { "Authorization": "Bearer <your-token>" }
}
}
}
Option 2 · stdio bridge (fallback)
If Option 1 reports Failed to connect but a browser / Node can reach the domain, your client runtime's TLS fingerprint is likely being blocked. Use mcp-remote on your local Node to bridge the same endpoint over stdio (requires Node ≥ 18 / npx):
{
"mcpServers": {
"pagefire": {
"type": "stdio",
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://mcp.pagefire.hkting.com/mcp",
"--header", "Authorization:${AUTH_HEADER}",
"--transport", "http-only"
],
"env": { "AUTH_HEADER": "Bearer <your-token>" }
}
}
}
Option 3 · npm connector package (simplest)
pagefire-mcp is published on npm — token goes in an env var only, no URL or header splitting pitfalls:
{
"mcpServers": {
"pagefire": {
"command": "npx",
"args": ["-y", "pagefire-mcp@latest"],
"env": { "PAGEFIRE_TOKEN": "pf_<your-token>" }
}
}
}
Open Cursor → Settings → MCP → Add new global MCP server and fill in:
{
"pagefire": {
"url": "https://mcp.pagefire.hkting.com/mcp",
"headers": { "Authorization": "Bearer <your-token>" }
}
}
Add to codex.yaml (or ~/.codex/config.yaml):
mcp_servers:
- name: pagefire
type: http
url: https://mcp.pagefire.hkting.com/mcp
headers:
Authorization: "Bearer <your-token>"
Any MCP client that supports Streamable HTTP transport works. Fill in:
Endpoint:https://mcp.pagefire.hkting.com/mcp
Auth:Authorization: Bearer <your-token>
Protocol:MCP 2025-03-26 (Streamable HTTP)
Reload your client, then publish with a single sentence:
Publish this content as a public webpage, keep it permanently.
Publish this content as a webpage.
Publish this content as a webpage.
Publish this content as a webpage.
You can also publish directly from the terminal or CI without an AI client:
npm install -g pagefire-mcp
export PAGEFIRE_TOKEN=pf_your-token
pagefire deploy ./dist --pin # deploy directory
pagefire deploy README.md # deploy Markdown
pagefire deploy-docs ./docs # deploy docs site
pagefire list # list all deployments
pagefire --help after install for all commands, or use without installing via npx pagefire-mcp.Start using PageFire
Sign up and create your API Key in the dashboard — your data stays on your server. From signup to your first live page in under 5 minutes.