MCP
Connect an agent to Campaignly
Campaignly speaks the Model Context Protocol. Point the agent at one URL, sign in, and it can read the workspace you approve.
How to connect
The server lives at one address:
https://campaignly.net/api/mcp
Each client below adds ?profile=core, the curated set of tools for everyday campaign work. Use the URL shown for your client.
Connect from ChatGPT
https://campaignly.net/api/mcp?profile=core&platform=openai
- 1. In ChatGPT settings, open the connectors (apps) section and create a custom connector. Your plan or workspace may need developer mode turned on first.
- 2. Paste the URL above as the MCP server URL and choose OAuth sign-in.
- 3. Sign in to Campaignly when asked and approve the access you want to give.
Connect from Claude
https://campaignly.net/api/mcp?profile=core&platform=anthropic
- 1. In Claude, open Settings, then Connectors, and add a custom connector.
- 2. Paste the URL above.
- 3. Click Connect, sign in to Campaignly and approve the access you want to give.
Connect from Cursor
https://campaignly.net/api/mcp?profile=core
- 1. Add a server to your Cursor MCP settings (mcp.json) with this URL as its url.
- 2. Cursor opens the Campaignly sign-in the first time it connects. Approve the access you want to give.
Connect from Grok
https://campaignly.net/api/mcp?profile=core
- 1. Add Campaignly as a remote MCP server wherever your Grok setup accepts one, using the URL above.
- 2. Sign in to Campaignly when asked and approve the access you want to give.
What the tools do
Reading is always on. Every change needs a permission you tick on the consent screen, and edits are capped at 20 a day.
- Campaigns
- List campaigns, read a campaign's summary, performance, setup and checklist, and with the campaigns permission create campaigns and change their setup, goals and audiences. Nothing is ever published to Google or Meta from here.
- Creatives
- Read a campaign's creative brief and images, and with the creatives permission update the brief, propose image ideas and generate images.
- SEO and audits
- Tracked keywords and positions, competitors, keyword volume, local map rank, search visibility checks, audit results and Campaignly's suggestions.
- Google Ads, Search Console and Analytics
- Read-only account overviews, campaign rollups, keyword ideas, top search queries and site traffic from the Google accounts you connected.
- Reports and reviews
- KPI reports, workspace rollups, recent activity and Google reviews.
- Account
- Your workspace, team members, connected integrations, the KPI dictionary and the Campaignly feature list.
OAuth
Agents that support MCP OAuth discover the authorization server from the connect URL. You do not paste a client secret into the agent for the usual public-client flow.
- Dynamic client registration
- The agent registers itself. Public clients use token-endpoint auth method none. Confidential clients can use client_secret_basic or client_secret_post.
- PKCE
- S256 is the code challenge method. Plain is not accepted.
- Grants
- authorization_code to sign in, and refresh_token to stay connected. The only response type is code.
- Refresh tokens
- Ask for the offline_access scope. The authorization server advertises it for that purpose. It is not a data permission.
- Endpoints
- Register at https://campaignly.net/api/mcp/oauth/register, authorize at https://campaignly.net/api/mcp/oauth/authorize, and exchange the code at https://campaignly.net/api/mcp/oauth/token.
Scopes
These are the scopes the customer connection advertises. Reading the workspace is always on. Each other box is opt-in on the consent screen. Applying a change inside Google Ads, or starting a landing-page test there, only runs when that action is turned on for the workspace.
read
Read this workspace: campaigns, brands, clients, reports, audits and the rest of the account.
google_ads
Read connected Google Ads accounts
google_search_console
Read connected Search Console properties
google_analytics
Read connected GA4 properties
linkedin_ads
Read connected LinkedIn Ads accounts
write
Let your agent edit your business details (product categories, locations, website content, campaign strategy and goals)
creatives_write
Let your agent create, change and remove campaign creatives (images and the creative brief)
campaigns_write
Let your agent create campaigns and change their setup (budget, bidding, targeting, ad type, extensions, goals), send sign-off links and record sign-off
reviews_write
Let your agent draft, post and skip replies to your Google reviews
ads_write
Let your agent apply suggested fixes for campaign issues in your Google Ads account, and pause a property listing's running Google Ads and Meta campaigns
experiments_write
Let your agent start, pause and end landing page tests in your Google Ads account, and keep the winning page
seo_data
Let your agent look up keyword search volume, cost per click and difficulty (uses your daily keyword data allowance)
API key
A bearer API key is the alternative to OAuth. Create one under Account, then API Keys, and send it on every request to the same connect URL.
Authorization: Bearer clk_…
The key is shown once. Reading stays on; connected sources and each edit permission are separate boxes, and the edit boxes start unticked. You can hold up to five active keys, and you can rotate or revoke them on that page. The dashboard path is /dashboard/account/api-keys.
Example prompts
Paste one of these after the agent connects. They read what is already saved in Campaignly. They do not publish ads or spend money.
Prompt 1
List my campaigns and tell me the name, status and budget of each one.
Prompt 2
For my active campaign, summarize the last 30 days: spend, impressions, clicks, conversions, conversion value and return on ad spend.
Prompt 3
Compare weekdays with weekends on that campaign and say whether the daily spend looks even.
Prompt 4
Write a short client update, in plain language, from those results. Do not change the campaign.
Questions? Email support@campaignly.net or see the support page.
The Campaignly team