mcpField
R
Reddit Ads

Reddit Ads

本地服务
getmcpads.com商业与营销03 天前更新

关于 Reddit Ads

Reddit Ads MCP 服务把广告账户数据和操作接入 MCP 客户端,面向需要查看投放报告并准备广告变更的团队。它按账户白名单限制访问,写入默认关闭且需预览确认,写入负载还会依据 Reddit 的模式进行本地校验。

主要功能

  1. 01读取广告系列、广告组和广告
  2. 02查看报告、定向及受众
  3. 03读取素材、帖子和产品目录
  4. 04写入默认关闭并需确认
  5. 05白名单限制账户并校验负载

适用场景

  1. 01检查广告账户和业务信息
  2. 02分析广告表现及细分数据
  3. 03查看受众、像素或目录产品
  4. 04准备暂停状态的投放变更

MCP 相关

它向 MCP 客户端提供 31 个读取工具、22 个可选写入工具及两个资源。写入默认关闭,调用先生成预览,并将创建的广告系列、广告组和广告设为暂停状态。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"com-getmcpads-reddit-ads": {
"command": "npx",
"args": [
"-y",
"@getmcpads/reddit-ads-mcp-server"
],
"env": {
"REDDIT_ADS_ACCESS_TOKEN": "<REDDIT_ADS_ACCESS_TOKEN>",
"REDDIT_ADS_REFRESH_TOKEN": "<REDDIT_ADS_REFRESH_TOKEN>",
"REDDIT_ADS_CLIENT_ID": "<REDDIT_ADS_CLIENT_ID>",
"REDDIT_ADS_CLIENT_SECRET": "<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>"
}
}
}
}
启动命令npx -y @getmcpads/reddit-ads-mcp-server
需要配置的环境变量
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_IDClient 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_IDSComma-separated Reddit ad account IDs (a2_...) the server may reach. Required even for reads.
REDDIT_ADS_ENABLE_WRITEStrue exposes 22 write tools, each previewing until confirm:true. Defaults to false.
REDDIT_ADS_USER_AGENTUser-Agent sent to Reddit, ideally naming your app and Reddit username.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@getmcpads/reddit-ads-mcp-server1.0.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Reddit Ads MCP 服务

将你的 Reddit Ads 账户接入 MCP 客户端。

读取广告系列和报告,检查定向设置,并为明确获准的广告账户准备更改。

Release CI License: Apache 2.0 Node

观看短片 · 更新内容 · 安装 · 工具参考 · 试用托管版 getmcpads

观看 getmcpads 短片:在一次与 AI 助手的对话中访问每个广告账户

播放 45 秒短片

短片展示的是使用示例数据的托管版 getmcpads。从创意素材库和提醒,到 Google Sheets 导出和批量发布,其 MCP Apps 均属于托管产品。本仓库提供独立的原生 API 工具。

31 个读取工具 · 22 个写入工具,默认禁用。

使用你自己的平台凭据,在本地运行;并使用支持 stdio MCP 的客户端,例如 Claude Desktop、Claude Code 或 Cursor。请求会直接发送到平台。如需托管连接,包括受支持的 ChatGPT 配置,请使用托管版。

更新内容

v1.0.0:首个独立版本 · 2026 年 10 月 23 日

  • 移植 getmcpads 的原生 Reddit Ads API v3 工具,保留其名称、架构和所有权检查:31 个读取工具和 22 个写入工具,另含两个资源。
  • 使用固定于 2026-09-11 的 Reddit 自有架构,在本地验证写入载荷。
  • 要求明确指定广告账户允许列表,默认设为只读,并预览每次写入。创建的广告系列、广告组和广告均处于暂停状态。
  • 使用刷新令牌在内存中续期访问令牌,不写入磁盘。
  • 使用固定的 Reddit 主机、禁用重定向、设置超时、限制响应大小并隐藏凭据,且不自动重试写入。
  • 要求使用包含 2026 年 10 月安全修复的 Node.js 版本,并在 CI 中检查 Node 22、24 和 26。
  • 不包含托管版创意素材 UI、提醒、导出功能或 MCP Apps 集成。

完整更新日志 · 所有版本

源同步:SOURCE_SYNC.md。

升级说明

需要 Node.js 22.23.4、24.22.1、26.12.1 或这些版本系列中的更新版本。CI 覆盖 Node 22、24 和 26;如果使用较旧的运行时,服务会向 stderr 打印警告。写入功能仍为可选,且需要明确确认。托管版创意素材集成和 MCP Apps UI 不在此版本范围内。

安装此版本

这是一个 GitHub 源代码发行版。npm 和 MCP Registry 版本会单独发布。以下命令指定此确切版本;本文档后面的未固定版本 npx 示例则使用 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

配置 MCP 客户端,使用 node 运行 dist/cli.js 的绝对路径,并提供下文说明的平台凭据。软件包发布到 npm 后,同一服务也可通过 npx -y @getmcpads/reddit-ads-mcp-server 运行。Claude Desktop 配置项示例如下:

{
  "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"
      }
    }
  }
}

托管连接。 通过托管的 getmcpads 使用 Reddit Ads。连接你的账户,选择助手可以访问的数据,并使用托管的 MCP 连接。当前功能和套餐请参阅网站。

配置

通过客户端的密钥配置提供以下环境变量:

变量用途
REDDIT_ADS_ACCESS_TOKEN具有 adsread 权限的 OAuth 访问令牌;如果启用写入功能,还需具有 adsedit 权限。设置以下三个刷新变量后,此项为可选。
REDDIT_ADS_REFRESH_TOKEN永久刷新令牌。与下方两个变量一起使用时,服务会在内存中续期访问令牌。
REDDIT_ADS_CLIENT_IDReddit 应用的客户端 ID,与刷新令牌配合使用时必需。
REDDIT_ADS_CLIENT_SECRETReddit 应用的密钥,与刷新令牌配合使用时必需。
REDDIT_ADS_ACCOUNT_IDS必需的广告账户 ID,多个 ID 以逗号分隔,例如 a2_abc123。其他所有账户均会被拒绝访问,读取操作也不例外。
REDDIT_ADS_ENABLE_WRITES默认为 false。只有值严格等于 true 时,才会开放 22 个写入工具。
REDDIT_ADS_USER_AGENT可选。Reddit 要求客户端标识自身,例如 node:my-ads-app:v1.0.0 (by /u/your_username)。

按照 Reddit Ads API 文档中的说明注册开发者应用并申请 Ads API 访问权限。然后运行 Reddit 的 OAuth 授权码流程,申请 adsread 权限;只有计划启用写入功能时才申请 adsedit 权限,并将 duration=permanent 设置为永久,以获取刷新令牌。 Reddit 访问令牌约一小时后过期。日常使用时,请提供刷新令牌和应用凭据;单独使用访问令牌则只能工作到令牌过期。 此软件包接受令牌,但不会运行 OAuth 浏览器流程,也绝不会将续期后的令牌写入磁盘。Reddit 广告账户 ID 以 a2_ 开头;business ID 则是另一种值。

npm run doctor 会报告哪些变量已设置(不会打印任何变量值),并检查你的 Node.js 版本是否包含 2026 年 10 月的安全修复。首次调用时请运行 reddit_health_check:它会读取账户及其 business、货币和时区。

安全性与覆盖范围

默认情况下,写入操作会先预览。再次调用并设置 confirm: true 前,请检查确切的账户、目标和负载。 广告系列、广告组和广告都会以暂停状态创建。启用广告可能会消耗广告预算;将 configured_status 设为 ACTIVE 的预览会通过 activationMaySpend 说明这一点。 如果写入结果不确定,请勿自动重试。应先读取账户并核对。仅当 Reddit 因请求尚未执行而返回 HTTP 401 时,服务才会在续期令牌后重试一次。 账户允许列表适用于每个请求。每个实体读取操作都会直接或通过其个人资料、业务或目录检查广告账户。确认写入前,引用的广告系列、广告组、帖子、受众、像素、商品集、个人资料和素材也会以同样方式检查。 写入负载会根据固定于 2026-09-11 的 Reddit 架构进行验证。计费字段和计算得出的状态会被拒绝。通过本地验证并不代表服务提供方会接受。 预算、出价和 SPEND 的单位均为微货币,即账户货币的百万分之一。其他报告字段保留其原生单位。分页游标使用 Reddit 自己的页面令牌。

请求只会发送到 ads-api.reddit.com,令牌续期时则发送到 www.reddit.com。请求不会跟随重定向。每个请求都有超时和响应大小限制。所有结果和错误中的凭据都会被隐藏。 Reddit 返回的媒体 URL 会作为数据传递。本服务绝不会下载这些媒体。

本服务有意不开放部分 Reddit 功能:

  • 上传客户名单成员和注入转化事件。
  • 提交潜在客户信息,以及下载任何其他个人记录。潜在客户表单仅可作为配置读取。
  • 商品 Feed、计费和资金工具。
  • 具有破坏性的删除操作。状态更新仅接受 PAUSED 和 ACTIVE,且无法将已保存的受众设为 DELETED。
  • 现场潜在客户表单创建功能,Reddit 已于 2026 年 9 月 21 日终止该功能。

本服务开放的是 Reddit Ads API 中经过审核的子集,不会自动开放上游新增的端点。托管创意素材库、提醒、导出和 MCP Apps UI 均不包含在内。 如需查看确切架构,请使用 tools/list 或 server-card.json;如需查看固定的写入架构,请使用 reddit_get_write_schema;服务提供方的详细信息请参阅 Reddit 的 API 参考。

托管选项

getmcpads for Reddit Ads 可管理托管连接和账户选择。 托管版和源码发布版可能有所不同。联系方式:[email protected]。

开发

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

所有测试均使用合成响应离线运行,不会更改任何实时账户。

工具

下方列出了所有工具。完整的参数和输出架构请参阅 server-card.json。

31 个读取工具 | 工具 | 用途 | | --- | --- | | `reddit_get_setup_guide` | 介绍此服务的覆盖范围、前置条件、单位、重命名规则和已知限制 | | `reddit_get_write_schema` | 获取一项写入操作固定的原生架构,包括定位方式和格式 | | `reddit_get_reporting_schema` | 获取 Reddit 接受的所有报告指标和细分名称 | | `reddit_health_check` | 读取允许访问的广告账户、所属企业、货币和时区 | | `reddit_get_campaigns` | 列出广告系列及其原生配置和状态 | | `reddit_get_campaign` | 检查账户后读取一个广告系列 | | `reddit_get_ad_groups` | 列出广告组及其原生配置和状态 | | `reddit_get_ad_group` | 检查账户后读取一个广告组 | | `reddit_get_ads` | 列出广告及其原生配置和状态 | | `reddit_get_ad` | 检查账户后读取一个广告 | | `reddit_get_saved_audiences` | 列出已保存的受众 | | `reddit_get_saved_audience` | 检查账户后读取一个已保存的受众 | | `reddit_get_custom_audiences` | 列出自定义受众 | | `reddit_get_custom_audience` | 检查账户后读取一个自定义受众 | | `reddit_get_lead_gen_forms` | 列出潜在客户表单配置,不会读取潜在客户提交内容 | | `reddit_get_lead_form` | 检查账户后读取一个潜在客户表单配置 | | `reddit_get_targeting` | 读取广告组的已配置定位条件 | | `reddit_get_targeting_options` | 查找有效的地理位置、语言、兴趣、设备、运营商和社区 | | `reddit_get_profiles` | 列出关联到广告账户的个人资料 | | `reddit_get_pixels` | 列出广告账户可用的像素 | | `reddit_get_insights` | 运行原生报告,包含指标、最多三个细分、UTC 日期和分页 | | `reddit_get_creative_assets` | 列出关联个人资料的素材库 | | `reddit_get_posts` | 列出关联个人资料的结构化帖子 | | `reddit_get_post` | 检查个人资料后读取一个结构化帖子 | | `reddit_get_asset_uploads` | 轮询创意素材导入的处理状态 | | `reddit_get_post_job` | 轮询结构化帖子创建任务及其签名回执 | | `reddit_list_ad_creatives` | 查找广告所用的图片和视频,并明确说明覆盖范围 | | `reddit_get_catalogs` | 列出拥有该广告账户的企业的商品目录 | | `reddit_get_products` | 列出自有商品目录中的商品 | | `reddit_get_product_sets` | 列出自有商品目录中的商品集 | | `reddit_get_catalog_imports` | 列出自有商品目录的导入记录 |
22 个写入工具

默认禁用。除非明确确认,否则调用只会预览。使用前请检查配置和确切架构。

| 工具 | 用途 | | --- | --- | | `reddit_create_campaign` | 创建广告系列,始终处于暂停状态 | | `reddit_update_campaign` | 更新广告系列字段,包括暂停或重新激活 | | `reddit_create_ad_group` | 创建广告组,始终处于暂停状态 | | `reddit_update_ad_group` | 更新广告组字段,包括定向、出价和状态 | | `reddit_create_ad` | 创建广告,始终处于暂停状态 | | `reddit_update_ad` | 更新广告字段,包括暂停或重新激活 | | `reddit_create_saved_audience` | 创建已保存的受众 | | `reddit_update_saved_audience` | 更新已保存的受众,不支持删除 | | `reddit_create_custom_audience` | 创建像素、互动或空的客户名单受众 | | `reddit_upload_creative_assets` | 将图片、视频或标题导入个人资料的素材库 | | `reddit_create_post` | 启动结构化帖子创建任务并返回回执 | | `reddit_create_catalog` | 为所属企业创建产品目录 | | `reddit_create_product_set` | 在自有目录中创建产品集 | | `reddit_upsert_products` | 在自有目录中创建或更新产品 | | `reddit_rename_campaign` | 重命名广告系列,不做其他更改 | | `reddit_rename_ad_group` | 重命名广告组,不做其他更改 | | `reddit_rename_ad` | 重命名广告,不做其他更改 | | `reddit_rename_ad_account` | 重命名广告账户,不做其他更改 | | `reddit_update_post` | 更改是否允许对结构化帖子发表评论 | | `reddit_update_asset` | 重命名创意素材 | | `reddit_update_catalog` | 更新目录名称或事件来源 | | `reddit_update_product_set` | 更新产品集名称或筛选条件 |
资源
资源内容
reddit-ads://guide设置指南,也由 reddit_get_setup_guide 返回
reddit-ads://reporting-catalog每项指标及其类别和单位说明,以及每个维度是否为细分项

许可证

Apache License 2.0。请参阅 NOTICE。

更多 getmcpads 项目

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

由 getmcpads 的 Emmanuel 维护。问题请联系:[email protected]。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。