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
- Open chatgpt.com and go to Apps (or the connector marketplace depending on your ChatGPT interface).
- Search for Pagr and select it.
- Click Connect — ChatGPT will redirect you to Pagr’s OAuth login.
- Sign in with your Pagr account and approve the requested scopes (
files:read,files:write). - 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:
- ChatGPT fetches OAuth metadata from
https://mcp.getpagr.co/.well-known/oauth-authorization-server. - ChatGPT redirects you to Pagr’s authorization endpoint with a PKCE code challenge.
- You log in with your Pagr account (powered by Clerk).
- Pagr issues a short-lived authorization code and redirects back to
https://chatgpt.com/connector/oauth/.... - ChatGPT exchanges the code for a bearer access token (valid for 1 hour).
- 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
| Tool | What it does |
|---|---|
upload_file | Publishes a new HTML file and returns a public uc.pagr.link/<slug> URL. |
update_file | Replaces the HTML content of an existing file by slug. |
update_file_by_id | Replaces HTML by stable document ID — use this when a slug may have changed. |
list_files | Lists files owned by the authenticated account. |
delete_file | Deletes a hosted page by slug. |
rename_file | Renames 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-statuswith 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-statuswith 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-reporttoannual-reportand 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.