GhostEngine runs paid acquisition across Google, Meta, TikTok, and Reddit. The GhostEngine MCP server lets an AI agent operate GhostEngine for your organization: set up and launch campaigns, manage them while they run, and read the same performance, attribution, and incrementality reports you see in the dashboard.
It uses the Model Context Protocol, so it works with Claude, ChatGPT, and any client that supports remote MCP servers.
What you can do
| Area | What the agent can do |
|---|---|
| Account | Check your plan, billing cycle, trial state, and intended monthly budget. Get direct dashboard links for tasks you do yourself. |
| Integrations | See which ad platforms are connected. Create a secure link you open to connect Meta, TikTok, or Reddit. |
| Website and brand | Scan your website and read the brand profile GhostEngine uses for ad text and audiences. |
| Pixel and signals | Get the Smart Pixel install snippet, verify the install, read conversion events, set the conversion plan, and check server-side event forwarding health. |
| Targeting | Set target countries, language, and US regions. Generate audiences per channel and check their health. |
| Creative | See creative requirements per channel, list your assets, register assets from a URL, write and save ad text, confirm assets for launch, archive assets, and swap thumbnails on live Reddit ads. |
| Campaign setup and launch | Configure channels, budget, and flight dates. Run the launch readiness check (platform accounts, billing, budget minimums, creative coverage). Launch and follow launch status. |
| Live campaigns | Read live campaign and ad review status from each platform. Pause, resume, or archive a campaign. Pause or resume the whole flight. Adjust the total budget. |
| Performance | Performance reports by channel, campaign, and creative, with comparison to the previous period. |
| Attribution (TrueUp) | Compare what each platform claims against conversions GhostEngine verified with your pixel, per channel. |
| Incrementality | Status, results, and detail of holdout and geo tests. Results say whether there is enough data before a result is called. |
| Optimization | What each campaign optimizes for and what comes next, the budget decisions GhostEngine's engine made, and a dry run of the next budget decisions. |
| Wallet | Wallet balance and history. The wallet pays for Google Ads only. |
In Claude, the performance report, TrueUp report, incrementality detail, and campaign status open as interactive views.
API keys
- 1In the GhostEngine dashboard, open AI Agents and create a key.
- 2Choose its access level and daily spend cap.
- 3Send it as a bearer token: Authorization: Bearer gemcp_...
{
"mcpServers": {
"ghostengine": {
"url": "https://api.ghostengine.ai/api/v1/mcp",
"headers": {
"Authorization": "Bearer gemcp_..."
}
}
}
}The key is shown once. GhostEngine stores only a hash of it. Keys expire after 90 days by default, and you can set up to 365 days.
No account yet
An agent can start signup for you. It asks GhostEngine to email you an approval link. You open the link, create your account, accept the terms, choose a plan, set the agent's access level and daily cap, and add a card on a Stripe-hosted page. The agent gets access only after you approve.
Requirements
A GhostEngine account with an active plan or trial.
To launch: at least one connected channel, confirmed creative, and a budget that meets each platform's minimum for your flight length. The readiness check lists anything missing.
How ad accounts work
| Platform | Account | Who pays the platform |
|---|---|---|
| Meta | Your own connected ad account | You, directly |
| TikTok | Your own connected ad account | You, directly |
| Your own connected ad account | You, directly | |
| Google Ads | Managed by GhostEngine | GhostEngine, funded by your GhostEngine wallet |
You connect Meta, TikTok, and Reddit yourself through a link the agent creates. Google does not need a connection.
Safety and control
Access levels. Each connection has a set of permissions:
| Permission | Allows |
|---|---|
| Read | All reports, status, and setup reads. No changes. |
| Execute | Changes to setup, targeting, creative, and campaigns (pause, resume, archive, launch, budget). |
| Billing | Wallet top-ups. API keys only. |
When you sign in with OAuth, owners and admins get Read and Execute. Other members get Read only.
Confirmation. Every action that changes a live campaign or commits money requires explicit confirmation from the agent (confirm: true). Actions that commit money also need an idempotency key, so a retried request never runs twice.
Daily spend cap. Launching, resuming a flight, and raising the budget count against a daily cap set per connection. A connection with no cap cannot run these actions. New OAuth connections start with no cap; an owner or admin sets one under AI Agents in the dashboard.
Guardrails stay on. The agent goes through the same checks as the dashboard: launch readiness, platform budget minimums, flight end dates, and locks while an incrementality test is running. Archiving requires the campaign to be paused first.
Wallet top-ups. Not available through OAuth connectors such as Claude and ChatGPT. Top up in the dashboard, or with an API key that has Billing permission.
Rate limits. 60 requests per minute per connection. Repeated failed sign-ins from the same IP are blocked temporarily.
Audit log. Every tool call, successful or not, is logged with your organization and the connection that made it. Inputs are stored as a hash, not in raw form.
Data scope. A connection only sees its own organization. The organization is taken from the sign-in or key, never from the request.
Manage and revoke access
Open AI Agents in the GhostEngine dashboard to:
See every API key and connected OAuth client, with last-used time.
Change permissions or the daily spend cap.
Revoke a key or connection. It stops working immediately.
You can also remove the connector in Claude or ChatGPT. That stops the client from calling GhostEngine, but revoking in the dashboard is what ends the access on our side.
Example prompts
"Check whether my GhostEngine account is ready to launch and tell me what's missing."
"Set up a two-week campaign on Meta and Google with a $1,500 budget, then run the readiness check."
"Show this week's performance by channel compared with last week."
"Which platform over-claims conversions the most according to TrueUp?"
"Is my incrementality test showing lift yet, or is there not enough data?"
"Pause the TikTok campaign and tell me why the engine moved budget yesterday."
Troubleshooting
| Message | What to do |
|---|---|
| Authentication required | Sign in again, or check the API key is sent as Authorization: Bearer .... |
| payment_setup_pending | Your account has no active plan yet. Finish payment in the dashboard. |
| "no daily commit cap set" | Set a daily cap for this connection under AI Agents. |
| "exceeding the API key's daily cap" | Raise the cap under AI Agents, or wait until the next day. |
| Rate limit exceeded | Wait for the time in the Retry-After header. |
| Launch refused with blockers | Run the readiness check; it names each blocker and how to fix it. |