How to run a giveaway with an AI agent
Updated 10 November 2026 · By the Vast team
An AI agent such as Claude Code, Claude, Cursor or Codex can draft a Vast giveaway for you, add the entry actions, check it's ready, and report entries once it's live. It connects to Vast's MCP server with an API key you create, and it can only do what that key allows. The agent drafts. You decide when the giveaway goes public.
Today, API keys for agents need a paid plan.
Vast is our product, so weigh that. Setup steps for other tools come from their own docs, checked on November 10, 2026. Vast details come from our help center, our public plugin repo and the code behind the agent API.
What MCP is
MCP, the Model Context Protocol, is an open standard for connecting AI apps to outside tools and data. The MCP docs compare it to "a USB-C port for AI applications." A service runs an MCP server that offers tools, such as "create a giveaway draft," and your agent app is the client that calls them when you ask. Vast's server lives at https://general.vast.gg/mcp and speaks Streamable HTTP. Every request carries your API key, so the server knows whose giveaways the agent can touch and what it's allowed to do.
Before you start
You need two things: a Vast account on a paid plan, and an API key. Our plans guide compares the plans, and the plans page has current prices.
To create a key, open Settings, then Developer. Give the key a name, choose what it can do under Access, and choose when it expires: 7, 30, 90 or 365 days. Copy the key when it appears, because Vast only shows it once.
| Access option | What the agent can do | When you need it |
|---|---|---|
| Read giveaways | See your plan limits, your giveaways and the entry action types | To check limits and drafts (on by default) |
| Create and edit drafts | Create drafts, add entry actions, change drafts | To build a giveaway (on by default) |
| Publish giveaways | Publish a draft when you ask | Only if you want the agent to take it live |
| Entry stats | Read views, entrants, entries and completions per action | To report results |
| Winners | Read winners after the draw, as rank and masked username | To report winners, together with Entry stats |
Keep the key in an environment variable called VAST_API_KEY, and never paste it into a chat:
export VAST_API_KEY="vast_sk_..."Set up your agent
Pick the path that matches your tool. All of them end up talking to the same server.
Claude Code: the plugin (recommended)
claude plugin marketplace add Firstbloodio/vast-giveaways
claude plugin install vast-giveaways@vastThe plugin adds Vast's MCP server and a skill that walks the agent from draft to launch. Its server config reads the key from VAST_API_KEY, so set that before you start Claude Code. Anthropic's plugin docs cover install scopes and how to update or remove a plugin.
Cursor, Codex and other agents: the skill
npx skills add Firstbloodio/vast-giveawaysThis uses skills, an open-source command-line tool from Vercel. skills.sh lists Claude Code, Cursor, Codex, GitHub Copilot, Windsurf and Gemini among the agents it supports. The skill teaches your agent the steps and the rules. It doesn't connect to Vast by itself, so add the server too, as below.
The raw MCP config
For Claude Code without the plugin, one command adds the server:
claude mcp add --transport http vast https://general.vast.gg/mcp --header "Authorization: Bearer $VAST_API_KEY"Your shell fills in the key when you run it, so Claude Code saves the key in its own settings. To keep the key out of every file, use a project .mcp.json instead. Claude Code's MCP docs say it expands environment variables such as ${VAST_API_KEY} in that file:
{
"mcpServers": {
"vast": {
"type": "http",
"url": "https://general.vast.gg/mcp",
"headers": { "Authorization": "Bearer ${VAST_API_KEY}" }
}
}
}Cursor. Put the server in .cursor/mcp.json in your project, or ~/.cursor/mcp.json for every project. Cursor's MCP docs use ${env:NAME} for environment variables:
{
"mcpServers": {
"vast": {
"url": "https://general.vast.gg/mcp",
"headers": { "Authorization": "Bearer ${env:VAST_API_KEY}" }
}
}
}Codex. Add this to ~/.codex/config.toml. The Codex MCP docs say bearer_token_env_var names the variable that holds the token, and that the Codex CLI and IDE extension share this file:
[mcp_servers.vast]
url = "https://general.vast.gg/mcp"
bearer_token_env_var = "VAST_API_KEY"Claude (web and desktop). Add a custom connector with the server address. Anthropic's connector guide says the Request headers field takes "fixed credentials such as API keys," so add an Authorization header with the value Bearer and your key. Here Claude stores the key, not an environment variable. Claude's own Free plan allows one custom connector.
Any other MCP client that supports Streamable HTTP uses the same address and the same Authorization header.
To check that the key works before you involve an agent:
curl -H "Authorization: Bearer $VAST_API_KEY" https://general.vast.gg/agent/v1/meAn example prompt
"Draft a one-week giveaway for a $50 Steam gift card, two winners, starting Monday at 9:00 New York time. To enter, people follow @yourstudio on X, follow yourstudio on Twitch, and wishlist our game on Steam. Don't publish it yet."
Give the agent the prize and its value, the number of winners, the dates with a time zone, and the actions. If something is missing, the skill tells the agent to ask rather than make it up.
What the agent does, step by step
- Checks your plan with get_my_plan_limits: giveaways left this month, the prize and winner limits, and the key's access and expiry.
- Looks for duplicates with list_my_giveaways, so it doesn't draft a giveaway you already have.
- Reads the action list with list_action_types. It returns the entry actions a key can add, their fields, and the kinds you have to set up in the web editor. In the example, the X and Twitch follows are allowed and the Steam wishlist isn't.
- Creates the draft with create_giveaway_draft. It sends an idempotency key, so a retry returns the same draft instead of a second one. Drafts count toward your giveaways for the month.
- Adds and fixes with add_entry_actions, up to 10 actions per call, and update_giveaway_draft. Vast rewrites the official rules to match each change.
- Previews with preview_giveaway, fixes the problems it lists, and shows you a summary: title, prize, dates, actions, and links to the draft and the editor.
- Stops and waits. It publishes only when you say so, and only if the key has the Publish giveaways access.
- Reports results later with get_entry_stats: views, unique entrants, total entries and completions per action. With the Winners access, it also lists winners after the draw.
The skill ends every session with a short action plan of what's done and what only you can do. For the example prompt, it would look something like this:
- Done: draft "Win a $50 Steam gift card" is ready, with a link to preview it.
- Add the Steam wishlist action in the web editor, with a link to the editor.
- Add a cover image if the agent couldn't. A giveaway needs one before it can go live.
- Tell the agent "publish it" when you're happy, or publish from the editor.
What stays with you
- Publishing. The agent publishes only when you ask, with the Publish giveaways access and an explicit confirmation. Publishing makes the giveaway public, and the agent can't undo it. Leave that access off the key if you want to press the button yourself.
- Paying. The agent never pays for anything. Plan upgrades are yours, and if going live needs a payment, the agent gives you a checkout link to finish.
- Actions the web editor handles. A key can't add Steam, Discord, Telegram, Reddit, Patreon or Twitch channel points actions, email newsletter sign-ups, secret codes, surveys, custom actions or loyalty bonuses. The agent lists them for you to add in the editor and shouldn't swap in a different action.
- Changes after launch. Agents can only edit drafts. Once a giveaway is live, edit it in the web editor.
- Rules and prizes. Vast writes official rules from the giveaway's details. Read them before you publish, and add anything your platforms require, such as Twitch's disclaimer. Our rules guide lists what official rules need. You deliver the prizes.
Safety
- Scope the key. The defaults, Read giveaways and Create and edit drafts, let an agent build drafts and nothing more. Add other access only when you need it.
- Keep it short-lived. Pick the shortest expiry that fits. Keys also stop working when your paid plan ends.
- Revoke or rotate. In Settings, then Developer, Revoke stops a key at once, and Rotate replaces it, so the old key stops working. Both also revoke any keys that key created. You can have up to 10 active keys.
- Keep the key out of chats and code. Use VAST_API_KEY, a secret manager, or your tool's credential field.
- Entrant privacy. Agents can't see entrants' email addresses. Winners come back as a rank and a masked username.
- Text from other people. Titles, descriptions and key names come back marked as user-written content, and the skill tells the agent to treat them as data, not instructions.
- Trust the server. Anthropic's connector guide says to connect Claude only to servers "built and hosted by organizations and applications you trust." That goes for any agent.
Limits
| Limit | Today |
|---|---|
| Plan | Today, API keys for agents need a paid plan |
| Actions an agent can add | Log in to Vast, Visit a page, Follow on X, Repost on X, Visit a YouTube channel, Visit an Instagram profile, Visit a Facebook page, Follow on TikTok, Twitch, Kick or Bluesky, and Bonus |
| Actions per call | Up to 10 |
| Editing | Drafts only |
| Publishing | Up to 10 publishes an hour per account |
| Requests | 120 a minute per key, 300 a minute per account, and 30 changes a minute per key |
| Keys | Up to 10 active, each expiring after 7 to 365 days |
| Monthly giveaways | Drafts count, the same as in the web editor |
Checks work the same as in the web editor. Vast checks Twitch follows against the player's connected Twitch account. It doesn't check X, Discord or Kick actions automatically today, so look over winners before you announce them.
FAQ
Do I need a paid plan? Yes. Today, API keys for agents need a paid plan. Any paid plan works.
Can the agent publish without asking me? Publishing needs the Publish giveaways access and an explicit confirmation, and the skill tells the agent to publish only when you ask. To be certain, create the key without that access.
Can the agent add a Steam wishlist or Discord join action? Not today. It adds the actions a key supports and lists the rest for you to finish in the web editor.
Which agents work? Claude Code, Claude, Cursor and Codex, plus any MCP client that supports Streamable HTTP and lets you set an Authorization header.
Can the agent see who entered? It sees counts per action, not entrants' emails. With the Winners access, it sees winners as a rank and a masked username. You see winners' emails in Vast, so you can deliver prizes.
Create an API key and connect your agent in a few minutes. Read the setup steps
Sources
- What is the Model Context Protocol (MCP)? — definition and the USB-C comparison, checked 2026-11-10
- Claude Code: Install and manage plugins — marketplace add and plugin install commands, checked 2026-11-10
- Claude Code: MCP — HTTP servers with headers, .mcp.json and variable expansion, checked 2026-11-10
- Cursor: Model Context Protocol — config file locations, headers and ${env:NAME}, checked 2026-11-10
- Codex: Model Context Protocol — config.toml, url and bearer_token_env_var, checked 2026-11-10
- Claude: custom connectors using remote MCP — Request headers, plans and the trusted-servers warning, checked 2026-11-10
- skills.sh — the skills tool and the agents it lists, checked 2026-11-10
- Firstbloodio/vast-giveaways on GitHub — plugin, skill and server config, checked 2026-11-10
- Vast llms.txt — server address, flow and install commands, checked 2026-11-10
- Vast help center (Use Vast with AI agents) and the agent API code (tools, scopes, action list, limits) — Vast facts, checked 2026-11-10
More guides
- Discord giveaway bot vs giveaway platform: which to use: GiveawayBot, Carl-bot, MEE6 and Dyno run quick giveaways inside Discord. What a bot does well, what a giveaway platform adds, and which one to use when.
- Steam key giveaways: how to give away game keys safely: How game studios and creators give away Steam keys safely: Valve's key rules, bots and resellers, region locks, wishlist entries, key delivery and the rules.
- Vast plans compared: Free vs paid, Boost and Done for you: Vast's Free, Basic, Pro, Business and Enterprise plans side by side: giveaways, winners, prizes, features and prices, plus the Boost and Done for you add-ons.
- Best giveaway tools in 2026: Gleam, KingSumo and more: Compare Gleam, KingSumo, ViralSweep, RafflePress, ShortStack, SweepWidget and Vast: free plans, prices, entry actions, and which tool fits your giveaway.
- Giveaway rules template: what your official rules need: A free giveaway rules template plus a checklist of what official rules need: no purchase necessary, free entry, prize value, odds, and US, Canada and UK rules.
- How to get Steam wishlists before launch (indie guide): A practical plan for Steam wishlists before launch: when to post your page, demos, Next Fest, press, and how to run a wishlist giveaway within Steam's rules.
- How to run a giveaway on X, Discord, Twitch and Kick: Platform rules, setup checklists and common mistakes for running a giveaway on X (Twitter), Discord, Twitch and Kick, plus one way to run all four at once.