Reddit Ads MCP: Setup Guide and Tool Reference
Reddit is one of the few remaining ad platforms where the interface is genuinely the bottleneck. Subreddit-level targeting rewards operators who iterate quickly, and iterating quickly through Reddit Ads Manager is not what anyone would call a pleasant afternoon.
Connecting Reddit Ads to an AI client through the Model Context Protocol is the obvious fix, and the first thing to know is that Reddit does not publish one itself. This guide covers what that means in practice, how to get access working for any MCP client, how to set up our native Reddit MCP, and what the tools actually do.
What Is a Reddit Ads MCP Server? (And Why Doesn't Reddit Build One?)
A Reddit Ads MCP server is a bridge that exposes Reddit's advertising API as tools an AI client such as Claude, Claude Code, or Cursor can call directly, so campaign work happens through natural language instead of the Ads Manager interface. The Model Context Protocol is the open standard defining how those tools are described and invoked.
Reddit's Ads API documentation describes its API rather than a first-party Ads MCP server. Third-party MCP integrations connect AI clients to that API; assess their permissions and supported operations individually.
What Reddit does maintain is a documented v3 Ads API, and that is the layer every MCP server in this space wraps. Whether a first-party server arrives later is not something the public documentation says either way.
The Third-Party Reddit Ads MCP Landscape
A handful of independent servers connect Reddit Ads to MCP clients. Rather than repeat tool counts and performance claims from vendor marketing, here is what the public directories actually document today, with our own server alongside for reference.
What they have in common
Every server in this space wraps Reddit's v3 Ads API, which is the only programmatic route into a Reddit ad account. None of them has privileged access, so the differences are in scope, access model, and who maintains the thing.
Where they differ
| Server | Operator | Directory classification | Documented access model | Scope |
|---|---|---|---|---|
| Synter Ads MCP | Our team | Official | Read and write, credit-metered per tool | Reddit alongside 26 other ad platforms |
| Reddit Ads (mharnett) | Community maintainer | Community | Campaigns, ad groups, ads, reporting and audience targeting | Reddit only |
| Reddit Ads (mkerchenski) | Community maintainer | Community | Read-only: lists accounts, campaigns, ad groups and ads, pulls reports | Reddit only |
Listings verified on the PulseMCP directory, 5 September 2026. Directory metadata is not a maintained tool reference, so read each server's own documentation before connecting anything.
Access model is the distinction that matters most. A read-only server exposes reporting and cannot change anything. A read-and-write server can spend your money. Establish which one you are installing before you connect a production ad account, because that difference sets the ceiling on what a mistaken prompt can do.
Scope is the second one. A dedicated Reddit server covers Reddit. A multi-platform server covers Reddit alongside other channels, which matters if the question you want to ask is how Reddit is performing relative to LinkedIn. If Reddit is your only paid channel, a dedicated server is a reasonable choice. If Reddit is one of several, a single connection across all of them is usually worth more than extra Reddit-specific tools.
Who operates the server is the third. A remote MCP server sits between your AI client and your ad account, so it sees your campaign data and, with write access, holds authority to spend. Accepting that from a vendor with a support channel and a published security posture is a different proposition from accepting it from an unmaintained side project. The protocol makes no distinction between the two, so you have to. The directory classification above is a starting point, not a substitute for that check.
The setup method is a reasonable proxy for maintenance. A server you clone and run locally puts upgrades, uptime, and credential storage on you; a hosted one asks you to trust the host instead.
Setting Up Reddit Ads Access for Any MCP Client
Whichever server you choose, the access mechanics are similar. Work through this checklist before you install anything.
Prerequisites. A Reddit Ads account, a business manager if several people or several accounts are involved, and a funding instrument attached, because an ad account with no payment method will accept campaign objects and never serve them. Reddit's own campaign setup guide lists the account, the creative content, and the ad account ID as the things to have in hand first.
Authorize the Reddit connection through OAuth rather than sharing credentials. Reddit's Ads API uses OAuth 2.0, so a server should send you to Reddit to grant access rather than asking for a password. Any tool asking you to paste Reddit credentials into a chat window is doing something you should not accept.
Note that the MCP client's own authentication is a separate question. Connecting Reddit to a platform and authenticating your AI client to that platform are two different steps, and conflating them is the most common setup confusion in this whole category. Ours is API-key-only, for example: the Reddit connection runs through browser OAuth, while the client authenticates with a key.
Find your ad account ID. Reddit ad account identifiers carry an a2\\_ prefix, visible in Ads Manager URLs. Most connection problems at this stage are the wrong identifier rather than a broken integration, so confirm it before debugging anything else.
It also helps to hold Reddit's object model in mind, because it is not the straight nesting most platforms use. Reddit's documented v3 setup order is campaign, then ad group, then a post created on its own, and finally an ad that references both:
Ad account (a2\\_...)
└── Campaign objective, budget, schedule
└── Ad group targeting: subreddits, interests, geo
└── Ad references ad_group_id + post_id
Structured post ──────────────┘
(created separately, then promoted)
The step that surprises people coming from other platforms is the post. Creative on Reddit is a post object created in its own step, and the ad points at it. Comments are configurable rather than automatic, so whether a promoted post carries a thread depends on how it was set up, and promoted community posts carry their own additional limitations.
Setting Up Synter's Native Reddit Ads MCP
We expose Reddit Ads as one of 27 platforms behind a single MCP connection. Setup is three steps.
1. Connect the Reddit ad account. Authorization runs through OAuth in the browser, so no Reddit credentials pass through the client. Our Reddit Ads MCP page covers the connection and the entities it manages: campaigns, ad groups, ads and audiences.
2. Authenticate the client and add the server. This is the step most write-ups get wrong. The hosted server is API-key-only today, with no browser sign-in of its own, so the client sends an X-Synter-Key header (or a bearer token where that is all the client supports). Get the key from the Developer Portal, then register the server, which brings the whole platform set rather than Reddit alone:
claude mcp add synter-ads \\
- --transport http \\
https://mcp.syntermedia.ai \\
- --header "X-Synter-Key: syn_your_api_key_here"
Our MCP configuration reference carries the equivalent setup for Claude Desktop, ChatGPT, Cursor, Codex, Amp, and Windsurf. Keep the key in an environment variable rather than a config file you might commit.
3. Verify with a read before you write. Ask for last month's Reddit spend by campaign and compare it with Ads Manager. Our standard performance reads cost 2 credits ($0.05), drawn against available credits, with additional usage metered. Review our pricing before scheduling repeated pulls.
The reason to start with a read is not caution for its own sake. A mismatched account ID produces plausible-looking output from the wrong account, and catching that on a report is much better than catching it on a campaign.
Reddit Ads MCP Tool Reference
These are the Reddit-relevant tools in our current hosted manifest, verified against our tool reference on 5 September 2026. Costs are quoted in credits, and we price a credit at $0.025.
| Tool | Type | Cost | What it does | Key parameters |
|---|---|---|---|---|
| reddit\\_ads\\_create\\_ad | write | 5 credits | Creates a Reddit ad from an existing post in an ad group | ad\\_group\\_id, post\\_id required; name, click\\_url, status, campaign\\_name, account\\_name |
| pull\\_reddit\\_ads\\_performance | read | 2 credits | Impressions, clicks, spend, and conversions per campaign | date\\_range preset, or start\\_date/end\\_date, or days; account\\_name |
| list\\_audiences | read | 2 credits | Lists existing audiences on a platform, Reddit included | platform required; account\\_id |
| build\\_lookalike\\_audience | write | 10 credits | Builds a lookalike from a seed; confirm destination support before use | seed\\_audience, platform required; expansion\\_factor |
| enable\\_campaign | write | 2 credits | Resumes a paused campaign on a supported platform, including Reddit | platform and campaign\\_id required |
| get\\_credit\\_balance | read | free | Checks your balance and current pricing | none |
Check the required parameters and destination support before executing a write:
reddit_ads_create_ad does not set targeting. It takes an ad group and a post and creates the ad that joins them. Subreddit targeting lives on the ad group, one level up, which follows Reddit's own object model rather than our choice. Its status defaults to PAUSED, which is a sensible default for an agent-created object, and click_url is rejected on free-form text posts because only link posts carry one.
A tool without a published price still bills. Our rate limits and credits page says an unpriced tool fails closed to a conservative 10-credit default rather than running free, and that some zero-cost reads are a configurable incentive rather than a permanent guarantee. Call get_credit_balance before and after anything expensive if the exact figure matters.
Alongside these sit the cross-platform tools, which is where a multi-platform server earns its place: budget, reporting and audience operations spanning Reddit and everything else connected, so one request can compare or rebalance across channels.
Every write runs through the same harness as any other action. Spend limits cap the account and campaign and are evaluated before the platform call. Human sign-off applies where the workspace or campaign is configured as review-required, since our security and governance page documents auto-pilot and review-required modes rather than universal approval. The action is then logged with who, what, when, and on which account, and the Reddit MCP page describes the same loop as recording "what changed" and "why," with rollback available.
Subreddit Targeting and Reddit-Native Ad Formats
Two things make Reddit different from every other platform an agent might operate, and both matter more than tool syntax.
Community targeting is not interest targeting. Choosing r/devops is a statement about where a conversation happens, not an inference about what a user likes. That makes targeting legible in a way interest categories are not: you can read the subreddit and judge whether your offer belongs there. It also makes it unforgiving, because a mismatch is obvious to the audience rather than invisible in a targeting panel.
Ads are posts, and posts get replied to. A promoted post carries a comment thread, and the community will treat it as a post. Copy written in the register of a LinkedIn ad reliably underperforms and occasionally attracts a response nobody wanted. This is the one place where handing generation to an agent needs a human check, because tone here is a judgment about a specific community rather than a general style rule.
Formats follow from that. Reddit's v3 setup guide documents image, video, carousel, free-form text, and promoted community posts as the post types you create before building an ad, and ads themselves come in standard and catalog sales variants, which is where product and shopping campaigns live. Lead generation runs through its own ad group objective rather than a distinct post type. The right format is usually whichever a person would have posted anyway. Our Reddit Ads guide covers format selection and subreddit research in more depth than an MCP setup guide should.
Choosing the Right Reddit Ads MCP for Your Stack
The decision comes down to one question: is Reddit the channel, or one of the channels?
If Reddit is where your paid program lives, a dedicated server with deep Reddit-specific tooling is a sensible choice, and the independent options in this space are competent. If Reddit sits alongside search, paid social and everything else, the value is in a single connection that reaches all of them, because the questions worth asking an agent are usually comparative.
If you are connecting other platforms the same way, the Google Ads MCP comparison covers the same decision on that channel, and pricing and platform coverage covers what a multi-platform connection costs once it is doing more than reading.
To set Reddit up specifically, start at our Reddit Ads AI agent page, connect the account, and run a read before you grant anything the authority to spend.
Contact our team to discuss your Reddit advertising workflow.
Common Setup Issues (FAQ)
The server connects but returns no data. Check the ad account first. Confirm the a2\\_ identifier from an Ads Manager URL, and if several Reddit accounts are connected, name the one you mean rather than relying on a default.
OAuth completes, but calls are rejected. Check that the authorizing Reddit user holds the permission the call needs on that ad account, and separately that your MCP client is sending its own authentication. A Reddit connection that succeeded does not by itself authenticate the client to the platform in front of it.
Reports do not match Ads Manager. Check the date range and time zone before suspecting the integration. Reporting windows and attribution settings are the usual explanation.
A create call succeeds, but nothing appears. Look one level down from where you expected. A campaign with no ad group, or an ad group with no post to point an ad at, is a valid API state and an invisible campaign.
A create call fails on click_url. Free-form text posts do not carry one. Use a link post if the ad needs a destination URL.
Rate limits bite on bulk operations. Reddit assigns each endpoint to a group with a pooled quota, applied per authorized user of your application, and returns the current policy in RateLimit-Policy and RateLimit response headers. Read those headers and back off according to the window they state rather than retrying blindly, and design for 429 responses with exponential backoff. Reddit's own rate limiting guide also suggests staggering requests across accounts and backfilling outside peak hours.
Changes appear in the client but not in Ads Manager. Check whether the server you installed writes live or creates drafts, and separately whether the object is sitting in a paused state. Our create tool, for instance, defaults new ads to PAUSED.
How do I target specific subreddits? On the ad group, not the ad. Community targeting is an ad group setting, so a create-ad call that seems to ignore your subreddit list is usually working correctly against an ad group that was never targeted.
Which ad formats are supported? Image, video, carousel, free-form text and promoted community posts, promoted through standard or catalog sales ads. Pick the post type first, since the ad references it.
Does Reddit have an official MCP server?
No first-party Reddit Ads MCP appears in Reddit's current developer documentation as of September 2026. Every MCP server in this space, including ours, wraps the documented v3 Ads API.
Can I use Claude to manage Reddit ads?
Yes, through an MCP server connecting Claude to Reddit's Ads API. Whether Claude can change anything or only read depends on the server's access model, which is the first thing to establish before connecting a live account.
Is a Reddit Ads MCP safe to connect to a live ad account?
It depends on the controls rather than the protocol. Look for OAuth rather than credential sharing, a spend limit evaluated before the API call, approval on writes that change spend, and a log of what changed. A server offering write access without those is a risk regardless of how good its tooling is.
Do I need to be a developer to use this?
For setup, a little comfort with a config file, an API key, and a single install command. After that, no: the point of MCP is that operating the account happens in natural language rather than in code.