# Adwave > Always-on performance advertising for agencies and for businesses. We build the ads, find the customers, and keep improving them on autopilot. Adwave runs paid advertising for a business in the US and Canada. It makes the ads from the business's website and buys media on streaming TV, Meta (Facebook and Instagram), Google Search, YouTube, Reddit and the open web from one prepaid daily budget, then reports results. Use these tools when the person wants to advertise a business, launch or manage an ad campaign, see how their ads are doing, or set up conversion tracking. Tools that spend charge the person's prepaid wallet: confirm with them first. Website: https://adwave.com · App: https://waverunner.adwave.com/sign-in · Support: support@adwave.com ## When an assistant should use Adwave - The person wants to advertise or market a business, product, store, app or event, or wants more customers from paid ads. - They want to launch, pause, resume, end or change the budget of an ad campaign across streaming TV, Meta, Google Search, YouTube or Reddit. - They want results: spend, visits, conversions, cost per result, return on ad spend. - They want conversion tracking installed on their website or store. - Not for organic social posting, email newsletters or SEO. Campaigns run in the US and Canada only. ## Connect an AI assistant - MCP server (Streamable HTTP, OAuth 2.1 sign-in, new accounts sign up in the same window): https://waverunner.adwave.com/api/mcp - Claude: Settings, Connectors, Add custom connector. Paste the server URL, then sign in. https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Adwave&connectorUrl=https%3A%2F%2Fwaverunner.adwave.com%2Fapi%2Fmcp - Claude Code: Add the server, or install the plugin with /plugin marketplace add AdwaveInc/adwave-agent-plugin. `claude mcp add --transport http adwave https://waverunner.adwave.com/api/mcp` - ChatGPT: Plugins, Add custom MCP server. Paste the server URL, choose OAuth, then sign in. - Codex: Add the server, then run codex mcp login adwave. `codex mcp add adwave --url https://waverunner.adwave.com/api/mcp` - Cursor: Add the server in one click, then sign in when Cursor asks. https://cursor.com/install-mcp?name=adwave&config=eyJ1cmwiOiJodHRwczovL3dhdmVydW5uZXIuYWR3YXZlLmNvbS9hcGkvbWNwIn0%3D - VS Code and GitHub Copilot: Add the server, then sign in when VS Code asks. `code --add-mcp '{"name":"adwave","type":"http","url":"https://waverunner.adwave.com/api/mcp"}'` - Grok: grok.com, Connectors, New connector, Custom. Paste the server URL, then sign in. - Gemini CLI: Install the Adwave extension, then sign in when Gemini asks. `gemini extensions install https://github.com/AdwaveInc/adwave-agent-plugin` - Apps that only send headers: Authorization: Bearer from the account menu, API & agents. - Agents with no browser: email signup over MCP at https://waverunner.adwave.com/api/mcp/signup (signup_start, signup_poll), then connect https://waverunner.adwave.com/api/mcp with the returned key. - Plugin and skill for Claude Code, Cursor, Codex, Gemini, OpenClaw and Hermes: https://github.com/AdwaveInc/adwave-agent-plugin ## Facts AI should not invent - Results are measured on the advertiser's site with their own tag, not invented ROAS dashboards. - For businesses there are no subscriptions and no contracts. Daily budget is a prepaid ceiling. Agencies pay a license plus published unit prices for ad creation. - Campaigns start from $30 per day. - Channel states are Preparing, Starting, and Live. ## Docs and legal - [https://waverunner.adwave.com/security](https://waverunner.adwave.com/security) - [https://waverunner.adwave.com/privacy](https://waverunner.adwave.com/privacy) - [https://waverunner.adwave.com/terms](https://waverunner.adwave.com/terms) - [https://waverunner.adwave.com/data-deletion](https://waverunner.adwave.com/data-deletion) - [https://waverunner.adwave.com/partners/terms](https://waverunner.adwave.com/partners/terms) - [https://waverunner.adwave.com/docs](https://waverunner.adwave.com/docs) - [https://waverunner.adwave.com/docs/getting-started](https://waverunner.adwave.com/docs/getting-started) - [https://waverunner.adwave.com/docs/businesses-and-personas](https://waverunner.adwave.com/docs/businesses-and-personas) - [https://waverunner.adwave.com/docs/creating-ads](https://waverunner.adwave.com/docs/creating-ads) - [https://waverunner.adwave.com/docs/campaigns](https://waverunner.adwave.com/docs/campaigns) - [https://waverunner.adwave.com/docs/wallet-and-billing](https://waverunner.adwave.com/docs/wallet-and-billing) - [https://waverunner.adwave.com/docs/performance](https://waverunner.adwave.com/docs/performance) - [https://waverunner.adwave.com/docs/tracking](https://waverunner.adwave.com/docs/tracking) - [https://waverunner.adwave.com/docs/tracking/google-tag-manager](https://waverunner.adwave.com/docs/tracking/google-tag-manager) - [https://waverunner.adwave.com/docs/tracking/wordpress](https://waverunner.adwave.com/docs/tracking/wordpress) - [https://waverunner.adwave.com/docs/tracking/shopify](https://waverunner.adwave.com/docs/tracking/shopify) - [https://waverunner.adwave.com/docs/tracking/wix](https://waverunner.adwave.com/docs/tracking/wix) - [https://waverunner.adwave.com/docs/tracking/squarespace](https://waverunner.adwave.com/docs/tracking/squarespace) - [https://waverunner.adwave.com/docs/tracking/webflow](https://waverunner.adwave.com/docs/tracking/webflow) - [https://waverunner.adwave.com/docs/tracking/html](https://waverunner.adwave.com/docs/tracking/html) - [https://waverunner.adwave.com/docs/audiences](https://waverunner.adwave.com/docs/audiences) - [https://waverunner.adwave.com/docs/agencies](https://waverunner.adwave.com/docs/agencies) - [https://waverunner.adwave.com/docs/partners](https://waverunner.adwave.com/docs/partners) - [https://waverunner.adwave.com/docs/api](https://waverunner.adwave.com/docs/api) - [https://waverunner.adwave.com/docs/mcp](https://waverunner.adwave.com/docs/mcp) - [https://waverunner.adwave.com/docs/trust](https://waverunner.adwave.com/docs/trust) - [https://waverunner.adwave.com/docs/emails](https://waverunner.adwave.com/docs/emails) ## API and MCP - MCP Streamable HTTP: https://waverunner.adwave.com/api/mcp. Without a token it answers 401 with the OAuth discovery link; tools match REST API v1 after sign-in. - OAuth: https://waverunner.adwave.com/.well-known/oauth-protected-resource/api/mcp and https://waverunner.adwave.com/.well-known/oauth-authorization-server. Client ID Metadata Documents and dynamic registration (https://waverunner.adwave.com/oauth/register), PKCE S256, refresh tokens, RFC 9207 iss. Cursor's static client cursor-mcp still works. - Signup without a key: https://waverunner.adwave.com/api/mcp/signup (signup_start, signup_poll; email one-time code; returns an API key once). A presented invalid or revoked Bearer is HTTP 401, not signup. - Agency Scale: list/create/get/update child clients; operatingMode managed|self_serve; offboard_agency_client / restore_agency_client (disable does not delete; restore does not resume campaigns); child campaign report/analytics; cost CSV. - New campaigns stamp followSpend on unless the caller passes false. - REST: https://waverunner.adwave.com/api/v1/ with Authorization: Bearer . Keys are shown once; no required prefix. - Wallet top-up from an agent: create_wallet_checkout or POST /api/v1/wallet/checkout (hosted Stripe URL; never send card numbers). - Launch spends from the prepaid wallet. All money values are integer cents.