Adako — careful ad ops for AI agents
MCP serverEverything elseGoogle, Meta, ChatGPT, TikTok and LinkedIn Ads for AI agents. Every write needs your approval.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use Adako — careful ad ops for AI agents
From the project's README
As published by ruslan2027/adako-mcp in README.md.
アダコ · adako.ai
Adako is an MCP server and REST API that connects Claude, ChatGPT, Cursor and other assistants to Google Ads, Meta Ads, ChatGPT Ads, TikTok Ads and LinkedIn Ads.
https://adako.ai/mcp
Ask "how did my campaigns do last month?" and get an answer from the live account, in the account's own currency. Ask "raise that budget to 40 a day" and get a proposal you approve before anything moves. Created campaigns are always paused.
This repository holds the public pieces: the Agent Skills, per-client configuration, one-file installers, a Claude Code plugin, and the MCP Registry entry. The server itself is hosted.
What it can do
231 tools across five platforms, plus Adako's own.
| Platform | Tools | What they cover |
|---|---|---|
| Google Ads | 70 | Search and Performance Max, keywords and search terms, budgets and bid strategies, assets and extensions, conversion actions, labels, schedules, geo, hourly and device reports |
| Meta Ads | 43 | Campaigns, ad sets and ads, image, video, carousel and app-install launches, audiences and placements, pixels, lead forms, creative fatigue |
| LinkedIn Ads | 34 | Campaign groups and campaigns, image, video, carousel and text ads, B2B targeting, audience forecasts, conversion rules, engagement metrics |
| TikTok Ads | 30 | Campaigns, ad groups and in-feed video ads, Spark Ads, video metrics, identities, pixels, creative fatigue |
| ChatGPT Ads | 23 | Chat card campaigns end to end, account limits, pixels, review verdicts |
| Adako | 31 | Connections and usage, tool discovery, proposals, diagnostics, monitors, briefs and reports |
Your client does not see 231 entries. It sees 15 tools callable by name plus 7 routers
(google_ads, meta_ads, chatgpt_ads, tiktok_ads, linkedin_ads, monitoring,
diagnostics), and reaches the rest with
google_ads(action="execute", tool_name="…", arguments={...}). search_tools finds the right one
from your own wording, and it is free. See adako.ai/docs/routers.
TikTok Ads and LinkedIn Ads are available on request; write to support@adako.ai if you do not see them on the Connections page.
The safety model
Adako is built so that an assistant can be useful without being dangerous.
| Rule | What it means |
|---|---|
| Reads run immediately | Performance, structure, search terms, audiences. Nothing to approve. |
| Every write becomes a proposal | You see the object, the before and after values, and the daily cost before anything is sent. |
| Approval is yours | Confirm in the chat, or leave proposals in an inbox and approve them at adako.ai/approvals. Proposals expire after 48 hours. |
| Created objects are paused | Every campaign, ad set and ad Adako creates starts paused. You enable it yourself. |
| Almost nothing deletes | Eight tools remove something and each needs an explicit confirmation flag. Pause never routes to a delete. |
| Executed once | Each approved proposal carries an idempotency key. Approving twice reports the first result and repeats nothing. |
| Read-back on every write | The change is confirmed by reading the object back from the platform, not by trusting the response. |
| Tokens stay server-side | Your platform tokens are held encrypted by Adako and are never forwarded to the AI client. |
Details: adako.ai/docs/safety.
Install — five minutes
Two ways to authenticate:
- OAuth — the client opens a browser, you sign in to Adako once. Preferred everywhere it works.
- API key — create one at adako.ai/keys, send it as
Authorization: Bearer ak_live_…. Use it for clients that read a static config file.
Pick your client.
Claude.ai (custom connector)
Pro and Max: Settings → Connectors → Add custom connector. Paste the URL, click Add, then Connect and sign in.
Team and Enterprise: an owner adds it first under Organization settings → Connectors → Add, hovers Custom, chooses Web, and pastes the URL. Members then connect it from their own Settings → Connectors.
https://adako.ai/mcp
The number of custom connectors you can add depends on your Claude plan.
Claude Desktop
Same Connectors settings as Claude.ai — add the custom connector with the URL above, then sign in
when prompted. Desktop shares your Claude account, so a connector added on the web is available here
too. Full guide: clients/claude-desktop.md.
Claude Code
claude mcp add --transport http adako https://adako.ai/mcp
Then run /mcp inside a session and pick adako to sign in through the browser.
Add it once for every project with --scope user:
claude mcp add --transport http adako https://adako.ai/mcp --scope user
API-key variant, no browser step:
claude mcp add --transport http adako https://adako.ai/mcp \
--header "Authorization: Bearer ak_live_your_key"
There is also a plugin that installs the server, the skills, a setup command and an operator agent in one step:
/plugin marketplace add ruslan2027/adako-mcp
/plugin install adako@adako
/adako-setup
See clients/claude-code.md and plugin/.
ChatGPT (developer mode)
- Turn on Developer mode under Settings → Security & login, then open ChatGPT Plugins.
- Click +. Enter
Adakoas the connection name andhttps://adako.ai/mcpas the MCP server URL. Add a short description, choose the public endpoint connection option, and click Create. - Complete authorization if prompted.
- Start a new conversation, open the tools menu, and select Adako.
Full guide: clients/chatgpt.md.
Cursor
One command, idempotent, and it leaves your other servers alone:
node install/cursor.mjs # ~/.cursor/mcp.json
node install/cursor.mjs --project # .cursor/mcp.json in this repository
Or write the file yourself:
{
"mcpServers": {
"adako": {
"url": "https://adako.ai/mcp"
}
}
}
Full file: clients/cursor/mcp.json. Guide:
clients/cursor.md.
Codex CLI
codex mcp add adako --url https://adako.ai/mcp
codex mcp login adako
Or run the installer, which rewrites one table in ~/.codex/config.toml and leaves the rest of the
file untouched:
node install/codex.mjs # API key from $ADAKO_API_KEY
node install/codex.mjs --oauth # sign in with codex mcp login instead
Full file: clients/codex/config.toml. Guide:
clients/codex.md.
Windsurf
node install/windsurf.mjs
Or add the block by hand to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"adako": {
"serverUrl": "https://adako.ai/mcp"
}
}
}
Full file: clients/windsurf/mcp_config.json. Guide:
clients/windsurf.md. Untested — the configuration follows the documented
format, but Adako has not been verified in Windsurf yet.
Gemini CLI
~/.gemini/settings.json:
{
"mcpServers": {
"adako": {
"httpUrl": "https://adako.ai/mcp",
"headers": {
"Authorization": "Bearer ${ADAKO_API_KEY}"
}
}
}
}
An extension manifest is in clients/gemini-cli/gemini-extension.json.
Guide: clients/gemini-cli.md. Untested — the extension packaging has
not been run end to end against Adako yet.
VS Code (Copilot)
.vscode/mcp.json in a workspace, or your user mcp.json:
{
"servers": {
"adako": {
"type": "http",
"url": "https://adako.ai/mcp"
}
}
}
VS Code handles the OAuth flow. Full file with the API-key variant:
clients/vscode/mcp.json. Guide: clients/vscode.md.
Untested — configuration follows the documented format.
Perplexity
Add Adako as a connector in the desktop app: Settings → Connectors, then the URL above. Guide:
clients/perplexity.md. Untested — connector support depends on your
plan and app version.
Add the skills
skills/ holds eleven Agent Skills. adako is the operating procedure: the safety contract, the
tool-call contract, the tool map and the workflows. The others are focused: one per platform, one per
job.
| Skill | For |
|---|---|
adako | The operating procedure. Start here. |
google-ads, meta-ads, tiktok-ads, linkedin-ads, chatgpt-ads | One platform each: tools by job, rules, launch order |
launch | Creating a campaign safely on any platform |
performance-review | Answering "how are we doing" with numbers that hold up |
optimize | What to change after the review, and in what order |
creative | Copy limits and asset specs per platform, and the fatigue playbook |
monitoring | Monitors, alerts, briefs and reports |
- Claude Code — install the plugin, or copy
skills/into~/.claude/skills/. - claude.ai — upload
SKILL.md(the same file asskills/adako/SKILL.md) as a skill in settings. - Anything else — paste the contents into your system prompt or project instructions.
The server also ships short instructions on connect, so the skills are optional. They make long sessions noticeably steadier.
REST API and the command line
The same tools run over HTTP with an API key.
curl -X POST https://adako.ai/api/v1/tools/google_get_campaign_performance/execute \
-H "Authorization: Bearer ak_live_your_key" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"arguments": {"date_range": "last_30_days"}}'
GET /api/v1/tools lists every callable tool. GET /api/v1/openapi.json is the machine-readable
contract, which n8n, Zapier and Make can import. Full reference:
adako.ai/docs/api.
The adako command line wraps the same endpoints for scripts and coding agents:
npx @adako/cli login
npx @adako/cli google list-campaigns --customer-id 1234567890
npx @adako/cli meta get-campaign-performance --date-range last_30_days --raw
Its source is in cli/: plain ESM, no dependencies, Node 22 or newer. The published
package is @adako/cli on npm.
Connect your accounts
- Sign in at adako.ai.
- Open Connections and connect a platform. Google Ads, Meta Ads, TikTok Ads and LinkedIn Ads sign in through the platform; ChatGPT Ads takes an advertiser API key. You never hand a password or a token to your AI client.
- Turn on the accounts Adako may work on, and pick the primary for each platform.
- Back in your assistant, say "start here".
First prompts
Read-only, so nothing can move:
- "Start here."
- "Which ad accounts am I connected to?"
- "How did my Google campaigns do in the last 30 days compared with the 30 before?"
- "Find search terms that spent money and converted nothing last month."
- "Which Meta ad sets are spending without results this week?"
- "Break my best Meta ad set down by placement."
- "Which of my TikTok ads are showing creative fatigue?"
- "What did LinkedIn cost per lead last month, and which job titles did it reach?"
- "Run that wasted-spend check across all my active accounts."
Then, when you want a change:
- "Suggest ten negative keywords from that list and tell me what each one blocks."
- "Pause the campaign that spent the most with no conversions."
- "Raise the daily budget on Brand Search to 40."
- "Draft a paused Search campaign for {product} targeting {city}, 25 a day."
- "Alert me if CPA goes above 80 two days running, and send me a brief every Monday."
Every one of those ends with a proposal you approve or reject.
Pricing
Free includes 1 active ad account and 30 tasks a month. Pro ($49/month) covers 5 active accounts and 600 tasks, Agency ($149/month) 20 accounts and 5,000 tasks, and Enterprise is priced per contract. A task is one billed tool call; connection, usage, proposal, discovery, diagnostic and resolver tools are free. Monitors, scheduled briefs and generated reports need Pro or above. Details at adako.ai/pricing.
Docs
adako.ai/docs — quickstart, one page per client, one page per platform, the tool surface, workflows, monitors, the full tool reference and the REST API.
Support
support@adako.ai · security reports: see SECURITY.md · changes: see CHANGELOG.md
Licence
The skills and the client configurations in this repository are MIT — see LICENSE. The hosted Adako service is proprietary.
Advanced
- Delivery
- ads MCP server → your ahel gateway (mcp.ahel.ai) → every connected AI client.
- Catalog kind
- mcp-server
- Gateway key
ai-adako-ads- Source
- github.com/ruslan2027/adako-mcp
- Hosted endpoint
https://adako.ai/mcp