Choose a preset
Start with Draft editor for everyday site work. Publisher is explicit because it changes what visitors see.
Use Hermes, Claude Code, or any MCP-compatible client to inspect, draft, QA, and operate Site Studio through scoped connector presets β without handing an agent a platform-admin session.
Agency partners issue from their agency workspace Integrations page; platform support issues tenant-limited support connectors from the agency cockpit.
MCP endpoint
Use your actual site or platform domain.
https://YOUR-DOMAIN.example/mcp OAuth-first when your client supports it
OAuth clients discover metadata, open browser consent, use PKCE, and receive rotating OAuth tokens. Static bearer keys remain available for CLI/server clients that do not support OAuth yet.
Start with Draft editor for everyday site work. Publisher is explicit because it changes what visitors see.
Sign in, open your connector settings, and create a key for the tenant, agency, or support scope you actually need.
Store the bearer value outside config files, then point your MCP client at the /mcp endpoint.
Presets
The authenticated screens still show advanced capability details, but the normal path is preset-first. Draft editor is the safe default; Publisher is a deliberate, visitor-visible escalation.
Read the selected sites, schemas, and QA findings without editing drafts.
Safest posture for audits, support triage, and tool discovery.
Create and repair Site Studio drafts while keeping visitor-visible publishing off.
Draft-only is recommended. Humans still review and publish live changes.
Draft content plus theme, media, and navigation changes for selected sites.
Navigation/theme changes can reshape the visitor journey. Review before publish.
Draft editing plus explicit permission to publish public Site Studio changes.
Publishing changes what visitors see. Use short TTLs and audit every key.
Agency workspace operations such as client/app/readiness management.
Agency operations can affect client onboarding and readiness workflows.
Client setup
Public examples use placeholders only. After issuance, the authenticated page fills in the exact token once and gives you the same snippet shape with the real one-time key.
For clients with browser-based auth.
https://YOUR-DOMAIN.example/mcphttps://YOUR-DOMAIN.example/.well-known/oauth-protected-resource/mcphttps://YOUR-DOMAIN.example/oauth/authorizeStores the one-time key as an environment variable; the config block below references it instead of embedding the secret.
# MCP endpoint: https://YOUR-DOMAIN.example/mcp
mkdir -p ~/.hermes
printf '\n%s=%s\n' AGENCY_CONNECTOR_MCP_BEARER 'YOUR_MCP_BEARER_TOKEN' >> ~/.hermes/.envPaste under the existing mcp_servers: block (or create it), then verify with: hermes mcp test agency_connector
agency_connector:
url: https://YOUR-DOMAIN.example/mcp
headers:
Authorization: "Bearer ${AGENCY_CONNECTOR_MCP_BEARER}"
timeout: 180
connect_timeout: 30
enabled: trueRun after exporting the env var above; the connector appears in the next Claude Code session.
claude mcp add --transport http agency_connector https://YOUR-DOMAIN.example/mcp --header 'Authorization: Bearer ${AGENCY_CONNECTOR_MCP_BEARER}'Expects a JSON-RPC result naming protocolVersion and serverInfo.
curl -s -X POST https://YOUR-DOMAIN.example/mcp -H "Authorization: Bearer $AGENCY_CONNECTOR_MCP_BEARER" -H "content-type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18"}}'Troubleshooting
Re-copy the env var from your secret store, rotate the connector if the raw key was lost, and make sure the Authorization header is exactly Bearer <token>.
Use a higher preset only if the operator truly needs it, or add the exact tenant site to the credential allowlist.
The MCP endpoint is Streamable HTTP over POST. GET is intentionally not a server-sent event stream.