Your first connection.
Download & install the WordPress plugin → · Connect Google Antigravity →
Run the service
Download the source package and extract it. Python 3.12 is required.
python -m venv .venv .venv\Scripts\Activate.ps1 # macOS / Linux: source .venv/bin/activate python -m pip install -r requirements.txt python service.py
Open http://127.0.0.1:8787/dashboard and create an account. The service runs on Uvicorn/FastAPI. Existing accounts and connected sites are migrated in place. Read DEPLOYMENT.md before setting up a public host.
Connect WordPress
- Download the companion plugin. Upload it through WordPress Plugins → Add New → Upload Plugin, then activate it.
- For local evaluation, create a dedicated administrator Application Password in WordPress Users → Profile. Enter the site URL, username and generated password directly in the local dashboard.
- On a public HTTPS app deployment, the connection form also offers guided authorization. You approve access in WordPress, return to PressPilot, and verify the connection before it is saved.
Guided authorization is tested with simulated callbacks; it has not been validated against a real public PressPilot deployment. The local manual connection has passed real staging reads and an owner-approved draft creation.
This workspace is restricted to the owner's approved staging site by a fail-closed target policy. Other sites and the main website remain blocked. Do not push or synchronize staging to production.
Connect an AI assistant
For manual connections, create a named token in AI connections. Select read-only access or permission to request changes, and choose an expiry. Tokens never approve changes.
{
"mcpServers": {
"presspilot": {
"url": "http://127.0.0.1:8787/mcp",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
}
}This illustrates the endpoint and header; each client has its own configuration format. Remote clients need a public HTTPS service. They cannot reach your computer's loopback address.
OAuth discovery, authorization code + S256 PKCE, explicit consent, refresh-token rotation and revocation are implemented. The resource is the exact service origin plus /mcp. Public clients with exact registered callbacks are supported. Access tokens expire after one hour; refresh tokens expire after 30 days.
Current protocol support is the 2025-11-25 MCP family. Confidential-client authentication, Client ID Metadata Documents and the newer 2026 protocol are not implemented. Actual ChatGPT, Claude and Cursor compatibility remains a release gate; automated OAuth tests are not a claim of compatibility or marketplace approval.
Review a change
Ask your assistant to prepare a draft or use Content → New draft. Inspect the exact payload in Approvals, then approve or reject it within one hour. New pages remain drafts. Publishing is a separate operation. An approved edit to an existing published post can change live content.
If a write times out, PressPilot does not blindly replay it. The companion plugin records operation receipts. Use Check WordPress outcome on an uncertain request to read its receipt without writing again.
Account security and recovery
Account & security shows signed-in sessions and authorized OAuth clients. You can revoke either. Verification and recovery use single-use email links when a transactional email provider is configured. Resetting a password revokes existing sessions and AI access.
Email delivery is not configured in the current local evaluation. Automated tests simulate delivery; no verification or recovery email delivery has been verified.
Security model
- WordPress credentials are encrypted at rest; AI tokens and session credentials are hashed.
- AI access is separate from browser approval authority.
- Outbound requests validate public IPs, pin the checked address to TLS, verify the hostname and reject redirects.
- Existing content fingerprints are checked before execution. This is optimistic concurrency, not an atomic lock against every WordPress writer.
- Raw Elementor content replacement is blocked; native builder editing is not implemented.
- Deletion uses WordPress trash and refuses permanent removal.
- Audit records are append-only through application routes; database administrators can still modify them.
A dedicated Application Password grants that WordPress user's API permissions outside PressPilot too. Revoke it in WordPress if exposed. The platform policy does not prove that hosting databases/files are isolated or control unrelated plugin side effects.
Deployment and backup
The source package includes Docker files, configuration examples and encrypted database snapshot/restore tools. Docker deployment has not been validated on a chosen VM. Production startup requires an HTTPS origin, an externally supplied encryption key and, when email verification is required, a configured mail provider.
Backups exclude the encryption key; escrow it separately. Restore verifies integrity and refuses to overwrite an existing database. See DEPLOYMENT.md for the controlled recovery procedure. These backups cover the platform, not customers' WordPress sites.
Billing and usage
Plan & usage shows connected-site and daily action counts. Stripe checkout, customer portal, signed webhooks and quota enforcement are implemented behind configuration flags. The current workspace stays in evaluation mode with billing disabled. Prices and commercial limits have not been approved, and no real billing transaction or Stripe webhook delivery has been tested.
Release status
Team roles, real billing validation, media, native builder adapters, expanded site operations, production load testing and independent security review are still open. Public hosting, delivered email and real AI-client onboarding also remain unverified. See RELEASE_CHECKLIST.md and VERIFICATION.md in the source download.