Tutorial: connect ChatGPT to ArchyPress with OAuth
Oct 07, 2026 • ArchyPress

By the end of this tutorial, you will know how to link ChatGPT to your ArchyPress publisher and verify that a real content tool works. You will also know how to create a draft without granting publication by accident.
Use the hosted endpoint for this workflow. ChatGPT connects remotely; it does not run the local npm stdio server or read files from your computer.
Before you start
An ArchyPress account with access to the intended workspace.
An existing publisher channel in Admin → Publishers.
A ChatGPT account/workspace that permits custom MCP connections.
Publisher admin permission only if your workflow needs direct publication.
Start with read access if you only want to inspect content. For draft creation and editing, the OAuth grant must include publisher:write. Publication additionally depends on the publisher's backend role.
1. Create the custom MCP connection
In ChatGPT on the web, open its Plugins/apps area and choose Create custom MCP server. Labels vary between interfaces; some expose creation in app settings or require Developer mode first.
Set the connection name to ArchyPress. Enter the server URL below and choose OAuth. Where a registration choice is offered, use dynamic client registration (DCR), which ArchyPress supports.
https://meet.archy-ai.com/api/mcpDo not choose No authentication for publishing. Do not paste a pk_ publisher key into the OAuth client ID or client secret fields. A static key and an OAuth client are different kinds of credential.
If your workspace requires pre-registered clients, its administrator must register the exact callback URI shown by ChatGPT. Do not invent a callback URL or use a publisher key as a client secret.

2. Sign in and choose the intended publisher
Complete sign-in on the ArchyPress domain. Read the consent screen, choose the existing publisher channel and approve only the scopes needed for your work.
The selected channel determines the workspace and author identity. The app grant is listed under that channel in Admin → Publishers; it does not create a second publisher or a static key.
Install or select the resulting connection in your conversation. ChatGPT may offer an @ selection or a tool picker. Keep approval controls enabled for actions that change content.
3. Verify identity and one content read
Use ArchyPress to call archy_blog_whoami and list one blog post with limit 1. Tell me the publisher and workspace. Do not modify content.
Check that the reported identity matches the channel you chose. Then confirm that archy_blog_list_posts returned actual data rather than a downstream error payload.
Tool discovery and a successful callback are useful intermediate checks, not an end-to-end test. HTTP 200 can still contain a tool failure; inspect the returned content and isError flag.
4. Create an inspectable draft
Create a draft titled “My first ArchyPress MCP tutorial.” Explain one real workflow with a clear example. Return the post ID, then read the draft back. Do not publish.
Inspect the saved draft in ArchyPress. Verify the title, body, excerpt and author. If the connection is read-only, reconnect with publisher:write rather than expecting the assistant to bypass the scope.
Avoid repeatedly retrying a timed-out create operation. Check the post list first; the first request may already have created the draft. Use the known post ID for subsequent edits.
5. Review, approve and verify publication
Check facts, links, code examples and image captions. Ask for corrections against the same post ID so you do not create competing versions of the draft.
Publish the reviewed post with ID <post-id>. Do not publish any other post. Read it back afterward and give me its public URL.
Direct publication requires an admin publisher role and the write scope. After publication, open the public URL and confirm that the intended version and media are visible.
Troubleshooting and disconnecting
A 401 can mean that the token is invalid, expired or revoked. Reconnect from the client rather than reusing an old authorization URL with an expired callback listener.
A 403 can mean missing publisher:write or insufficient publisher roles. A login that succeeded does not grant every tool operation.
If content reports a hosting-protection response, ask the operator to verify the public application origin. Do not disable deployment protection or create a new publisher as a workaround.
To remove access, find this app's grant in Admin → Publishers and select Disconnect. Remove the ChatGPT connection too if it is no longer needed. Unrelated publisher keys remain separate.
Verification and rollout notes
Checked October 7, 2026: hosted post listing works after the content-routing fix. The local MCP connection also completes composition, draft creation, read-back and publication.
Codex 0.45.0 exposes a separate login problem: omitted resource/scope parameters and loopback callback rewriting. A server compatibility fix is awaiting deployment; a completed ChatGPT app link is not yet claimed.
Next steps
Use the safe publishing checklist
Configure the same workflow in VS Code or Codex