Cursor is the AI-first code editor most iOS developers already use to ship. With SearchAd AI's MCP server added to its config, the same agent that wrote your paywall flow can also draft the launch campaign, set the country-by-country bids, and (within your envelope) deploy. Two jobs, one window.
{
"mcpServers": {
"searchad": {
"url": "https://searchad.ai/mcp",
"headers": {
"Authorization": "Bearer ${SEARCHAD_KEY}"
}
}
}
}
Drop this into the Cursor MCP config, set SEARCHAD_KEY in your shell, reload. Composer chat picks up the new tools instantly.
Inside the SearchAd app, go to Settings → API access → New key. Pick a scope (read or read+write) and a daily envelope. Copy the sak_live_... string.
Cursor Settings → MCP → Add new MCP server. Name searchad, URL https://searchad.ai/mcp, Authorization header with the key. Or edit ~/.cursor/mcp.json directly.
Open Composer and prompt: "List my Apple Search Ads apps." If Cursor returns the catalog, you are wired. If not, check the MCP status indicator in Settings.
Most iOS developers running Apple Search Ads context-switch constantly: into Apple Search Ads Manager to set up the campaign, back into Xcode to debug a paywall, back into the browser to check ROAS. Cursor with SearchAd's MCP server collapses that loop. You can ask the same Composer that just wrote your StoreKit integration to draft a per-country launch plan with localized keywords, read it, and approve it without leaving the editor.
For solo indie devs this is the biggest workflow improvement Apple Search Ads has seen in years. For teams, the per-repo .cursor/mcp.json means every developer who clones the repo inherits the same growth tooling, scoped to whichever MCP key they have in their env.
"I just shipped the v2 paywall. Draft a launch campaign for the 11 tier-A countries, $20/day each, paused."
"What is my best-performing keyword in Japan over the last 30 days, and why?"
"Pause every keyword in my campaigns that has spent over $50 with zero installs in the last two weeks."
"Take my Germany campaign and propose a similar plan for Austria and Switzerland."
Open Cursor Settings → MCP → Add new MCP server. Name it searchad, set the URL to https://searchad.ai/mcp, and add an Authorization header with your SearchAd MCP key. Save and reload; the tools become available in any new Composer chat.
Cursor stores MCP servers in ~/.cursor/mcp.json (global) or .cursor/mcp.json inside the project (per-repo). The format matches the Claude Desktop schema. Edit the file directly or use the UI; either works.
Only inside the daily spending envelope you set on the MCP key. Anything outside that envelope returns ENVELOPE_EXCEEDED until you approve out-of-band. Cursor surfaces the response and you decide whether to retry with an envelope bump or an approval.
Yes. MCP tools are available in both. Composer chat lets you call them interactively; Agent mode can chain them as part of a multi-step task ("ship this feature and draft the launch campaign").
Do not commit the literal key. Use env var substitution (e.g. ${SEARCHAD_KEY}) and store the secret in your shell or a gitignored .env. Issuing a fresh key per developer is cheap and recommended.