Reddit Ads

السجل الرسمي التسويق والمبيعات

Reddit Ads MCP server: 31 read tools, 22 opt-in preview-first writes.

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

NPM package @getmcpads/reddit-ads-mcp-server
Claude Code
claude mcp add reddit-ads -e 'REDDIT_ADS_ACCESS_TOKEN=<your reddit_ads_access_token>' -e 'REDDIT_ADS_REFRESH_TOKEN=<your reddit_ads_refresh_token>' -e 'REDDIT_ADS_CLIENT_ID=<REDDIT_ADS_CLIENT_ID>' -e 'REDDIT_ADS_CLIENT_SECRET=<your reddit_ads_client_secret>' -e 'REDDIT_ADS_ACCOUNT_IDS=<REDDIT_ADS_ACCOUNT_IDS>' -e 'REDDIT_ADS_ENABLE_WRITES=<REDDIT_ADS_ENABLE_WRITES>' -e 'REDDIT_ADS_USER_AGENT=<REDDIT_ADS_USER_AGENT>' -- npx -y @getmcpads/reddit-ads-mcp-server@1.0.1
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "reddit-ads": {
            "command": "npx",
            "args": [
                "-y",
                "@getmcpads/reddit-ads-mcp-server@1.0.1"
            ],
            "env": {
                "REDDIT_ADS_ACCESS_TOKEN": "<your reddit_ads_access_token>",
                "REDDIT_ADS_REFRESH_TOKEN": "<your reddit_ads_refresh_token>",
                "REDDIT_ADS_CLIENT_ID": "<REDDIT_ADS_CLIENT_ID>",
                "REDDIT_ADS_CLIENT_SECRET": "<your reddit_ads_client_secret>",
                "REDDIT_ADS_ACCOUNT_IDS": "<REDDIT_ADS_ACCOUNT_IDS>",
                "REDDIT_ADS_ENABLE_WRITES": "<REDDIT_ADS_ENABLE_WRITES>",
                "REDDIT_ADS_USER_AGENT": "<REDDIT_ADS_USER_AGENT>"
            }
        }
    }
}

متغيرات البيئة

  • REDDIT_ADS_ACCESS_TOKEN سري Reddit OAuth access token with adsread. Optional when the refresh credentials are set.
  • REDDIT_ADS_REFRESH_TOKEN سري Permanent refresh token. With the app credentials, the server renews tokens in memory.
  • REDDIT_ADS_CLIENT_ID Client ID of your Reddit app, needed with the refresh token.
  • REDDIT_ADS_CLIENT_SECRET سري Secret of your Reddit app, needed with the refresh token.
  • REDDIT_ADS_ACCOUNT_IDS إلزامي Comma-separated Reddit ad account IDs (a2_...) the server may reach. Required even for reads.
  • REDDIT_ADS_ENABLE_WRITES true exposes 22 write tools, each previewing until confirm:true. Defaults to false.
  • REDDIT_ADS_USER_AGENT User-Agent sent to Reddit, ideally naming your app and Reddit username.

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. Reddit Ads MCP server
  2. What's new
  3. Install this release
  4. Configuration
  5. Safety and coverage
  6. Hosted option
  7. Development
  8. Tools
  9. License
  10. More from getmcpads

Reddit Ads MCP server

Bring your Reddit Ads accounts into your MCP client.

Read campaigns and reporting, inspect targeting and prepare changes for explicitly allowed ad accounts.

Watch the film · What's new · Install · Tool reference · Try hosted getmcpads

Play the 45-second film

The film shows hosted getmcpads with sample data. Its MCP Apps, from creative galleries and alerts to Google Sheets exports and bulk launches, belong to the hosted product. This repository provides the standalone native API tools.

31 read tools · 22 write tools, disabled by default.

Run locally with your own platform credentials and a client that supports stdio MCP, such as Claude Desktop, Claude Code or Cursor. Your requests go directly to the platform. For managed connections, including supported ChatGPT setups, use the hosted option.

What's new

v1.0.0: First standalone release · October 23, 2026

  • Port the native Reddit Ads API v3 tools of getmcpads with their names, schemas and ownership checks: 31 read tools and 22 write tools, plus two resources.
  • Validate write payloads locally against Reddit's own schemas, pinned on 2026-09-11.
  • Require an explicit ad account allowlist, default to read-only and preview every write. Campaigns, ad groups and ads are created paused.
  • Renew access tokens in memory from a refresh token, never on disk.
  • Use fixed Reddit hosts, no redirects, timeouts, bounded responses and credential redaction, without automatic write retries.
  • Require a Node.js release with the October 2026 security fixes and check Node 22, 24 and 26 in CI.
  • No hosted creative UI, alerts, exports or MCP Apps integrations.

Full changelog · All releases

Source synchronization: SOURCE_SYNC.md.

Upgrade notes

Requires Node.js 22.23.4, 24.22.1, 26.12.1 or a newer release of those lines. CI covers Node 22, 24 and 26, and the server prints a warning to stderr on an older runtime. Writes remain optional and require explicit confirmation. Hosted creative integrations and MCP Apps UI are outside this release.

Install this release

This is a GitHub source release. npm and MCP Registry versions are published separately. The commands below select this exact version; unpinned npx examples later in this document select the version currently available on npm.

git clone --branch v1.0.0 --depth 1 https://github.com/get-mcp-ads/reddit-ads-mcp-server.git
cd reddit-ads-mcp-server
npm ci
npm run build

Configure your MCP client to run node with the absolute path to dist/cli.js and the platform credentials documented below. Once the package is on npm, the same server runs with npx -y @getmcpads/reddit-ads-mcp-server. A Claude Desktop entry looks like this:

{
  "mcpServers": {
    "reddit-ads": {
      "command": "npx",
      "args": ["-y", "@getmcpads/reddit-ads-mcp-server"],
      "env": {
        "REDDIT_ADS_REFRESH_TOKEN": "your-refresh-token",
        "REDDIT_ADS_CLIENT_ID": "your-app-client-id",
        "REDDIT_ADS_CLIENT_SECRET": "your-app-secret",
        "REDDIT_ADS_ACCOUNT_IDS": "a2_abc123"
      }
    }
  }
}

Managed connection. Use Reddit Ads with hosted getmcpads. Connect your account, select the data your assistant may access and use the hosted MCP connection. See the site for current features and plans.

Configuration

Provide these environment variables through the client's secret configuration:

VariablePurpose
REDDIT_ADS_ACCESS_TOKENOAuth access token with adsread, and adsedit if you enable writes. Optional when the three refresh variables are set.
REDDIT_ADS_REFRESH_TOKENPermanent refresh token. With the two variables below, the server renews access tokens in memory.
REDDIT_ADS_CLIENT_IDClient ID of your Reddit app, needed with the refresh token.
REDDIT_ADS_CLIENT_SECRETSecret of your Reddit app, needed with the refresh token.
REDDIT_ADS_ACCOUNT_IDSRequired comma-separated ad account IDs, such as a2_abc123. Every other account is refused, for reads too.
REDDIT_ADS_ENABLE_WRITESDefaults to false. Only the exact value true exposes the 22 write tools.
REDDIT_ADS_USER_AGENTOptional. Reddit asks clients to identify themselves, for example node:my-ads-app:v1.0.0 (by /u/your_username).

Register a developer application and request Ads API access as described in Reddit's Ads API documentation. Then run Reddit's OAuth authorization code flow with the scopes adsread, plus adsedit only if you plan to enable writes, and duration=permanent to receive a refresh token. Reddit access tokens expire after about an hour. Give the refresh token and the app credentials for daily use; an access token alone works until it expires. This package accepts tokens. It does not run an OAuth browser flow and never writes a renewed token to disk. Reddit ad account IDs start with a2_; the business ID is a different value.

npm run doctor reports which variables are set, without printing any value, and whether your Node.js release carries the October 2026 security fixes. Run reddit_health_check as the first call: it reads the account, its business, currency and timezone.

Safety and coverage

Writes preview by default. Review the exact account, target and payload before repeating the call with confirm: true. Campaigns, ad groups and ads are created paused. Activation can spend advertising budget, and previews that set configured_status to ACTIVE say so with activationMaySpend. Do not retry a write automatically when its result is uncertain. Read the account and reconcile it first. The server retries only after an HTTP 401, once, when it renewed the token, because Reddit rejected that request before acting on it. The account allowlist applies before every request. Each entity read is checked against the ad account, directly or through its profile, business or catalog. Before a confirmed write, the campaigns, ad groups, posts, audiences, pixels, product sets, profiles and assets it references are checked the same way. Write payloads are validated against Reddit's schemas pinned on 2026-09-11. Billing fields and computed statuses are refused. Passing local validation is not provider acceptance. Budgets, bids and SPEND are microcurrency: one millionth of the account currency. Other reporting fields keep their native units. Pagination cursors are Reddit's own page tokens.

Requests go only to ads-api.reddit.com and, for token renewal, www.reddit.com. No request follows a redirect. Each one has a timeout and a response size limit. Credentials are redacted from every result and error. Media URLs that Reddit returns are passed on as data. This server never downloads them.

Some Reddit capabilities are intentionally not exposed:

  • Customer-list member uploads and conversion event injection.
  • Lead submissions and any other download of personal records. Lead forms are readable as configuration only.
  • Product feeds, billing and funding instruments.
  • Destructive deletes. Status updates accept PAUSED and ACTIVE only, and saved audiences cannot be set to DELETED.
  • Onsite lead-form creation, which Reddit ended on September 21, 2026.

This server exposes a reviewed subset of the Reddit Ads API. It does not automatically expose new upstream endpoints. Hosted creative galleries, alerts, exports and MCP Apps UI are excluded. Use tools/list or server-card.json for exact schemas, reddit_get_write_schema for the pinned write schemas and Reddit's API reference for provider details.

Hosted option

getmcpads for Reddit Ads manages the hosted connection and account selection. Hosted and source releases can differ. Contact: hello@getmcpads.com.

Development

npm run typecheck
npm run lint
npm run build
npm test
npm run catalog

All tests run offline with synthetic responses. No live account is changed.

Tools

Every tool is listed below. See server-card.json for complete parameter and output schemas.

31 read tools

ToolPurpose
reddit_get_setup_guideCoverage, prerequisites, units, renaming and known limits of this server
reddit_get_write_schemaPinned native schema for one write operation, including targeting and formats
reddit_get_reporting_schemaEvery reporting metric and breakdown name Reddit accepts
reddit_health_checkRead the allowed ad account, its business, currency and timezone
reddit_get_campaignsList campaigns with native configuration and status
reddit_get_campaignRead one campaign after checking its account
reddit_get_ad_groupsList ad groups with native configuration and status
reddit_get_ad_groupRead one ad group after checking its account
reddit_get_adsList ads with native configuration and status
reddit_get_adRead one ad after checking its account
reddit_get_saved_audiencesList saved audiences
reddit_get_saved_audienceRead one saved audience after checking its account
reddit_get_custom_audiencesList custom audiences
reddit_get_custom_audienceRead one custom audience after checking its account
reddit_get_lead_gen_formsList lead form configurations, never lead submissions
reddit_get_lead_formRead one lead form configuration after checking its account
reddit_get_targetingRead the configured targeting of an ad group
reddit_get_targeting_optionsDiscover valid geolocations, languages, interests, devices, carriers and communities
reddit_get_profilesList profiles attached to the ad account
reddit_get_pixelsList pixels available to the ad account
reddit_get_insightsRun a native report with metrics, up to three breakdowns, UTC dates and pagination
reddit_get_creative_assetsList the asset library of an attached profile
reddit_get_postsList structured posts of an attached profile
reddit_get_postRead one structured post after checking its profile
reddit_get_asset_uploadsPoll the processing of creative asset imports
reddit_get_post_jobPoll a structured post creation job with its signed receipt
reddit_list_ad_creativesResolve the images and videos behind ads, with explicit coverage
reddit_get_catalogsList product catalogs of the business that owns the ad account
reddit_get_productsList products of an owned catalog
reddit_get_product_setsList product sets of an owned catalog
reddit_get_catalog_importsList catalog imports of an owned catalog

22 write tools

Disabled by default. Calls preview unless explicitly confirmed. Check the configuration and exact schema before use.

ToolPurpose
reddit_create_campaignCreate a campaign, always paused
reddit_update_campaignUpdate campaign fields, including pause or reactivation
reddit_create_ad_groupCreate an ad group, always paused
reddit_update_ad_groupUpdate ad group fields, including targeting, bids and status
reddit_create_adCreate an ad, always paused
reddit_update_adUpdate ad fields, including pause or reactivation
reddit_create_saved_audienceCreate a saved audience
reddit_update_saved_audienceUpdate a saved audience, without deletion
reddit_create_custom_audienceCreate a pixel, engagement or empty customer-list audience
reddit_upload_creative_assetsImport images, videos or headlines into a profile's asset library
reddit_create_postStart a structured post creation job and return its receipt
reddit_create_catalogCreate a product catalog for the owning business
reddit_create_product_setCreate a product set in an owned catalog
reddit_upsert_productsCreate or update products in an owned catalog
reddit_rename_campaignRename a campaign, nothing else
reddit_rename_ad_groupRename an ad group, nothing else
reddit_rename_adRename an ad, nothing else
reddit_rename_ad_accountRename the ad account, nothing else
reddit_update_postChange whether comments are allowed on a structured post
reddit_update_assetRename a creative asset
reddit_update_catalogUpdate a catalog's name or event sources
reddit_update_product_setUpdate a product set's name or filter
Resources
ResourceContent
reddit-ads://guideThe setup guide, also returned by reddit_get_setup_guide
reddit-ads://reporting-catalogEvery metric with its category and unit note, and every dimension with whether it is a breakdown

License

Apache License 2.0. See NOTICE.

More from getmcpads

Meta Ads · Google Ads · Google Analytics 4 · Google Search Console · TikTok Ads · Pinterest Ads · X Ads

Maintained by Emmanuel at getmcpads. Questions: hello@getmcpads.com.

الأسئلة الشائعة

ما هو Reddit Ads؟

Reddit Ads MCP server: 31 read tools, 22 opt-in preview-first writes.

كيف أثبّت Reddit Ads؟

يعمل على جهازك. في Claude Code: claude mcp add reddit-ads -e 'REDDIT_ADS_ACCESS_TOKEN=<your reddit_ads_access_token>' -e 'REDDIT_ADS_REFRESH_TOKEN=<your reddit_ads_refresh_token>' -e 'REDDIT_ADS_CLIENT_ID=<REDDIT_ADS_CLIENT_ID>' -e 'REDDIT_ADS_CLIENT_SECRET=<your reddit_ads_client_secret>' -e 'REDDIT_ADS_ACCOUNT_IDS=<REDDIT_ADS_ACCOUNT_IDS>' -e 'REDDIT_ADS_ENABLE_WRITES=<REDDIT_ADS_ENABLE_WRITES>' -e 'REDDIT_ADS_USER_AGENT=<REDDIT_ADS_USER_AGENT>' -- npx -y @getmcpads/reddit-ads-mcp-server@1.0.1. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج Reddit Ads إلى مفتاح API؟

نعم. يتطلب REDDIT_ADS_ACCESS_TOKEN, REDDIT_ADS_REFRESH_TOKEN, REDDIT_ADS_CLIENT_SECRET, REDDIT_ADS_ACCOUNT_IDS، وتضبطها في إعداداته.

هل Reddit Ads مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص Apache-2.0.

من يصون Reddit Ads؟

ينشره get-mcp-ads. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.