Revup MCP documentation
Connect your AI assistant to Revup to create surveys, forms, and other promotions, customize them, and explore performance from a conversation.
Server URL
Revup provides a hosted Model Context Protocol (MCP) server. Use a client that supports remote Streamable HTTP connections and OAuth sign-in.
Get started by connecting your account, checking its capabilities, and asking your assistant to find a promotion.
Creating or editing a promotion can affect its public page immediately. Its schedule controls when entries are accepted. There is no separate publication approval step.
Building a direct integration with API keys? See the API reference.
What can I do in my connected Revup account? Find my giveaways and show their current schedules.
Connect your assistant
- In your assistant’s MCP connection settings, add a remote server named Revup using the server URL above.
- Start OAuth sign-in and log in to Revup.
- Choose the account you want to connect, review the requested permissions.
- Select Connect, return to your assistant, and refresh its tools if needed.
The available connection settings depend on your client. It must support remote MCP and OAuth authorization code with S256 PKCE. Revup API keys are for the REST API; this connection uses OAuth.
You can add Revup manually without a published directory listing. Choose the instructions for ChatGPT, Claude, or Codex below. Your assistant’s plan and organization settings may limit custom connections.
Confirm the connection
Ask the assistant to call get_account_capabilities first. Verify the account before making changes. Available tools depend on your consented scopes, account permissions, and supported operations.
Disconnect
Open Account › Integrations, find MCP Connections, and delete the connection. Reconnect through your assistant to authorize it again.
Name: Revup
URL: https://revup.com/mcp
Transport: Streamable HTTP
Authentication: OAuth
Connect ChatGPT
- In ChatGPT, open Settings › Security and login and enable Developer mode. Availability depends on your account and workspace policy.
- Open Plugins, select the + button, and enter Revup as the name with a short description.
- Under Connection, enter the Revup server URL shown on this page and create the connection. Use OAuth authentication.
- Sign in to Revup, choose your account, review permissions, and select Connect.
- Start a new conversation and select the Revup connection from the tools menu. Ask which Revup account is connected before making changes.
If Developer mode or connection creation is unavailable, check with your workspace administrator. These steps use a custom connection; they do not require Revup to appear in the public directory.
See OpenAI’s current connection instructions for client availability and interface changes.
Connect Claude
- In Claude, open Customize › Connectors, select +, then Add custom connector.
- Name the connector Revup and paste the server URL shown on this page. Revup supports automatic OAuth client registration; you do not need to supply a client ID or secret.
- Add the connector and start its connection or sign-in flow.
- Sign in to Revup, choose your account, review permissions, and select Connect.
- In a conversation, use + › Connectors to enable Revup, then ask which Revup account is connected.
For Team and Enterprise workspaces, an organization owner may need to add the connector in organization settings before members can connect their own Revup accounts.
See Claude’s custom connector instructions for current plan and workspace requirements.
Connect Codex
- With the Codex CLI installed, run the commands shown here to add Revup and start OAuth sign-in.
- In the browser, sign in to Revup, choose your account, review permissions, and select Connect.
- Return to Codex and start a fresh session. Ask which Revup account is connected and what it can do.
The requested permissions allow promotion editing and aggregate reporting. offline_access lets Codex refresh the connection. Review these permissions during sign-in.
Use the URL for the Revup environment where your account exists. A staging connection accesses staging accounts and promotions.
See Codex’s MCP instructions for other configuration options.
codex mcp add revup --url https://revup.com/mcp codex mcp login revup --scopes account:read,promotions:read,promotions:write,analytics:read,offline_access
Permissions & access
Each new connection applies to all promotions in one Revup account, within the permissions you allow. Tools respect your current account membership and role. Existing connections with promotion restrictions retain those restrictions.
| Scope | Access |
|---|---|
account:read | Read account capabilities and allowed operations. |
promotions:read | Find promotions, discover settings, inspect images, check operations, validate, and preview. |
promotions:write | Create, edit, and duplicate supported promotions; import supplied images. |
analytics:read | Read aggregate promotion reports. |
offline_access | Allow the client to refresh its connection without signing in for every access token. |
Creating or duplicating a promotion requires account-wide promotion consent. A connection restricted to particular promotions cannot create new ones.
MCP does not expose participant identities or exports, winner selection, messaging, payments, subscriptions, or purchase-entry authoring.
Show the connected account and my permissions. Which operations can I use for this promotion?
Discover promotions & settings
get_account_capabilities
Read the connected account and available capabilities. Takes no arguments.
list_promotions
Find accessible promotions. Supports query, limit (1–50, default 20), and a returned cursor for the next page.
get_promotion
Read saved details using promotion_id. Request a specific section for content, rules, security, design, fields, prizes, bonus actions, or assets. Use the returned revision when editing.
get_promotion_schema
Discover supported settings before writing. Pass the section you want to edit, such as content, fields, colors, assets, or schedule. Use the returned allowed values and catalogs.
{
"name": "get_promotion_schema",
"arguments": {
"section": "content"
}
}
Create, edit & duplicate
create_promotion_draft
Create a promotion with name, schedule, and idempotency_key. Optionally provide structured operations discovered from the schema.
Set type to giveaway, contest, form, instant_win, purchase, or survey. An explicit type is required; sweepstakes and purchase_rewards are accepted aliases. Account capabilities list the currently available types.
If your connector still shows the old giveaway-only tool with no type parameter, add this as the first creation operation. The existing operations input supports it:
[{"section":"content","action":"set","values":{"type":"survey"}}]
Replace survey with the intended available type. If both forms of type selection are sent, they must agree. Missing or conflicting types fail without creating a promotion. This operation applies only during creation; it cannot change an existing promotion's type. Reauthorization alone may not refresh a connector's saved tool definitions.
Surveys start with a question and CAPTCHA, with no email or other contact identifier. Contact fields are optional and can be removed before the first real response; after that, questions are locked. Forms retain their existing identifier requirement. Purchase integration and instant-win allocation require dashboard setup and are not copied by MCP duplication.
Create a customer feedback survey with no email field.
update_promotion_draft
Apply ordered changes with promotion_id, expected_revision, operations, and idempotency_key. Omitted settings are preserved. Applying a theme replaces all colors.
duplicate_promotion_draft
Copy supported configuration with a new name and schedule. Supply the source promotion_id, its expected_revision, and an idempotency_key. Participants, results, integrations, language variants, and sends are not copied.
get_operation_status
Duplication runs asynchronously. Poll using the returned job_id before working with the new promotion.
The _draft suffix is part of existing tool names. These tools use normal promotion availability, and edits can change public content immediately.
Schedules and retries
Use local dates in YYYY-MM-DD HH:MM:00 format with an IANA timezone. Revup includes the full final minute of the end time. Choose dates appropriate to your promotion; the example is illustrative.
Read the latest promotion revision before editing. For a retry after a timeout, keep the same idempotency key and identical arguments. Use a new key for a new operation. If the saved revision changed, read the promotion again and review the changes before retrying.
Successful requests can be replayed for seven days on the same connection, or until that connection expires, whichever comes first. Write responses include retry.expires_at_utc. After that window, the old key is rejected even after cleanup. Retry keys do not carry over when you reconnect: read the current promotion, operation or asset state before submitting another write to avoid repeating a completed action.
{
"name": "create_promotion_draft",
"arguments": {
"type": "giveaway",
"name": "Autumn giveaway",
"schedule": {
"start": "2026-10-01 09:00:00",
"end": "2026-10-31 17:00:00",
"timezone": "America/Los_Angeles"
},
"idempotency_key": "autumn-giveaway-001"
}
}
Use your images
list_assets
Find ready images in the connected account’s library. Use their stable asset IDs with supported image settings discovered through get_promotion_schema.
import_image
Import a user-supplied or client-generated image using a file descriptor containing download_url and file_id, plus an idempotency_key. Optional descriptor fields are mime_type and file_name. A local or sandbox file path is not a downloadable file descriptor.
Supported formats are PNG, JPEG, WebP, and GIF, up to 5 MiB and 40 million pixels. Revup imports supplied images; it does not generate them.
get_asset_status
Poll using asset_id until the image has completed processing before attaching it to a promotion. If your client cannot supply a downloadable file, upload through Revup’s account library and use list_assets.
Find ready images in my Revup account library. Show me the supported image slots for my giveaway and use the image I select.
Preview & check readiness
validate_promotion
Pass promotion_id to inspect saved configuration blockers and warnings. Validation is advisory: it does not repair settings or prevent public access.
preview_promotion
Pass promotion_id to retrieve the standard preview, public, and share links. The preview shows the latest saved promotion and marks submissions as tests.
Review the saved content, images, rules, dates, and timezone before sharing the public link. Public entries follow the normal schedule and entry rules. Closing your assistant does not pause the promotion.
Check this giveaway for readiness warnings. Show its preview and public link, and confirm when it will accept entries.
Read performance reports
get_promotion_report
Read aggregate metrics with promotion_id and a period containing start and end dates. Optionally add a comparison date range and a breakdown: device, source, campaign, or landing.
Reports include metric definitions, denominators, timezone, filters, and freshness limits. Participant counts, weighted entry chances, and counted completions are different metrics. Reports omit participant identities and raw URL paths.
Ask your assistant to separate observed changes from possible explanations. A conversion change or a comparison between sources does not establish its cause.
{
"name": "get_promotion_report",
"arguments": {
"promotion_id": 123,
"period": {
"start": "2026-10-01",
"end": "2026-10-31"
},
"breakdown": "source"
}
}
Troubleshooting
| Issue | Next step |
|---|---|
| Connection unavailable | Confirm the server URL and that your client supports remote Streamable HTTP and OAuth. If Revup reports it is unavailable, try again later or contact support. |
| Missing tools or permission denied | Check account capabilities, consented scopes, your account role, and promotion restrictions. Reconnect if you need different consent. |
| Expired or revoked connection | Let the client refresh its token or reconnect through OAuth sign-in. |
| Revision or state conflict | Read the current promotion and reconcile the intended edit before submitting a new operation. |
| Image or duplicate still processing | Check the relevant status tool. Do not repeatedly start a new import or duplication. |
| Rate limited | Wait before retrying. Avoid rapid polling and preserve the same key and payload when retrying writes. |
Tool discovery is the reference for the server version your client is connected to. Refresh it after an update. For help, contact Revup with the tool name and error message. Do not include tokens, passwords, or private download URLs.
Read the latest saved promotion and explain what changed before applying my edit again.