Reddit Ads MCP server
Reddit ad campaigns, ad groups, ads, creative and reporting through the Ads API v3.
- Tools
- 25
- Read-only
- 17
- Write
- 8
- Off by default
- Destructive
- 1
- Flagged distinctly
Reddit Ads through an assistant
Reddit reaches people inside the communities they already trust, and its Ads API v3 covers the same ground as the big platforms -- businesses, ad accounts, funding, campaigns, ad groups, ads, creative assets, audiences, catalogues and reporting. An assistant can check what a connection can actually do before it tries, which matters here because Reddit grants read and write permissions separately. Anything that creates or spends is opt-in, and a per-connection daily budget ceiling applies in micros, the unit Reddit bills in.
- Confirm which Reddit account a connection authenticates as, and what it was granted
- Read and write permissions reported separately, before a write is attempted
- Per-connection daily budget ceiling, expressed in Reddit's micros
- Automatic token refresh -- Reddit access tokens last one hour
- Campaign, ad group, ad, creative, audience and reporting coverage (in progress)
What people actually ask
Real questions, answered from live Reddit Ads data.
“Is my Reddit connection working, and can it create campaigns or only read?”
reddit_ads_whoami“Why did a Reddit tool just fail -- bad token or missing permission?”
reddit_ads_whoami“Which Reddit account am I advertising as, and is the connection still live?”
reddit_ads_whoami25 Reddit Ads tools
Grouped by what they touch. Every tool is individually toggleable — you expose only what you want.
Account
5 tools5 read-only · 0 writeShowing 5 of 5 tools
- reddit_ads_get_ad_accountRead-only
Read one Reddit ad account: its name, currency, type, time zone and owning business. Useful for confirming which account a campaign is about to be created in, and in which currency.
- reddit_ads_list_ad_accountsRead-only
List the ad accounts under a Reddit business, with their currency and type. The returned adAccountId is what every campaign, ad group, ad and report tool needs.
- reddit_ads_list_businessesRead-only
List the Reddit businesses this connection can reach. A business is the container that owns ad accounts, the way a Meta Business Portfolio owns Meta ad accounts. Start here, then list the ad accounts under the business you want.
- reddit_ads_list_funding_instrumentsRead-only
List how an ad account pays -- its funding instruments, credit limit, billable amount, and crucially whether each one can actually serve. A campaign needs a funding instrument attached (reddit_ads_update_campaign) or it delivers nothing and its ad groups report CAMPAIGN_NOT_FUNDED. An instrument with isServable false will not deliver even once attached. Check this first when diagnosing a campaign that runs but gets no impressions.
- reddit_ads_whoamiRead-only
Report what this Reddit connection can actually do: which Reddit account it authenticates as, which permissions were granted, whether it can refresh itself, and how much request quota is left. Call this first when a Reddit tool fails -- it separates a dead token from a missing permission, which look identical from a tool error.
Targeting
4 tools4 read-only · 0 writeShowing 4 of 4 tools
- reddit_ads_list_interestsRead-only
List Reddit's interest targeting taxonomy -- about 150 interests across 20 categories such as Technology & Computing, Sports and Food & Drink. Returns the interest ID, which is what reddit_ads_create_ad_group's `interests` parameter takes. Note this is the opposite of communities, which take a name rather than an id.
- reddit_ads_list_saved_audiencesRead-only
List the saved audiences in a Reddit ad account -- reusable targeting definitions of interests, communities, locations and devices. Reddit keeps these separate from custom audiences; Meta has no direct equivalent.
- reddit_ads_search_communitiesRead-only
Search Reddit communities (subreddits) to target, by keyword. Returns each community's NAME, which is what reddit_ads_create_ad_group's `communities` parameter takes -- not the t5_ id also shown, and not an r/ prefix, both of which Reddit rejects. Subscriber counts are included so you can tell a large community from a near-empty one of the same name.
- reddit_ads_search_geolocationsRead-only
Search the countries and regions Reddit can target, by name. Returns ids in the form reddit_ads_create_ad_group's `geolocations` parameter takes: a country code such as "US", or a country-region code such as "US-CA" for California. Both forms are accepted and can be mixed in one ad group.
Adgroup
3 tools1 read-only · 2 writeShowing 3 of 3 tools
- reddit_ads_create_ad_groupWrite
Create an ad group inside a Reddit campaign, with its targeting, budget and bid. The ad group is where targeting and bidding live -- Reddit's equivalent of a Meta ad set. Targeting is REQUIRED: an ad group without it delivers to every subreddit in every country, and Reddit accepts that silently. Set `communities` to target subreddits, which is the main reason to advertise on Reddit. Created PAUSED. Pass dryRun: true to validate and see the exact request without creating anything.
- reddit_ads_list_ad_groupsRead-only
List the ad groups in a Reddit ad account, with their bid, budget, schedule and targeting. An ad group is Reddit's equivalent of a Meta ad set -- it is where budget and targeting live, not on the campaign.
- reddit_ads_update_ad_groupWrite
Change an existing Reddit ad group: its daily budget, bid, name, schedule or targeting. Changing a budget is the most routine operation on a live campaign, and this is the tool for it. Only the fields you pass are touched. An ad group cannot be moved to a different campaign -- Reddit refuses that -- and status changes go through reddit_ads_update_status instead.
Campaign
3 tools1 read-only · 2 writeShowing 3 of 3 tools
- reddit_ads_create_campaignWrite
Create a Reddit ad campaign. It is always created PAUSED -- there is no parameter to make it live, because a tool that can start a spending campaign can spend money by accident. Activate it in Reddit Ads Manager, or with reddit_ads_update_campaign_status, once the ad groups and ads beneath it are right. Returns a campaignId for reddit_ads_create_ad_group.
- reddit_ads_list_campaignsRead-only
List the campaigns in a Reddit ad account, with their objective, status and configuration. The Reddit campaign is the same level as a Meta campaign: it holds ad groups, which hold ads.
- reddit_ads_update_campaignWrite
Change an existing Reddit campaign: attach the funding instrument that lets it spend, rename it, or set a lifetime spend cap. Attaching funding is the important one -- a campaign created without it activates without error and then delivers nothing, with its ad groups reporting CAMPAIGN_NOT_FUNDED. A campaign's objective cannot be changed after creation; Reddit freezes it.
Creative
3 tools2 read-only · 1 writeShowing 3 of 3 tools
- reddit_ads_create_postWrite
Create the post a Reddit ad promotes -- the headline, body and image or video that people actually see. This is Reddit's equivalent of uploading creative to Meta, with one important difference: Reddit FETCHES the media from a URL you give it, rather than accepting an upload. Pass a fileId from servemcp_render_image or servemcp_request_upload and Serve MCP mints a short-lived signed URL for Reddit to collect, or pass a public mediaUrl directly. Returns a postId for reddit_ads_create_ad.
- reddit_ads_get_ad_previewRead-only
See what a Reddit ad actually looks like: its public post permalink, the image or video Reddit will render, the headline and body, the destination URL, plus its review status and any rejection reason. Reddit has no preview-image endpoint -- an ad is a promoted post, so the post's own permalink is the preview, and opening it shows exactly what a redditor sees. Accepts an adId, or a postId to inspect creative before any ad exists.
- reddit_ads_list_profilesRead-only
List the profiles an ad account can post as. A Reddit ad promotes a post, and posts belong to a profile rather than to the ad account -- so this is the first step in making creative, and the profileId it returns is what reddit_ads_create_post needs.
Ad
2 tools1 read-only · 1 writeShowing 2 of 2 tools
- reddit_ads_create_adWrite
Create an ad inside a Reddit ad group. Created PAUSED, with no parameter to make it live. A Reddit ad promotes a post rather than carrying its own creative, which is the main structural difference from a Meta ad.
- reddit_ads_list_adsRead-only
List the ads in a Reddit ad account, with the post each one promotes and its status. A Reddit ad points at a post rather than carrying its own creative, which is the main structural difference from a Meta ad.
Audience
1 tool1 read-only · 0 writeShowing 1 of 1 tools
- reddit_ads_list_custom_audiencesRead-only
List the custom audiences in a Reddit ad account -- uploaded customer lists, pixel-based retargeting and engagement audiences -- with their size and status.
More tools
4 tools2 read-only · 2 writeShowing 4 of 4 tools
- reddit_ads_delete_entityWriteDestructive
Remove a Reddit campaign, ad group or ad that Serve MCP created. Two modes, because Reddit treats them differently: mode "archive" stops delivery immediately, and mode "delete" removes the object but only once it has gone three hours without being modified -- Reddit refuses sooner with "an ad group that was modified less than three hours ago can not be deleted", and archiving counts as modifying it. Refuses anything Serve MCP did not create itself, so work done in Ads Manager cannot be touched from here. Requires confirm: true.
- reddit_ads_get_reportRead-only
Pull performance for a Reddit ad account over a date range: impressions, clicks, spend, conversions and more, broken down however you ask. Reddit exposes 534 metric fields; the common ones are listed below. Spend is returned in MICROS of the account currency, so 1,500,000 is 1.50.
- reddit_ads_list_pixelsRead-only
List the conversion pixels on a Reddit ad account. Needed more often than it sounds: Reddit requires a conversionPixelId on most ad groups now, including ones that optimise for clicks rather than conversions, and refuses ad group creation without it.
- reddit_ads_update_statusWrite
Activate or pause a Reddit campaign, ad group or ad. This is the only tool that can make something live and start it spending, which is why it is separate from the create tools and requires confirm: true.
Every tool name and description, machine-readable: /llms-full.txt
You decide what it can touch
The same model applies to every connector, and it defaults closed.
Authorize once
Connect Reddit Ads through its own consent screen. Credentials are encrypted with AES-256-GCM and never returned by any API response or tool call.
Writes off by default
A new connection switches on a read-oriented default set only. Every write tool must be enabled deliberately before any client can call it.
Roles enforced server-side
READ, WRITE and ADMIN gate tool invocation on the server, not just in the UI. A READ member's token is refused any write tool.
Connect Reddit Ads in minutes
No infrastructure to run. Copy one URL and one token into your client.
- 1Create a free workspace and connect Reddit Ads.
- 2Choose which tools to expose — writes stay off until you enable them.
- 3Copy your MCP endpoint URL and bearer token.
- 4Paste them into Claude, Cursor, or any MCP client.
{
"mcpServers": {
"serve-mcp": {
"url": "https://servemcp.com/api/mcp/your-workspace",
"transport": "http",
"headers": {
"Authorization": "Bearer smcp_..."
}
}
}
}On Claude you paste one URL and sign in — no token to copy. See the setup guide for each client.
More in Advertising & Social
Meta (Facebook & Instagram)
Advertising & SocialFacebook Pages, Instagram and Meta Ads behind a single connection.
SocialBu
Advertising & SocialPlan, draft and publish across every social network, answer the inbox, and read the analytics -- with nothing posted until you say so.
Threads
Advertising & SocialAlso Meta's, but a separate app and a separate login -- so it gets its own connection.
Put Reddit Ads in front of your assistant
Free plan, no card required. Connect in minutes.