How to Manage Meta Ads from Cursor: The Full Workflow (2026)
You can run a Meta Ads account from Cursor: connect it over MCP, give the Agent a weekly loop of creative, frequency and budget checks, keep every change behind an approval, and let the outputs pile up in the repo. This guide is that loop, with the prompts, in the order we run it on accounts spending $20K–$150K a month. Where Cursor stops — unattended execution — an autopilot picks up. Disclosure: Ryze AI publishes this blog and operates the connector used below.
Built by our community of 2,000 marketers
Free skills and prompts for paid ads and SEO
Templates for Claude, ChatGPT and Perplexity.
Clients we work withClients we
work with








What you can manage from Cursor, at a glance
Everything below runs from the Agent panel once the account is connected. The right-hand column is the honest answer to the question people actually ask: yes, Cursor can change a Meta Ads account — but only through a write tool you approve.
| # | Area | What the Agent does | Connector tool | Changes the account? |
|---|---|---|---|---|
| 1 | Creative rotation | Flags fatigued ads, drafts the next five briefs, pauses the urgent ones | runRawInsights → runGraphWrite | Yes, with approval |
| 2 | Budgets by funnel stage | Classifies TOFU / MOFU / BOFU, moves budget to the stage that converts | runRawInsights → runGraphWrite | Yes, with approval |
| 3 | Placements | Finds placements whose spend share is twice their conversion share, excludes them | runRawInsights → runGraphWrite | Yes, with approval |
| 4 | Frequency and saturation | Audits ad sets against objective-specific caps, estimates wasted impressions | runRawInsights | No — diagnosis |
| 5 | Audiences | Refreshes stale lookalikes, expands interests, finds overlap | runRawInsights, runGraphRead | Yes, with approval (new ad sets) |
| 6 | Ad copy | Writes eight one-variable variants of the winning copy to a file | listCreatives, getCreative | No — you paste |
| 7 | Competitor research | Ad Library scan: format mix, hooks, refresh rate | searchAdLibrary | No |
| 8 | Reporting | Weekly digest, creative scorecard, audience insights — written to reports/ | getAccountSummary, runRawInsights | No |
Rows 1 to 3 are the management loop; rows 4 to 8 feed it. On Meta the loop is creative-led — the algorithm does the bidding, so the levers you actually pull are what runs, where it runs and how much it gets.
The short answer: add the Meta Ads MCP server to .cursor/mcp.json, install the 15 Cursor skills for Meta Ads, and run them on a weekly schedule — digest Monday, creative fatigue Tuesday, frequency and placements Wednesday, changes Thursday, scorecard Friday. Every change is proposed by the Agent and confirmed by you. If you want the changes to happen without you, that is an autopilot's job, not Cursor's. Setup details: how to connect Cursor to Meta Ads.
Step 1: connect the account (about 2 minutes)
Cursor reads MCP servers from .cursor/mcp.json in the project or ~/.cursor/mcp.json in your home directory. A remote server needs only a url. The managed Ryze AI connector is the fastest route because it authenticates with a sign-in and Meta authorization, needs no developer app, and holds no secrets in the file, so the config can be committed for the team.
Save the file and confirm the server
Open Cursor Settings → Tools & MCP. The ryze server shows its status and 12 Meta Ads tools (plus Google Ads, TikTok, GA4, Search Console and Shopify toolsets on the same URL). Toggle it on if it is grey.
Sign in and authorize Meta
Cursor opens the sign-in page in the browser. Connect Meta and tick the ad accounts and Pages the Agent should see in Meta's permission dialog. This uses the official Marketing API, so nothing runs on your personal profile and the account is not flagged for automation.
Add one rule
Create .cursor/rules/meta-ads.mdc with the facts every prompt needs: the ad account ID, the attribution window you report on (7-day click, 1-day view, or both), the conversion event that counts, the target CPA or ROAS, and three standing orders — never delete, always pause; never touch an ad set inside its learning phase; never apply a write without showing the list first.
Install the skills
Unzip the 15 SKILL.md files into .cursor/skills/ (Cursor also reads .claude/skills/). Restart. Each one is now a slash command: /creative-fatigue, /weekly-digest, /funnel-budget and so on.
Test with a read
Ask the Agent for a 30-day summary. Approve the getAccountSummary call when Cursor asks. If ROAS matches Ads Manager under the attribution window in your rule, you are connected.
Self-hosting is possible with an open-source Meta Ads MCP server as a stdio entry; it needs a reviewed Meta developer app and a long-lived token. The five routes are ranked in how to connect Cursor to Meta Ads.
Step 2: the weekly operating loop
Meta accounts fail gradually: creative decays, frequency creeps, one placement quietly eats a third of the budget. The defense is the same five checks every week, in the same order, with the results written down. Each row is one slash command and about ten minutes, most of it reading the output.
| Day | Job | Skill | Output file | Writes to the account? |
|---|---|---|---|---|
| Monday | Performance digest vs last week | /weekly-digest | reports/digest-{date}.md | No |
| Tuesday | Creative fatigue: CTR down >20% from peak, frequency >3 | /creative-fatigue | reports/fatigue-{date}.csv | Thursday, with approval |
| Wednesday | Frequency caps, CPM anomalies, placement money pits | /frequency-audit, /cpm-anomaly, /placement-analyzer | reports/diagnosis-{date}.md | No |
| Thursday | Apply: pause fatigued ads, move budget between funnel stages, exclude placements | /funnel-budget + runGraphWrite | changes/{date}.md | Yes, with approval |
| Friday | Creative scorecard and next-sprint briefs | /creative-scorecard, /creative-briefs | reports/scorecard-{date}.md, briefs/{date}.md | No |
| Monthly | Audience overlap, lookalike refresh, interest expansion, competitor Ad Library, ROAS by placement | /audience-overlap, /lookalike-refresh, /interest-expander, /competitor-ad-library, /roas-by-placement | reports/monthly-{month}.md | No |
Two things make the loop stick. The outputs are files, so Thursday's change run reads Tuesday's fatigue list rather than re-deriving it, and Friday's briefs feed the designers directly. And the changes/ folder is an audit trail: what was paused, what budget moved, why, and what CPA did afterwards — which is what you need when someone asks two weeks later why ROAS moved.
Step 3: diagnose — the three prompts that find the money
Run diagnostics before touching anything. On Meta the three that matter are creative fatigue, frequency and placements; between them they explain most CPA drift. These are the Tuesday and Wednesday jobs; the full skill files have the complete instructions.
Creative fatigue (Tuesday)
Frequency and CPM (Wednesday)
Placements (Wednesday)
State the attribution window in every reporting prompt or put it in the rule; it is the reason numbers do not match Ads Manager nine times out of ten. And read every diagnosis bottom-up: the ranked list is the headline, the evidence lines tell you whether the Agent reasoned from your numbers.
Step 4: optimize — ship changes with two approvals
Thursday is the only day the account changes. Three prompts, each of which ends with the Agent showing a list and waiting. Cursor asks before every MCP tool call; the connector's write tools are approval-gated on the server side as well. Both layers stay on, and nothing touches an ad set inside its learning phase.
Pause the fatigued ads
Move budget between funnel stages
Exclude the money-pit placements
Never allowlist runGraphWrite or runGraphDelete in Auto-review mode. Reads can run without a click. Writes should always show you the list. Deletes are permanent in Meta Ads, so the rule file says pause, never delete.
Get a free instant audit
Get a free, instant read on your paid ads or SEO — and fix it right away.
Paid ads audit
- Catch wasted spend & broad-match leaks
- Find account structure gaps
- Rank your quickest wins
- Spot PMax & brand-search overlap
- Check conversion-tracking health
- Benchmark CPC vs your industry
- Catch wasted spend & broad-match leaks
- Find account structure gaps
- Rank your quickest wins
- Spot PMax & brand-search overlap
- Check conversion-tracking health
- Benchmark CPC vs your industry
Free · no credit card · instant
SEO audit
- Find keyword & ranking gaps
- Catch technical SEO issues
- Rank your fastest wins
- Surface thin & duplicate pages
- Check indexing & crawl coverage
- Compare backlinks vs competitors
- Find keyword & ranking gaps
- Catch technical SEO issues
- Rank your fastest wins
- Surface thin & duplicate pages
- Check indexing & crawl coverage
- Compare backlinks vs competitors
Free · no credit card · instant
Ryze AI — Autonomous Marketing
Skip Thursday — let AI apply the changes 24/7
- ✓Every diagnostic in this loop, running continuously
- ✓Pauses fatigued ads and moves budget to winners
- ✓Flat $89/mo — never a percentage of spend
2,000+
Marketers
$500M+
Ad spend
23
Countries
Step 5: report — files the team actually reads
Reporting is where Cursor beats a chat assistant outright. The digest is a Markdown file in the repo, the creative scorecard is a CSV the design team can sort, the briefs are a page they can work from. The Monday and Friday jobs:
Weekly digest (Monday)
Creative scorecard (Friday)
Next-sprint briefs (Friday)
One habit worth building: ask the Agent to append a one-line result to changes/ two weeks after every Thursday change (“paused 4 fatigued ads 2026-09-04: account CTR +11%, CPA -8%”). That closes the loop and turns the folder into the account's memory.
Step 6: automate — what Cursor can schedule and what it cannot
The desktop app runs when you are in it. Three ways to make the loop run without you, in increasing order of hands-off.
Cloud Agents
Scheduled reads in the cloud
Put mcp.json and the skills in the project's .cursor/ folder (user-level config is not copied to Cloud Agents) and trigger the digest and fatigue skills on a schedule. Best for Monday and Friday reports; keep writes on the desktop where you approve them.
Agent-written scripts
Cron jobs you own
Ask the Agent to turn a skill into a Python script against the Meta Business SDK. Needs a reviewed developer app and a long-lived token, and there is no approval layer — scripts that mutate do so the moment they run.
An autopilot
Decides, applies, re-measures
Ryze AI's Paid Ads Autopilot runs the whole loop — creative rotation, budgets, placements, anomalies — 24/7 on the same account with an approval mode and a change log, at $89/month flat. Cursor stays the analysis and reporting layer on top.
Do nothing
The honest baseline
Ten minutes a day in Cursor with the loop above is already more attention than most Meta accounts get. Automate when the loop is boring, not before.
| Cursor + MCP | Autopilot (Ryze AI) | |
|---|---|---|
| Decides what to change | The Agent proposes, you decide | The agent decides within your guardrails |
| Applies the change | With your approval, Thursday | Continuously, approval mode optional |
| Runs unattended | Only reads, via Cloud Agents | Yes, 24/7 |
| Re-measures and adjusts | When you run the next skill | Automatically |
| Output | Files in your repo | Change log and reports in the app |
| Cost | Cursor plan + free connector | $89/month flat |
Guardrails that keep this safe
Every one of these came from a mistake we made or watched someone make. Put them in the rule file so every skill inherits them.
- Pause, never delete. Deletes are permanent in Meta Ads. The connector's delete tool only runs on an item-by-item approved list; the rule should say the Agent never asks for it.
- Respect the learning phase. No edits to an ad set within seven days of a significant change, or the reset costs more than the fix. Make the Agent check edit history before proposing.
- Show the list, then wait. Every write prompt ends with “wait for my approval”. Cursor's tool approval is the second gate; keep both.
- Cap single changes at 20%. Budgets move in steps. A 35% funnel shift is three Thursdays, not one.
- Name the attribution window. 7-day click vs 1-day view is the reason ROAS does not match Ads Manager. Put it in the rule.
- Log everything to changes/. Date, what, why, and the two-week result. This is the file that saves you in the next budget review.

Alex M.
VP Growth
Multi-Brand Ecommerce Group
We had five channels and five people each defending their own budget. Handing allocation to Ryze AI cut blended CAC 27% in a quarter — not because the bidding got smarter, but because money finally moved to whichever channel was winning that week.”
27%
Blended CAC reduction
5
Channels automated
12 weeks
To full autonomy
1,000+ marketers use Ryze





Automating hundreds of agencies





Cursor vs Claude vs Grok for running Meta Ads
All three connect to the same MCP server, so the data is identical. The difference is what happens to the output and where the work runs.
| Cursor | Claude | Grok | |
|---|---|---|---|
| Where it runs | Your editor, files in a repo | Chat, Projects, Cowork | Chat, X app, Grok Build |
| Skills | SKILL.md as slash commands | SKILL.md in Claude Code, Projects | Skills on grok.com, .md import |
| Scheduling | Cloud Agents (reads) | Cowork scheduled runs | Grok Build cron |
| Unique strength | Scorecards and briefs as files the design team works from | Deepest analysis, longest connector history | Native X search for how audiences react to ads |
| Best for | Teams that want an audit trail in Git | Marketers who live in chat | Creative research and social signals |
The practical answer for most teams is to pick the tool they already have open. If that is Cursor, this guide is the workflow; the same loop exists for Claude and for Grok. Running Google as well? The Google version of this workflow is how to manage Google Ads from Cursor.
Frequently asked questions
Can I manage Meta Ads from Cursor?
Yes. Connect the account through an MCP server in .cursor/mcp.json and the Agent can read insights with any breakdown, creatives and the Ad Library, draft briefs and copy, and pause ads, move budgets and exclude placements through approval-gated write tools. The managed Ryze AI connector needs only a sign-in and Meta authorization.
Can Cursor actually change my Meta Ads account?
Only through a write tool you approve. The managed connector exposes three — Graph writes for pausing, budgets and new ads, Graph deletes, and image uploads — each gated by your approval on the server side and by Cursor's own per-call tool approval. Keep both layers on and never allowlist writes in Auto-review mode.
Will running Meta Ads from Cursor get my account flagged?
No. Every route in this guide uses Meta's official Marketing API with proper permissions, which is the supported path. What gets accounts flagged is browser automation that mimics a human in Ads Manager. Nothing here runs on your personal profile.
What is the weekly workflow for running Meta Ads in Cursor?
Monday a performance digest, Tuesday a creative fatigue check that writes a replace-now list, Wednesday frequency, CPM and placement diagnosis, Thursday the changes — pause fatigued ads, move budget between funnel stages, exclude placements — with approvals, Friday a creative scorecard and next-sprint briefs. Monthly: audience overlap, lookalike refresh, interest expansion, competitor Ad Library and ROAS by placement.
Do I need to code to manage Meta Ads from Cursor?
No. The loop runs on skills — SKILL.md files invoked as slash commands — and plain-English prompts. The Agent writes any code it needs, such as a script to chart the scorecard. Coding becomes useful only if you want a cron job the Agent writes against the Meta Business SDK.
Can Cursor run the Meta Ads loop on a schedule?
Reads, yes: a Cloud Agent can run the digest and fatigue skills on a schedule if mcp.json and the skills are in the project's .cursor/ folder. Writes should stay on the desktop where you approve them. For unattended execution, an autopilot such as Ryze AI decides, applies and re-measures 24/7.
Is it safe to let the Cursor Agent touch a live account?
With guardrails, yes. Pause instead of delete (deletes are permanent), respect the seven-day learning phase, show every list before applying, cap single budget changes at 20%, name the attribution window in a rule, and log every change to a file. The connector enforces the delete rule; the rest belongs in .cursor/rules.
Which prompt should I run first?
Creative fatigue. It needs one tool call — ad-level insights for 14 days with a daily breakdown — and returns a replace-now list on the first run, which is the fastest CPA improvement available on Meta. Then the weekly digest, because it is the file the rest of the team will read.
How does Cursor compare to Claude for Meta Ads?
Same MCP server, same data. Claude is the stronger pure analyst and has the longer connector history; Cursor's edge is that every output is a file in a repo — fatigue lists, scorecards, briefs, change logs — with Git history the design team can work from. Teams that want an audit trail pick Cursor.
Can Cursor research competitors' Meta ads?
Yes, through a server with Ad Library search — the managed connector includes searchAdLibrary. Ask for a competitor's active ads in a country and the Agent summarizes count, format mix, repeated hooks and the longest-running creative, then files the brief in the repo for the next creative sprint.
What does it cost to manage Meta Ads from Cursor?
Your Cursor plan plus a free connector on the managed route. Self-hosting an open-source server is free but needs a reviewed Meta app. If you want execution without you in the loop, Ryze AI's Paid Ads Autopilot is $89/month flat at any spend level.
Where does an autopilot fit if I already run this loop in Cursor?
Underneath it. The autopilot handles the Thursday job continuously — creative rotation, budgets, placements, anomalies — with approval mode if you want it, and Cursor stays the diagnosis and reporting layer that writes the scorecard and the briefs. Most teams keep the Monday and Friday skills and retire Tuesday to Thursday.
Related guides
How to Connect Cursor to Meta Ads
The 2-minute mcp.json setup, five routes ranked.
15 Cursor Skills for Meta Ads
The SKILL.md files every step of this loop runs on.
How to Manage Google Ads from Cursor
The same weekly loop for search terms, bids and budgets.
Top 10 AI Tools for Meta Ads Management
When you want execution, not just analysis — the tools compared.
Ryze AI — Autonomous Marketing
Let AI run your Meta Ads
- ✓Connect your account in minutes
- ✓The agent decides, applies and re-measures 24/7
- ✓Approval mode if you want the final say
2,000+
Marketers
$500M+
Ad spend
23
Countries



