How it works

One address for your AI. Every change checked twice.

Your AI assistant talks to one MCP address. WPTerminal decides what may run, asks you when it should, and signs each change. The plugin on your site checks that signature again before WordPress saves anything.

Connection

Protocol
Model Context Protocol
Transport
HTTPS · JSON-RPC
Sign-in
OAuth with PKCE, or API key
To your site
Application Password + signed proof
Plugin needs
WordPress 6.9+, PHP 8.0+

Topology

Four parts, one path

Every request takes the same path. Nothing reaches your site without passing the gateway and the plugin.

  1. 01 / Client

    Your AI assistant

    Claude, ChatGPT, Cursor, VS Code, Windsurf, Codex or any MCP client. It sees WordPress tools and asks to use them.

    POST /api/mcp

  2. 02 / Gateway

    WPTerminal

    Checks who is asking, which site, your plan and the rules. Holds changes for approval, signs approved ones, logs everything.

    policy · approval · Ed25519

  3. 03 / Plugin

    Cmdlane Agent Link

    Runs inside WordPress. Exposes abilities through the WordPress Abilities API and verifies every signed change before it runs.

    /wp-abilities/v1/…

  4. 04 / Site

    Your WordPress site

    Changes are made as a separate AI agent account, with WordPress's own functions, so caches, hooks and revisions behave as usual.

    user: cmdlane-agent

Request inspector

What your AI actually sends

A tool call is a small JSON-RPC message. The site is chosen by its ID, so one connection covers every site you have access to.

request · tools/callexample
{
  "jsonrpc": "2.0",
  "id": 7,
  "method": "tools/call",
  "params": {
    "name": "update_seo_data",
    "arguments": {
      "site_id": "your-site-id",
      "post_id": 42,
      "title": "Plans for agencies"
    }
  }
}
gateway · what happens nexttrace

auth ok · OAuth token, role Operator

site ok · member has access

plan ok · write allowance left

rule needs approval

ask approved in chat · by you

sign Ed25519 · expires in 5 min

site verified · saved · receipt kept

log recorded

Connecting a site

No passwords to copy

Connecting starts in WordPress, takes about five minutes, and never asks for your own WordPress password.

Once the site is connected, add the MCP address to your AI assistant. Connect your AI

  1. 01

    Click Connect in the plugin

    WordPress

    Install Cmdlane Agent Link, open Settings → Agent Link and click Connect to WPTerminal. Only your site's address is sent.

    Settings → Agent Link

  2. 02

    Sign in to WPTerminal

    WPTerminal

    Sign in or create a free account. Only organization owners and admins can connect a site, and your plan's site limit is checked before anything is created.

    state + PKCE challenge

  3. 03

    An administrator approves

    WordPress

    You return to WP Admin, see what the AI may do and anything that would stop the connection working, and choose whether to allow administrative tools.

    Approve connection

  4. 04

    The agent account is set up

    WordPress

    The plugin creates the AI Agent user if it does not exist and issues it a new Application Password, replacing any earlier one.

    user: cmdlane-agent

  5. 05

    One-time hand-over

    Server to server

    WordPress gives WPTerminal a single-use code that expires in five minutes. WPTerminal redeems it directly with your site using its PKCE verifier, so the password never appears in a URL or browser history.

    POST /pair/exchange

  6. 06

    Stored encrypted, you are back

    WPTerminal

    The password is encrypted with AES-256-GCM for your organization and site, and you land back on Settings → Agent Link, connected.

    Connected to WPTerminal

Your data

Where things live

On WPTerminal

Your account, organization, site addresses, the encrypted Application Password, approvals and the activity log.

On your site

Your content stays where it is. The plugin keeps a receipt for each signed change and its own settings.

Never stored

Your own WordPress password. Access tokens and API keys are kept only as hashes.

Reliability

Built for real hosting

receipts

Exactly once

Each change carries one operation ID. If a response is lost, the gateway reads the receipt on your site instead of running the change again.

diagnostics

Clear errors

When a connection fails, the plugin says why: a firewall, Application Passwords switched off, a password that no longer matches.

any host

Works where WordPress works

WP-CLI commands are emulated in PHP, so they run on shared hosting. Subdirectory installs and plain permalinks need no setup.

See the security details

What is inside a signed change, what the plugin checks, and the limits no approval can lift.