Tera Ads
by Teralabsx
README.md
# Tera Ads: Meta Ads MCP with approval, undo and real profit
Connect your Meta (Facebook and Instagram) ads and your Shopify store to Claude, ChatGPT, Cursor, VS Code or Claude Code, then ask in your own words. Your AI reads your live campaigns and your store's profit after returns. It can also pause ads, turn them on, change budgets and build new campaigns, within the limits below.
```
https://teraads.co/mcp
```
That address is the whole setup. It is a remote MCP server: you sign in on teraads.co, and there is nothing to install or host.
## Why Tera Ads
- **Approval before a change.** For each connection you choose whether your AI makes changes itself, asks you first, or only reads. With **Ask me first**, a change waits in Tera Ads until you approve it there, and your AI can't approve it for you.
- **Undo after it.** A pause, turn-on or budget change can be undone in Tera Ads for 7 days. Everything your AI creates starts paused and spends nothing until it is turned on.
- **Profit after returns, not only ROAS.** Answers come from your store's orders, returns, product cost, shipping, fees and refunds, minus your Meta and Google ad spend. Meta's attributed revenue is labelled as Meta's.
Changes go to Meta through Tera Ads' approved Meta app. Each change is checked against Meta first, made once, then read back.
## Set it up
You need a free [Tera Ads account](https://teraads.co/signup) with your Meta ad account connected. Connect Shopify too, so your AI can see store sales and profit. Only the business owner can connect an AI.
### Claude Code
```bash
claude mcp add --transport http tera-ads https://teraads.co/mcp
```
Start Claude Code, type `/mcp`, choose **tera-ads** and sign in to Tera Ads in your browser.
To add the server together with the [six skills](#skills) in this repo, install it as a plugin instead:
```bash
claude plugin marketplace add Teralabsx/meta-ads-mcp
```
```bash
claude plugin install tera-ads@tera-ads
```
### Claude (web and desktop)
1. In Claude, open **Customize**, then **Connectors**.
2. Choose **+ Add**, then **Add custom connector**. Name it Tera Ads, paste `https://teraads.co/mcp`, choose **Continue**, then **Add**.
3. Choose **Connect**, sign in to Tera Ads and pick the business to share.
4. In a chat, choose **+** at the lower left, then **Connectors**, and switch Tera Ads on.
On Team and Enterprise plans, an owner adds Tera Ads under Organization settings, then Connectors. Members then choose Connect.
### ChatGPT
1. In ChatGPT on the web, open **Settings**, then **Apps**.
2. Open **Advanced settings** and turn on **Developer mode**.
3. Choose **Create app**, name it Tera Ads, paste `https://teraads.co/mcp` and choose **OAuth** for authentication.
4. Sign in to Tera Ads and pick the business to share, then add Tera Ads to a chat from the **+** menu.
Developer mode needs a ChatGPT plan that includes it. In Business workspaces, an admin adds the app.
### Cursor
Add [`configs/cursor/mcp.json`](configs/cursor/mcp.json) to `~/.cursor/mcp.json` (every project) or `.cursor/mcp.json` (one project). When Cursor asks, sign in to Tera Ads in your browser.
### VS Code
Add [`configs/vscode/mcp.json`](configs/vscode/mcp.json) to `.vscode/mcp.json`, or run **MCP: Add Server** from the Command Palette. Start the server, sign in to Tera Ads, then switch Tera Ads on under **Configure Tools** in Chat.
## What you can ask
| Ask | What your AI looks up |
|---|---|
| "What was my profit after returns in the last 30 days?" | `get_profit` |
| "Meta says my ROAS is 3. What did my store actually make?" | `get_insights`, `get_profit` |
| "Which campaigns spent the most this week, and what did they bring in?" | `get_insights` |
| "Which ads spent money in the last 14 days without a sale?" | `get_insights` at ad level |
| "Pause those three ads." | `pause` |
| "Raise the budget of my best ad set by 20%." | `list_ad_sets`, `set_budget` |
| "Copy my best campaign as a paused draft." | `duplicate` |
| "Build a paused sales campaign for this product in the US and Canada." | `search_locations`, `list_pages`, `list_pixels`, `create_campaign`, `create_ad_set`, `create_ad` |
| "Write two new versions of my best ad's text." | `get_ad_creative`, `create_ad` |
| "What changed in my ads this week, and can I still undo it?" | `list_recent_changes` |
More in [docs/prompts.md](docs/prompts.md). Every tool is listed in [docs/tools.md](docs/tools.md).
## Skills
The Claude Code plugin adds six skills. Each one tells your AI which tools to use, in what order, and what to check first.
| Skill | What it does |
|---|---|
| [`profit-check`](skills/profit-check/SKILL.md) | Puts Meta's numbers next to your store's profit after returns |
| [`weekly-ads-review`](skills/weekly-ads-review/SKILL.md) | Compares this week with last week and suggests changes, without making any |
| [`pause-wasted-spend`](skills/pause-wasted-spend/SKILL.md) | Finds ads spending without sales and pauses the ones you pick |
| [`scale-a-winner`](skills/scale-a-winner/SKILL.md) | Raises a winner's budget in safe steps, or copies it as a paused draft |
| [`launch-paused-campaign`](skills/launch-paused-campaign/SKILL.md) | Builds a whole campaign, ad set and ad, all paused, for you to check |
| [`refresh-ad-copy`](skills/refresh-ad-copy/SKILL.md) | Writes new versions of a tired ad as paused ads beside it |
The skill files are plain Markdown, so you can read them or copy them into other assistants.
## Limits and safety
- **You set what your AI may do.** Make changes itself, ask you first, or only read. You can switch a connection between the first two at any time under AI connections in Tera Ads.
- **New things start paused.** Campaigns, ad sets, ads and copies spend nothing until something turns them on.
- **Budget steps are capped.** One change can at most triple a budget or cut it to a tenth.
- **Daily cap.** Assistants can make at most 50 changes a day to one business.
- **No delete tool.** Your AI can pause, but it can't delete anything.
- **Undo.** A pause, turn-on or budget change can be undone in Tera Ads for 7 days. New campaigns, ad sets, ads and copies can't be undone, but they start paused.
- **One business per connection.** A connection can't read another business, even one you also own.
- **Sign-in stays on teraads.co.** Sign-in uses OAuth 2.1 with PKCE. Tera Ads stores tokens only as one-way hashes. Access tokens last 1 hour, and a connection lasts 30 days.
- **Ad text is data.** Campaign names and ad text reach your AI as data, and Tera Ads tells it not to follow instructions inside them. To see every change before it happens, choose Ask me first.
The full detail is on the [security page](https://teraads.co/connect/security).
## Pricing
| Plan | Calls | Meta ad accounts | Price |
|---|---|---|---|
| Free | 30 a week | 1 | Free |
| Connect Pro | 3,000 a month | 3 | $15 a month (€13, £11), charged in your own currency |
Connect Pro is included with the Growth and Scale plans. A call is one lookup your AI makes in Tera Ads, and one question can take a few. At the limit, your AI gets a plain message with the reset time. Nothing is charged automatically. See [pricing](https://teraads.co/pricing).
## How it compares
If you only need your AI to read and change Meta ads, Meta's own ads MCP server is free. Tera Ads adds approval in Tera Ads before a change, a 7-day undo, and your store's profit after returns. Each comparison below has sources for every fact:
- [Tera Ads vs Meta's ads MCP server](https://teraads.co/compare/meta-ads-ai-connector)
- [Tera Ads vs Pipeboard](https://teraads.co/compare/pipeboard)
- [Tera Ads vs Adrails](https://teraads.co/compare/adrails)
- [Tera Ads vs Madgicx](https://teraads.co/compare/madgicx)
- [Tera Ads vs AdScale](https://teraads.co/compare/adscale)
- [All Meta ads MCP options](https://teraads.co/meta-ads-mcp)
## Questions
**Is the server's code in this repo?** No. Tera Ads runs the server at `https://teraads.co/mcp`. This repo holds the setup files, skills and docs, under the MIT licence.
**Does it work outside the US?** Yes. Tera Ads works worldwide, shows money in your store's own currency and charges in yours.
**Does my AI see customer details?** No. Store tools return totals only: no names, emails, addresses or order numbers.
**Does it cover Google Ads?** Profit after returns subtracts your Google ad spend too. Your AI can't read or change Google campaigns through Tera Ads yet.
**Is profit exact?** It is an estimate for the whole store, built from store orders at your margin setting. It is not split by campaign, and it is not cash in the bank.
## Links
- [Tera Ads](https://teraads.co)
- [Set up guide](https://teraads.co/connect)
- [Security](https://teraads.co/connect/security)
- [Privacy](https://teraads.co/privacy)
- [Terms](https://teraads.co/terms)
- MCP Registry name: `co.teraads/connect`
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues