原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Reddit Ads

作者:camlowe版本 0.5.5i★ –i在你的电脑上运行
注册名称io.github.camlowe/mcp-server-reddit-ads

安装

概览

作者提供的说明(英文原文)

Reddit Ads API v3: campaigns, ad groups, ads, reports, plus working writes with safety tiers.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 营销与社交媒体
  • 你需要填写:REDDIT_CLIENT_ID, REDDIT_CLIENT_SECRET, REDDIT_REFRESH_TOKEN

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: REDDIT_CLIENT_ID, REDDIT_CLIENT_SECRET, REDDIT_REFRESH_TOKEN, REDDIT_ADS_WRITE_TIER, REDDIT_ADS_ACCOUNT_ID

标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "reddit-ads": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-reddit-ads"
      ],
      "env": {
        "REDDIT_CLIENT_ID": "your-value",
        "REDDIT_CLIENT_SECRET": "your-value",
        "REDDIT_REFRESH_TOKEN": "your-value",
        "REDDIT_ADS_WRITE_TIER": "your-value",
        "REDDIT_ADS_ACCOUNT_ID": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add reddit-ads --env REDDIT_CLIENT_ID=your-value --env REDDIT_CLIENT_SECRET=your-value --env REDDIT_REFRESH_TOKEN=your-value --env REDDIT_ADS_WRITE_TIER=your-value --env REDDIT_ADS_ACCOUNT_ID=your-value -- npx -y mcp-server-reddit-ads

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "reddit-ads": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-reddit-ads"
      ],
      "env": {
        "REDDIT_CLIENT_ID": "your-value",
        "REDDIT_CLIENT_SECRET": "your-value",
        "REDDIT_REFRESH_TOKEN": "your-value",
        "REDDIT_ADS_WRITE_TIER": "your-value",
        "REDDIT_ADS_ACCOUNT_ID": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "reddit-ads": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-reddit-ads"
      ],
      "env": {
        "REDDIT_CLIENT_ID": "your-value",
        "REDDIT_CLIENT_SECRET": "your-value",
        "REDDIT_REFRESH_TOKEN": "your-value",
        "REDDIT_ADS_WRITE_TIER": "your-value",
        "REDDIT_ADS_ACCOUNT_ID": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • REDDIT_CLIENT_ID 机密 必填 env
    Reddit app client id (from the Ads developer portal)
  • REDDIT_CLIENT_SECRET 机密 必填 env
    Reddit app client secret
  • REDDIT_REFRESH_TOKEN 机密 必填 env
    OAuth refresh token (mint one with: npx mcp-server-reddit-ads auth)
  • REDDIT_ADS_WRITE_TIER env
    Write tier: read (default, no writes), safe, or spend
  • REDDIT_ADS_ACCOUNT_ID env
    Default ad account id (a2_...) for single-account use

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 camlowe 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“营销与社交媒体”中的其他服务器比较i

  • 星标数多于此分类中其他 3572 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 3572 个服务器的 20% 更新
  • 基础检查结果等于或优于此分类中其他 3572 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Reddit Ads 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:REDDIT_CLIENT_ID, REDDIT_CLIENT_SECRET, REDDIT_REFRESH_TOKEN

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.5.5)于3个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

MCP YouTube Transcript

作者:jkawamoto

An MCP server retrieving transcripts of YouTube videos

在你的电脑上运行★ 495MIT10天前更新
安装

Google Analytics MCP

作者:surendranb

GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.

在你的电脑上运行★ 244MIT10天前更新
安装

AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.

在云端运行★ 137MIT11天前更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

MCP Server for Reddit Ads (mcp-server-reddit-ads)

A Reddit Ads API v3 MCP server with working write operations and tiered safety controls, built and dogfooded by an actual Reddit advertiser. It gives an MCP client read access to campaigns, ad groups, ads, and performance reports, plus gated write tools for pausing, creating, budget and bid changes, targeting edits, and copying ads between ad groups.

Requirements

  • A Reddit Ads account, with business-admin access so you can register an app.
  • Node.js 20 or newer.
  • An MCP client (Claude Code, Claude Desktop, or any other).

Getting started

Pick the path that matches your setup: a paste-one-prompt route for Claude Code or Claude Desktop, or the manual steps for any other client. Every path installs read-only and cannot change anything in your account until you deliberately turn on writes (the last step).

Simple setup with Claude Code (recommended)

If you use Claude Code, let it do the mechanical work. Copy this whole prompt and paste it into Claude Code:

Set up the mcp-server-reddit-ads MCP server for me so I can manage my Reddit Ads

account from here. Install it read-only for now - no write access. Please:

  1. Read the setup instructions at https://github.com/camlowe/mcp-server-reddit-ads
  2. Check I'm on Node.js 20 or newer.
  3. Walk me through registering a Reddit app, since only I can do that part. Tell me exactly where to click and which two values (client ID and client secret) to copy.
  4. Run npx mcp-server-reddit-ads auth and guide me through the browser login.
  5. Add the server to my .mcp.json using the credentials from the auth step, with the write tier set to read-only.
  6. Confirm the server loads and list my Reddit ad accounts to prove it works.

Do not enable any write access yet. I'll ask for that later when I'm ready.

Claude reads this README, tells you exactly what to do for the parts only you can do, runs npx mcp-server-reddit-ads auth, writes your .mcp.json, and confirms the server loads. Later, when you want to make changes, just ask it to raise the write tier.

Simple setup with Claude Desktop

Claude Desktop can't run terminal commands for you, so this prompt has it act as a patient guide while you run one command and edit one config file. Paste it into a new Claude Desktop chat:

I want to set up the mcp-server-reddit-ads MCP server so I can manage my Reddit Ads

account with you. I'm not a developer, so please guide me one step at a time with simple, copy-pasteable instructions, and wait for me to confirm each step before moving to the next.

Look up the setup details at https://github.com/camlowe/mcp-server-reddit-ads. The main steps are: register a Reddit app to get a client ID and secret, run a one-time npx mcp-server-reddit-ads auth command in my terminal to log in, and add the server to my Claude Desktop config file. Set it up read-only so nothing in my account can change until I decide to turn writes on.

Either way, you still register the Reddit app (step 1 below) and approve the browser login yourself - those cannot be automated.

Advanced setup (manual)

The full process, for other MCP clients or if you prefer to do it by hand. It takes about five minutes.

1. Register a Reddit app
  1. Open the Reddit Ads dashboard at ads.reddit.com and sign in with an account that has business-admin access.
  2. Open Business settings (the gear / settings menu, top right), then Developer Applications, then Create App.
  3. Give the app a name, set the redirect URI to exactly http://localhost:8080, and choose a primary contact (a business admin). Save it.

Reddit then shows the two values you need in step 2:

  • Client ID - the short string (roughly 22 characters, for example Ab3xK9zQ1rStUvWxYzAbCd) displayed directly under the app's name. Reddit often shows it without a "client ID" label, so it is easy to miss; it is the code beneath the app title, not the app name itself.
  • Client secret - the longer value shown in the field explicitly labeled secret. Copy it right away; if you lose it you can regenerate a new secret from the same page.

Do not use reddit.com/prefs/apps: it silently rejects new apps under the Responsible Builder Policy, so the Ads developer portal is the only working path for advertisers.

2. Mint a refresh token

Run the built-in setup helper:

npx mcp-server-reddit-ads auth

It asks for the client ID and secret from step 1 (or reads them from REDDIT_CLIENT_ID and REDDIT_CLIENT_SECRET if you have set them), opens the Reddit authorization page in your browser, and waits on http://localhost:8080 for you to approve.

Once you approve, it offers to save the configuration for you:

Where should I save this? (I'll patch the file, keeping anything already there.)

[1] Claude Code ./.mcp.json [2] Claude Desktop [3] Just print it (don't write any file)

Pick [1] or [2] and it writes the credentials straight to disk (backing up any existing file to .bak and leaving other servers untouched), so nothing sensitive has to pass through your MCP client. If you prefer to place it yourself, pick [3] and it prints a ready-to-paste block instead. When it can't detect a TTY (for example, piped output), it skips the menu and prints the block.

If it fails, it tells you how to fix the two common causes: port 8080 already in use, and a redirect-URI mismatch (the app's redirect URI must be exactly http://localhost:8080).

3. Add the server to your MCP client

If you picked [1] or [2] in step 2, this is already done - skip to step 4. Otherwise, paste the printed block into your client's config. It has this shape, with the three credential values already populated by the auth command:

{

"mcpServers": { "reddit-ads": { "command": "npx", "args": ["-y", "mcp-server-reddit-ads"], "env": { "REDDIT_CLIENT_ID": "your-client-id", "REDDIT_CLIENT_SECRET": "your-client-secret", "REDDIT_REFRESH_TOKEN": "your-refresh-token", "REDDIT_ADS_WRITE_TIER": "read" } } } }

Claude Code users can register it from the command line instead:

claude mcp add reddit-ads \

-e REDDIT_CLIENT_ID=your-client-id \ -e REDDIT_CLIENT_SECRET=your-client-secret \ -e REDDIT_REFRESH_TOKEN=your-refresh-token \ -e REDDIT_ADS_WRITE_TIER=read \ -- npx -y mcp-server-reddit-ads

4. Restart and verify

Restart your client so it picks up the server (in Claude Code, approve the server when prompted, and confirm it loaded with /mcp). Then ask it to list your Reddit ad accounts. You should see your account id (a2_...). If you manage a single account, set REDDIT_ADS_ACCOUNT_ID to that id in the config and restart, so you never have to name the account in a request again.

5. Try some read-only queries

You are connected and read-only. Good first questions:

  • "Give me an overview of my Reddit ad account."
  • "Show the last 7 days of performance by campaign."
  • "Which of my ad groups are currently active?"

Most people stay here day to day. When you want to make changes, turn on writes.

6. Turn on writes when you need them

A fresh install cannot pause, create, or edit anything. To allow changes, raise REDDIT_ADS_WRITE_TIER in your config and restart. Start with safe (nothing at that level can start or grow spend) and move to spend only when you intend to resume delivery or change budgets, bids, or targeting. See Write tiers for exactly what each level unlocks.

Write tiers

Writes are off by default. REDDIT_ADS_WRITE_TIER opens them in two steps, so an accident at the read or safe tier cannot start spending money.

Tools above the configured tier are not just refused - they are hidden from the client's tool list entirely. A read-only session exposes 18 tools; the model cannot even attempt update_budget because it does not know the tool exists. If a hidden tool is somehow called anyway, the server refuses it with an error naming the tier that would unlock it.

TierWhat it allowsRule
read (default)No writes.Reads only.
safePause, create (born paused), rename, copy ads.Cannot start or expand delivery.
spendEverything in safe, plus enable, budget, bid, and targeting changes.Can start, resume, or reshape delivery.
Environment variables
VariableMeaning
REDDIT_CLIENT_ID, REDDIT_CLIENT_SECRET, REDDIT_REFRESH_TOKENRequired. Startup fails with a pointer to the auth command if any is missing.
REDDIT_ADS_WRITE_TIERread (default), safe, or spend.
REDDIT_ADS_ACCOUNT_IDOptional default account (a2_...) so single-account users never pass account_id.

Tools

GroupToolsTier
Diagnosticsget_server_statusread
Accountsget_accounts, get_account_overviewread
Entitiesget_campaigns, get_campaign, get_ad_groups, get_ad_group, get_ads, get_adread
Creativeget_ad_creativeread
Searchfind_entityread
Reportingget_performance_report, get_daily_performance, compare_periods, compare_adsread
Targeting datasearch_subreddits, get_interest_categories, search_geo_targetsread
Createcreate_campaign, create_ad_group, create_adsafe
Pause / renamepause_items, update_namesafe
Commentsupdate_ad_commentssafe
Workflowscopy_adssafe
Resumeenable_itemsspend
Moneyupdate_budget, update_bidspend
Delivery shapeupdate_targetingspend
Ad URLupdate_ad_urlspend

Notes:

  • get_campaigns, get_ad_groups, and get_ads take an optional status filter (ACTIVE, PAUSED, or ARCHIVED), applied client-side on configured_status.
  • Tool results are capped at 200,000 characters; a truncated result says so and suggests narrowing the query.
  • get_performance_report takes friendly lowercase metric names (impressions, clicks, spend, cpc, conversion_page_visit_clicks, and so on) and validates them locally before the call, suggesting the closest match on a typo.
  • create_ad_group requires a conversion_pixel_id, and create_campaign requires one when campaign budget optimization is on (a Reddit mandate since 2026-07-13). The pixel id is in the Reddit Ads dashboard under Events Manager; in observed data it equals the ad account id.
  • copy_ads duplicates ads into another ad group (Reddit creates a duplicate promoted post per copy) with an option to rewrite utm_campaign and other click-URL query params.
  • Ad copy (headline, body) is immutable via the Reddit API - the only editable post property is allow_comments. To change what an ad says, create a new ad with the new copy, enable it, and pause the old one.

Reddit API gotchas

The client encodes behaviors verified against the live API. The ones that cause the most confusion:

  • Updates use `PATCH`, never `PUT`, and Reddit returns 404 (not 405) for the wrong verb. A verb bug looks exactly like a missing resource. This is the bug that breaks every write in the upstream package.
  • Single resources live on bare paths (`/ads/{id}`); collections and creates use account-scoped paths (`/ad_accounts/{id}/ads`). Mixing them returns 404.
  • All money values are microcurrency (one millionth of the currency unit). This server converts them to USD on read and back on write, so tool inputs and outputs are in dollars.
  • Report metric names are UPPERCASE enums in requests but lowercase in responses, with inconsistent spelling (CONVERSION_SIGN_UP_CLICKS vs CONVERSION_SIGNUP_TOTAL_VALUE). Use the friendly lowercase names; the server validates and maps them.
  • After a write, trust `configured_status`, not `effective_status`. Th

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx