Skip to content

ChatGPT App

The ChatGPT desktop app (which runs Codex under the hood) connects to your site’s MCP server through its built-in MCP settings. The recommended path is OAuth sign-in: no config files, no copied credentials. If you’d rather configure it by hand, the Application Password method still works.

OAuth lets the ChatGPT app connect as your WordPress account through a one-time browser approval. No password is stored in the app.

Requirements: your site must be served over HTTPS and OAuth sign-in must be on under EMCP Tools → Connection → Advanced settings (it is on by default on HTTPS sites). Only administrators can approve a connection.

Let the Connection screen guide you. In EMCP Tools → Connection, choose ChatGPT App in step 1 (“Choose your AI client”) and OAuth in step 2 (“Pick how it signs in”). Step 3 (“Add EMCP to ChatGPT App”) repeats the instructions below with your server’s Name and URL ready to copy. Click I’ve added it, continue, and step 4 (“Test the connection”) waits for the app’s first MCP call and confirms it.

In the ChatGPT app, go to File → Settings → Plugins, switch to the MCPs tab, and click Add server.

ChatGPT app Plugins settings, MCPs tab with the Add server button

2. Choose Streamable HTTP and enter your URL

Section titled “2. Choose Streamable HTTP and enter your URL”

Set Type to Streamable HTTP, give the server a name, and paste your MCP endpoint URL. Leave the bearer token and headers empty, OAuth supplies the auth. Click Save.

Your endpoint is shown in the wizard’s step 3 and under Server status on EMCP Tools → Connection (with a Copy button). It looks like:

https://your-site.com/wp-json/mcp/emcp-tools-server

Connect to a custom MCP form, Streamable HTTP selected, name and URL filled, Save button

After saving, an Authenticate button appears on the server’s row. Click it to start the sign-in flow.

Server row with the Authenticate button

A consent screen opens in your browser. Confirm you’re signed in as the right WordPress user and click Approve. The app connects as your account and can use any MCP tools you’ve enabled.

Authorize MCP connection consent screen with Deny and Approve buttons

The server now shows Authenticated (OAuth) and Enabled. You can start chatting with your site.

MCP list showing the server as Authenticated (OAuth) and Enabled

You can cut access any time from EMCP Tools → Connection → Connected apps: Sign out stops the app’s tokens (it can sign in again), and the trash icon removes the app completely.

If OAuth isn’t available (for example on an HTTP-only site), add the server to ~/.codex/config.toml (macOS/Linux) or %USERPROFILE%\.codex\config.toml (Windows):

[mcp_servers.emcp-tools]
url = "https://your-site.com/wp-json/mcp/emcp-tools-server"
[mcp_servers.emcp-tools.http_headers]
"Authorization" = "Basic BASE64_ENCODED_CREDENTIALS"

Generate the base64 credentials from your WordPress username and an Application Password:

Terminal window
echo -n "admin:xxxx xxxx xxxx xxxx xxxx xxxx" | base64

The EMCP Tools → Connection screen generates this for you: choose ChatGPT App, then Application password, then click Create password in step 3 (the password is shown once; the configs already contain it), or pick Use a password I already have. Step 3 then shows a field-by-field guide for the app’s “Custom MCP” form, a codex mcp add terminal command, and two config.toml blocks: direct HTTP (as above) and a Node proxy (npx) variant for handshake trouble. You can also create a password yourself under Users → Profile → Application Passwords.

Open File → Settings → Plugins → MCPs. The server should be listed and Enabled: Authenticated (OAuth) if you signed in, or connected via your header if you used an Application Password. Back in WordPress, step 4 of the Connection wizard shows “ChatGPT App is connected” with the first tool call and its time.

Common errors:

  • 401 Unauthorized (Application Password): the password is wrong or the base64 encoding is missing/malformed.
  • OAuth stuck / no browser prompt: confirm the site is HTTPS and OAuth sign-in is on under EMCP Tools → Connection → Advanced settings. If step 4 reports “No call yet”, click Run a server test there to check OAuth discovery. Some hosts block /.well-known/ requests, if so, use the Application Password method instead.
  • Server returned 0 tools: the connection worked but no tools registered. See No tools appearing.