Heads up: the easy free way to put an AI-built page online usually makes it public and searchable on Google. Pagelive keeps yours private →
+ +

Pagelive for AI agents

Give your agent a place to publish, and know who opens it

When your agent builds an HTML proposal, dashboard, or report, Pagelive turns it into a branded, tracked, access-controlled link in one call, over MCP or a plain REST request. No deploy, no export.

Free to start · any HTTP client.

+ +

In one call

HTML in, a tracked URL out

tools/call · publish_page
agent → publish_page {
  "html": "<!doctype html>…",
  "title": "Q3 Board Update"
}

→ { "slug": "k3n8",
    "url": "https://pagelive.app/p/k3n8" }

# later
agent → get_page_stats { slug }
→ 3 views · 2 unique viewers · top countries DE, US
+ +

Two ways to connect

MCP for chat agents · REST for everything else

Same endpoint, same tools. Pick the one that fits how your agent runs.

Hosted MCP connector

For conversational agents (Claude & any MCP client). Add the URL, sign in once with OAuth, and the tools appear.

{
  "mcpServers": {
    "pagelive": {
      "url": "https://app.pagelive.io/api/mcp"
    }
  }
}
Set up the Claude connector →

REST / JSON-RPC + API key

For server-side agents, scripts, and frameworks. POST JSON-RPC to the same endpoint with a Bearer key: any HTTP client, normal User-Agent.

POST https://app.pagelive.io/api/mcp
Authorization: Bearer pl_…
Content-Type: application/json
Create an API key →
+ +

Quickstart

Publish a page in one call

Get a key from the dashboard, then POST publish_page. The response is your live URL.
curl -s https://app.pagelive.io/api/mcp \
  -H "Authorization: Bearer pl_YOURKEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"publish_page","arguments":{
         "html":"<!doctype html><h1>Hello</h1>",
         "title":"Demo"}}}'
# → { "url": "https://pagelive.app/p/ab12cd34" }

Full tool schemas + a runnable example: /llms-full.txt

+ +

The tools

The 19 tools your agent can call

The same tools over MCP and over JSON-RPC with a key.
publish_page

Publish an HTML document and get its link back.

update_page

Change a page at the same URL, with targeted edits or a full rewrite.

list_pages

List your pages with their links, folders and view counts.

get_page_stats

Views, unique viewers and top countries for one page.

list_form_submissions

Read the replies sent through a form on a page.

create_recipient_link

Give one person their own link, so their opens show under their name.

list_recipient_links

The recipient links on a page, each with its opens and reading time.

list_comments

Read the comments people left on a page, with the text or element each one points at.

create_comment

Start a comment thread on a page, or an internal note only your team sees.

reply_comment

Reply to a comment thread; the commenter gets it by email.

resolve_comment

Mark a comment thread resolved once the page addresses it.

apply_suggestion

Apply a suggested edit to the page and close its thread.

reopen_comment

Reopen a resolved comment thread.

list_decisions

Who approved a page and who requested changes, with their notes.

list_workspaces

Your personal workspace and any teams, to publish into.

list_domains

Your connected custom domains, to publish onto.

list_folders

The folders in a workspace, with page counts.

create_folder

Create a folder to group related pages.

move_page

File a page into a folder, or back to the root.

+ +

Why a Pagelive link

More than a public paste

A throwaway public link leaks to Google and tells you nothing. Every Pagelive link is branded, private by default, and tracked.

A real URL in one call

AI-built HTML becomes a live, branded link, on a Pagelive link or your own domain. No deploy, no repo, no export.

Tracking built in

Opens, unique viewers, dwell time, geo, referrers, and an alert on open. Through a verified email or a recipient link you see who opened it. Your agent pulls the numbers with get_page_stats.

Replies come back to you

Include a plain <form data-pagelive> in the HTML. No endpoint, no key. Submissions are captured, the owner is emailed, and your agent reads them with list_form_submissions.

Access control

Password, email gate, or an allow-list of specific people, set at publish time. Noindex by default, so nothing leaks to Google.

Safe by default

Published HTML is scanned; obvious phishing is rejected. Pages serve from an isolated content plane, walled off from app + billing.

Feedback your agent can act on

Readers comment on the page, suggest edits and approve or request changes. Your agent reads them with list_comments and list_decisions, and applies a suggestion with apply_suggestion.

+ +

Drop-in skill

Teach your agent to publish

Paste this into your agent’s system prompt or skill definition. With the MCP connector or an API key wired up, it’ll publish whenever sharing is the goal.
system prompt / skill
You can publish HTML as a live, tracked, shareable link with Pagelive.
When the user wants to share a page, proposal, deck, dashboard, or report,
call publish_page with { html, title }. It returns a URL (noindex by default).
Add a password for confidential work. Use update_page to revise the same link,
and get_page_stats to see how many people opened it. For proposals, include a
<form data-pagelive> reply form in the HTML. Read the responses later
with list_form_submissions. When comments are on, read them with
list_comments, apply suggested edits with apply_suggestion, and pass the
thread ids you fixed to update_page in resolves.

Agents browsing the web can read /llms.txt to discover and use Pagelive on their own.

+ +

FAQ

Either. Conversational agents (Claude, etc.) use the hosted MCP connector at https://app.pagelive.io/api/mcp with OAuth. Server-side agents and scripts call the same endpoint as plain JSON-RPC with an API key (Authorization: Bearer pl_…). Same tools, same result.

+ +

Let your agent publish its next page as a tracked link.

Free to start · MCP or REST · noindex by default.