Documentation

ChatGPT App

Connect Pagr to ChatGPT to publish, update, and manage hosted HTML pages directly from your conversations.

Docs

Start

Getting started

Build

CLI API MCP Skills ChatGPT App

Operate

Troubleshooting

Quick actions

Open in ChatGPTFind Pagr under ChatGPT Apps after connecting.
Copy MCP URLThe remote MCP endpoint used by the ChatGPT app.

The Pagr ChatGPT app connects ChatGPT to your Pagr account over OAuth. Once connected, you can publish and manage hosted HTML pages without leaving your conversation.

Connect the app

  1. Open chatgpt.com and go to Apps (or the connector marketplace depending on your ChatGPT interface).
  2. Search for Pagr and select it.
  3. Click Connect — ChatGPT will redirect you to Pagr’s OAuth login.
  4. Sign in with your Pagr account and approve the requested scopes (files:read, files:write).
  5. ChatGPT receives a scoped access token and the app is ready to use.

You do not need a Pagr API key for ChatGPT. The OAuth flow handles authentication automatically.

OAuth login flow

Pagr implements OAuth 2.0 with PKCE for ChatGPT. The flow works as follows:

  1. ChatGPT fetches OAuth metadata from https://mcp.getpagr.co/.well-known/oauth-authorization-server.
  2. ChatGPT redirects you to Pagr’s authorization endpoint with a PKCE code challenge.
  3. You log in with your Pagr account (powered by Clerk).
  4. Pagr issues a short-lived authorization code and redirects back to https://chatgpt.com/connector/oauth/....
  5. ChatGPT exchanges the code for a bearer access token (valid for 1 hour).
  6. All subsequent tool calls carry that token in Authorization: Bearer <token>.

Tokens are tied to your individual Pagr account. ChatGPT can only access files owned by the account that completed the OAuth login.

Available tools

ToolWhat it does
upload_filePublishes a new HTML file and returns a public uc.pagr.link/<slug> URL.
update_fileReplaces the HTML content of an existing file by slug.
update_file_by_idReplaces HTML by stable document ID — use this when a slug may have changed.
list_filesLists files owned by the authenticated account.
delete_fileDeletes a hosted page by slug.
rename_fileRenames a file slug and optionally updates the title.

Update operations overwrite the current page content. Pagr does not keep previous versions for restore.

Example prompts

Publish a new page:

Publish this HTML to Pagr with the title Quarterly Metrics: <html><body><h1>Quarterly Metrics</h1><p>Revenue is up.</p></body></html>

ChatGPT calls upload_file and returns the public URL.

Request a specific slug:

Create a Pagr page at the slug team-status with this HTML: <html><body><h1>Team status</h1></body></html>

List your files:

Show me my 10 most recent Pagr files.

Update a page:

Update my Pagr file team-status with this replacement HTML: <html><body><h1>Updated team status</h1></body></html>

Update by document ID:

The Pagr document ID is doc_123. Replace its HTML with <html><body><h1>Final report</h1></body></html> and title it Final report.

Store the documentId returned by upload_file in your conversation or a note — it remains stable even if you later rename the slug.

Rename a file:

Rename my Pagr file old-report to annual-report and set the title to Annual Report.

Delete a page:

Delete my Pagr page draft-report.

When the app will not trigger

ChatGPT will not invoke Pagr tools for general requests that are not about managing your Pagr files:

  • Questions about other hosting services or web publishing advice in general.
  • Requests to edit local files on your computer.
  • Operations targeting Google Drive, Dropbox, or other storage services.
  • Vague update requests without a slug or document ID — ChatGPT will ask for the missing information before calling any tool.

Troubleshooting

“Connect” button does not appear — The app may not be available in your region or ChatGPT plan yet. Use the remote MCP endpoint with a Pagr API key as an alternative.

OAuth login fails — Make sure you have an active Pagr account at app.getpagr.co. The OAuth flow requires an existing account.

Token expired mid-conversation — Access tokens are valid for 1 hour. ChatGPT will re-authenticate automatically at the next tool call. If you see an auth error, disconnect and reconnect the app.

Tool returns permission error — Confirm that you completed the OAuth flow for the correct Pagr account. Each connected account only has access to its own files.

Remote MCP endpoint

The ChatGPT app connects to:

https://mcp.getpagr.co/mcp

You can also use this endpoint directly in other MCP clients that support OAuth or bearer tokens. See the MCP guide for configuration examples.