Reddit Ads logo
Advertising & Social
Live

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
What it does

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)
Ask your assistant

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_whoami
Tool catalogue

25 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 write

Showing 5 of 5 tools

  • reddit_ads_get_ad_account
    Read-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_accounts
    Read-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_businesses
    Read-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_instruments
    Read-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_whoami
    Read-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 write

Showing 4 of 4 tools

  • reddit_ads_list_interests
    Read-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_audiences
    Read-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_communities
    Read-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_geolocations
    Read-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 write

Showing 3 of 3 tools

  • reddit_ads_create_ad_group
    Write

    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_groups
    Read-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_group
    Write

    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 write

Showing 3 of 3 tools

  • reddit_ads_create_campaign
    Write

    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_campaigns
    Read-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_campaign
    Write

    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 write

Showing 3 of 3 tools

  • reddit_ads_create_post
    Write

    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_preview
    Read-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_profiles
    Read-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.

Audience

1 tool1 read-only · 0 write

Showing 1 of 1 tools

  • reddit_ads_list_custom_audiences
    Read-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 write

Showing 4 of 4 tools

  • reddit_ads_delete_entity
    Write
    Destructive

    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_report
    Read-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_pixels
    Read-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_status
    Write

    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

Access & safety

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.

Setup

Connect Reddit Ads in minutes

No infrastructure to run. Copy one URL and one token into your client.

  1. 1Create a free workspace and connect Reddit Ads.
  2. 2Choose which tools to expose — writes stay off until you enable them.
  3. 3Copy your MCP endpoint URL and bearer token.
  4. 4Paste them into Claude, Cursor, or any MCP client.
claude_desktop_config.json
{
  "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.

Put Reddit Ads in front of your assistant

Free plan, no card required. Connect in minutes.