Connect the hosted MCP endpoint once, then let Codex, Claude, Cursor, or another MCP client inspect campaigns, schedule Zernio-backed automations, check delivery health, and manage Instagram workflows.
The guide tells the agent how to connect. The transport endpoint is https://app.swaycue.com/api/mcp and requires a revocable token.
01 — Install
Create a revocable access token
Sign in to SwayCue, open Settings, and create a named token under Remote MCP access. The token is bound to your user and workspace and is displayed only once.
A SwayCue account with workspace access
An MCP client with Streamable HTTP support
A named access token created in SwayCue Settings
A client environment or secret store for the token
Remote endpoint
https://app.swaycue.com/api/mcp
Store the one-time token as OPENREPLY_MCP_TOKEN in your MCP client environment. Never commit it.
02 — Configure
Connect with bearer authentication
The access token determines the user, workspace, and role automatically. No database credentials, user IDs, repository checkout, or local server process are required.
Restart the MCP client after saving. In Codex, run codex mcp list or use /mcp to inspect the connection.
03 — Verify
Teach the agent a safe operating sequence
A successful MCP connection is not enough. The agent should verify infrastructure, account identity, and current campaign state before it changes anything live.
1
Check the system
Call openreply_health and require database, Redis, queue, and worker checks to pass.
2
Confirm the account
Call openreply_list_instagram_accounts before creating or changing a campaign.
3
Read before writing
Inspect the relevant campaign or scheduled post, then present the intended change.
4
Confirm live actions
Supply confirm: true only after the user authorizes an external, destructive, or live automation action.
04 — Tool directory
What an agent can do
The running server advertises authoritative input schemas for every tool. Agents should inspect those schemas instead of inventing arguments.
Health and reporting
Check infrastructure, dashboards, analytics, logs, and operational events.
openreply_health
openreply_dashboard_summary
openreply_dashboard_stats
openreply_get_campaign_analytics
openreply_list_dm_logs
openreply_list_webhook_events
openreply_list_operational_events
Instagram accounts and media
Connect accounts, inspect posts and insights, and manage webhook subscriptions.
openreply_list_instagram_accounts
openreply_get_instagram_connect_url
openreply_get_instagram_account
openreply_list_instagram_posts
openreply_get_media_insights
openreply_get_follower_history
openreply_subscribe_instagram_webhooks
openreply_disconnect_instagram_account
Campaigns
Create, review, import, update, and remove comment-to-DM automations.
openreply_list_campaign_templates
openreply_list_campaigns
openreply_get_campaign
openreply_create_campaign
openreply_import_campaigns
openreply_update_campaign
openreply_delete_campaign
Zernio scheduled posts
Find future posts and attach an automation before Instagram publication.
openreply_list_zernio_scheduled_posts
openreply_sync_zernio_post
Postiz publishing
Upload private media, publish or schedule Instagram posts, manage unpublished posts, and bind a Reel to a comment-to-DM campaign.
openreply_list_postiz_integrations
openreply_list_postiz_scheduled_posts
openreply_prepare_postiz_media_upload
openreply_finalize_postiz_media_upload
openreply_schedule_postiz_post
openreply_schedule_reel_campaign
openreply_edit_postiz_scheduled_post
openreply_cancel_postiz_scheduled_post
Inbox and replies
Read conversations and send explicit Instagram replies within Meta's rules.
openreply_list_conversations
openreply_get_conversation_messages
openreply_send_instagram_message
openreply_reply_to_comment
Workspace access
Inspect membership, accept invitations, and administer non-owner members.
openreply_list_workspace_members
openreply_accept_workspace_invitation
openreply_invite_workspace_member
openreply_update_workspace_member_role
openreply_remove_workspace_member
05 — Zernio
Build the automation before the post publishes
The scheduled-post record gives SwayCue a stable target before Instagram has assigned a media ID. Publication later fills that exact ID without changing unrelated campaigns.
01
Schedule the Instagram post in Zernio and retain its provider post ID.
02
Call openreply_sync_zernio_post with that ID.
03
Use the returned scheduledPostId in openreply_create_campaign.
04
Review the waiting campaign before the Instagram post exists.
05
At publication, the signed webhook binds the exact Instagram media ID. The worker repairs missed events every five minutes.
06 — Postiz
Schedule and automate from one agentic flow
Postiz remains a private publishing sidecar, while SwayCue owns the workspace mapping, scheduled-post record, campaign binding, and reconciliation lifecycle.
01
An operator configures the server-only Postiz API key and the Postiz/Meta Instagram credentials.
02
In SwayCue Settings → Postiz Publishing, connect Instagram through SwayCue and map the SwayCue Instagram account to its Postiz integration.
03
Call openreply_list_postiz_integrations and verify the mapping.
04
For local media, call openreply_prepare_postiz_media_upload, PUT the file bytes to the returned signed URL, then call openreply_finalize_postiz_media_upload.
05
Call openreply_schedule_postiz_post with the returned mediaHandle, account, content, and future timestamp. Already-hosted media can use mediaUrl.
06
Use the returned scheduledPostId in openreply_create_campaign when the scheduled post should trigger comment-to-DM automation.
07
The worker reconciles Postiz and binds the exact published Instagram media ID after publication.
07 — Security
Revocable, role-aware access
Every request is authenticated to a SwayCue user and workspace. The server applies the same membership roles as the dashboard and adds rate limits and tool-call auditing.
Workspace isolation
Every token is permanently scoped to the workspace that issued it.
Role-aware writes
Campaign and access changes require the token owner to remain an owner or admin.
Explicit confirmation
Live changes, destructive actions, DMs, and public replies require confirm: true.
Revocable credentials
MCP tokens are stored as hashes, shown once, rate-limited, audited, and revocable in Settings.
08 — Troubleshooting
Fast checks when the client does not connect
The endpoint uses standard Streamable HTTP with bearer authentication. Connection failures usually come from a missing, revoked, or stale client token.
HTTP 401: create a new token in Settings, update the client secret, and restart the client.
HTTP 429: wait for the Retry-After interval before reconnecting.
Writes rejected: confirm the token owner is still an owner or admin member.
Scheduled posts absent: verify the Zernio connection, exact account mapping, and feature flag on both web and worker.
Worker unhealthy: repair the Railway worker before expecting DMs or publication reconciliation.
Ready to hand off
Give the agent one URL
The raw guide is self-contained. Copy the prompt below into a coding-agent task, then create a one-time token in SwayCue Settings when the agent asks for it.
Read https://app.swaycue.com/docs/mcp/agent.md and connect the remote SwayCue MCP server by following it exactly. The endpoint is https://app.swaycue.com/api/mcp. Ask me to create a revocable MCP token in SwayCue Settings, keep it out of source control and chat logs, and verify the connection with openreply_health before making changes.