Connecting apps
Every way to connect an AI app to your site, and what each app expects.
Your site’s address for AI apps is always the same:
https://your-site.com/wp-json/saddle/v1/mcp
You will find it under Saddle → Apps, in Connection details & health.
Two ways to connect
The app decides which one you use, not you.
A key. Most AI apps let you paste a line of configuration that includes a key. You create the key in Saddle and paste it into the app. Claude, Claude Code, Cursor, VS Code and Gemini CLI all work this way. It is the default.
A sign-in screen. Some apps, ChatGPT most notably, have no place to paste a key. They send you to your own site to approve the connection instead, much like “Sign in with Google”. Saddle supports this, but it is off until you turn it on.
Not sure which one an app needs? Try the key first. If the app’s setup screen has no field for it, the app needs the sign-in screen.
Connecting with a key
Go to Saddle → Apps → Connect an app and pick your app. Saddle shows exactly what to paste. Copy it into the app and you are connected.
- The key is shown once. Saddle keeps only its name and last four characters. If you lose it, rotate the key to get a new one.
- Each app gets its own key. Disconnecting one app does not affect the others.
- Leaving the wizard early cancels the key. If you back out before copying, Saddle revokes the key it just made.
Keys are WordPress Application Passwords, but a Saddle key only works with Saddle. It cannot be used against the rest of the WordPress REST API or XML-RPC.
What each app expects
Claude (desktop app). Open Settings → Developer → Edit Config. Paste the block Saddle gives you, save, and restart Claude. The desktop app connects through a small bridge called mcp-remote.
Claude Code. Run one command in your terminal. Saddle adds --scope user on purpose: without it, the server only loads in the folder where you ran the command.
Cursor. Open Settings → MCP → Add new server, or save Saddle’s block as .cursor/mcp.json in your project.
VS Code (Copilot agent mode). Save the block as .vscode/mcp.json, then start the server from the MCP: List Servers command.
Gemini CLI. Run one command. It uses user scope for the same reason as Claude Code.
Any other MCP app. Most accept the standard block Saddle shows under “Any MCP app”. Look for “Add MCP server” in the app’s settings.
Connecting ChatGPT
ChatGPT has no field for a key, so it needs the sign-in screen.
First, turn on sign-in
Go to Saddle → Settings → Sign-in for ChatGPT. Saddle checks two things before it lets you turn it on:
- HTTPS. A sign-in token sent over plain HTTP can be read in transit.
- Pretty permalinks. Under Settings → Permalinks, choose anything other than “Plain”.
If either is missing, the switch stays off and tells you which one. While sign-in is off, Saddle publishes nothing an app could find.
Then, in ChatGPT
Open Settings → Plugins → Browse plugins and click + in the top right. You can also go straight to chatgpt.com/plugins. If the + button is missing, turn on Settings → Plugins → Developer mode first.
| Field | Value |
|---|---|
| Name | Anything, for example saddle-mysite |
| Connection | Server URL, then your site’s MCP address |
| Authentication | OAuth |
Leave the client ID and secret blank. Saddle registers ChatGPT on its own.
ChatGPT then sends you to your own site. The approval screen shows which app is asking, what it will be able to do, and which WordPress account it will act as. Only administrators can approve a connection.
Limits on ChatGPT’s side
- Plus and Pro plans are read-only for custom apps. OpenAI allows write actions only on Business, Enterprise and Edu workspaces. If ChatGPT reads your site but will not create a post, that is ChatGPT’s limit.
- ChatGPT Go has no apps. You need Plus or above.
- Workspace plans freeze the tool list when an admin approves the app. A new Saddle tool appears only after an admin refreshes the app’s actions.
- Agent mode does not use custom apps, and deep research only reads. Ask in a normal chat, with the app selected, for anything that writes.
- Uploading media needs a public URL. A file attached in the chat has no address Saddle can fetch. Point it at a file that is already online, or use the Unsplash tools.
Managing connections
Everything is under Saddle → Apps.
- Rotate key replaces an app’s key under the same name. The old key stops working immediately.
- Disconnect removes a connection for good, effective immediately. You can connect the app again later.
- Sign-in connections are listed separately. There is no key to rotate, only access to remove.
Keys also appear under Users → Profile → Application Passwords. Revoking a key in either place works.
Do I need the MCP Adapter plugin?
No. Saddle speaks MCP on its own. If the separate MCP Adapter plugin is active on your site, Saddle uses it instead. Nothing you can see changes: same address, same tools, same access levels. The Transport line under Connection details & health says which one is in use.
Something not working? See Troubleshooting.