This is a remote server entry, so it takes a url rather than a command. There is no package to install and no API key field.
Authorise
The first tool call opens a browser window for the OAuth authorisation. Approve it once and the grant persists. The browser is the only place credentials are ever entered; nothing about your ad accounts lives in the config file or in Cursor's settings.
Restart Cursor and open the MCP settings
After saving the file, restart Cursor fully. Under Settings → MCP the mcp-ads entry should show a green status and a tool count. If the entry is missing, the file was not read; see Troubleshooting.
Trigger the sign-in
Ask the agent anything that needs a tool. Cursor opens a browser tab on mcp-ads.com where you sign in and approve the grant. Close the tab when it says you can return to the editor.
Verify it works
The first real tool call should come back with the platforms you have connected in the MCP Ads dashboard. If the list is empty, the server is reachable but no platform is connected yet; connect one from the dashboard and ask again.
Try this first
Using mcp-ads, list the platforms I have connected and
the accounts on each.
Where this helps
Checking campaign performance without leaving the editor
Building landing pages while reading the search terms that will point at them
Wiring up conversion tracking with the GA4 and GTM tools open beside the code
Editing a WordPress site from the same session that reads its Search Console data
Troubleshooting
The server is not listed after a restart: the config is in the wrong place or is not valid JSON. Check the file is at ~/.cursor/mcp.json (user level) or .cursor/mcp.json in the project root, and that there is no trailing comma after the last entry. Cursor reports a parse error only in its MCP log, not in a dialog.
The OAuth window never opens: a popup blocker or a browser that is not the system default. Cursor prints the authorisation URL in the MCP output panel; copy it into any browser and finish there.
"A server with this URL already exists": the same URL is defined at both the user and project level, or in two entries with different names. Keep one entry and remove the other, then restart.
The entry shows red or zero tools: the URL is wrong or the network blocks it. It must be exactly https://mcp-ads.com/mcp-slim with no trailing slash. On a corporate network, check that mcp-ads.com is reachable from a browser first.
Tools appear but every call fails with an authorisation error: the grant was revoked or expired. Remove the server entry, restart, add it back and approve the sign-in again.
A user-level file at ~/.cursor/mcp.json, or a project-level .cursor/mcp.json inside a repository. Cursor reads both; the user-level one applies everywhere.
Do I need to restart Cursor?
Yes. MCP servers are read at startup, so a running instance will not pick up a new entry.
Why is there no API key in the config?
Because MCP Ads authenticates with OAuth in the browser rather than a static key. The only value in the config is the server URL.
Ready to connect?
Start free, connect the platforms you use, and run your first workflow from Claude in minutes.