Reddit广告管理工具

一个用于管理Reddit广告活动的服务器工具,支持广告系列管理、广告创建、性能报告和受众定向功能。

  • by mharnett
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 mharnett/mcp-reddit-ads

使用说明

mcp reddit广告

Reddit Ads API v3的MCP服务器——通过Claude进行营销活动管理、广告创建、绩效报告和受众定位。

特性

  • 18工具 涵盖活动、广告组和广告的完整CRUD
  • 每日细分的绩效报告
  • 细分市场、兴趣和地理定位
  • 批量暂停/启用操作
  • 默认情况下安全:所有在PAUSED状态下创建的新实体
  • 以美元为单位的预算输入(自动转换为Reddit的微货币格式)

安装

npm install mcp-reddit-ads

或者克隆存储库:

git clone https://github.com/mharnett/mcp-reddit-ads.git
cd mcp-reddit-ads
npm install
npm run build

配置

安全: 永远不要分享你的 .mcp.json 文件或将其提交到git——它可能包含API凭据。添加 .mcp.json 给你的 .gitignore.

1.Reddit OAuth应用程序

在以下网址创建Reddit OAuth应用程序 reddit.com/prefs/apps:

  • 选择“脚本”类型
  • 注意客户端ID和客户端密码
  • 通过以下方式获取刷新令牌 adsread adsedit read 范围

2.环境变量

通过环境变量设置凭据:

变量 描述
REDDIT_CLIENT_ID OAuth应用程序客户端ID
REDDIT_CLIENT_SECRET OAuth应用程序客户端密钥
REDDIT_REFRESH_TOKEN 带有广告作用域的OAuth刷新令牌
REDDIT_ADS_MCP_WRITE 设置为 true 启用变异工具(创建/更新/暂停/启用)。取消设置=只读(默认)。

默认情况下为只读

从v1.1.0开始,MCP开始 只读模式10个读取/报告/定位工具始终公开,但8个变异工具(创建/更新活动、广告组、广告和批量暂停/启用)隐藏在工具列表中,并在调用时被拒绝,除非 REDDIT_ADS_MCP_WRITE=true 在服务器的环境中设置。这可以防止随意聊天信息意外改变直播广告支出。对于您实际打算发布更改的会话,有意识地启用写入。

3.配置文件

复制 config.example.json 到 config.json 并填写默认值:

{
  "reddit_api": {
    "base_url": "https://ads-api.reddit.com/api/v3",
    "auth": {
      "client_id": "",
      "client_secret": "",
      "refresh_token": "",
      "user_agent": "reddit-ad-mcp/1.0"
    }
  },
  "defaults": {
    "account_id": "",
    "business_id": "",
    "report_metrics": ["impressions", "clicks", "spend", "ctr", "cpc", "ecpm"],
    "date_range_days": 7
  }
}

环境变量优先于配置文件值。

用法

克劳德代码(.mcp.json)

{
  "mcpServers": {
    "reddit-ads": {
      "command": "node",
      "args": ["/path/to/mcp-reddit-ads/dist/index.js"],
      "env": {
        "REDDIT_CLIENT_ID": "$(security find-generic-password -a reddit-ads-mcp -s REDDIT_CLIENT_ID -w)",
        "REDDIT_CLIENT_SECRET": "$(security find-generic-password -a reddit-ads-mcp -s REDDIT_CLIENT_SECRET -w)",
        "REDDIT_REFRESH_TOKEN": "$(security find-generic-password -a reddit-ads-mcp -s REDDIT_REFRESH_TOKEN -w)"
      }
    }
  }
}

克劳德桌面: 添加 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows)。

工具

上下文

工具 说明
reddit_ads_get_client_context 获取帐户信息并验证API连接
reddit_ads_get_accounts 列出经过身份验证的用户可访问的所有广告帐户

阅读

工具 说明
reddit_ads_get_campaigns 列出带有可选状态筛选器的活动
reddit_ads_get_ad_groups 列出活动的广告组
reddit_ads_get_ads 列出广告组的广告
reddit_ads_get_performance_report 活动/广告组/广告的汇总绩效指标
reddit_ads_get_daily_performance 每日绩效细分

撰写:活动

工具 说明
reddit_ads_create_campaign 创建新活动(默认为暂停)
reddit_ads_update_campaign 更新活动名称、预算、目标或状态

撰写:广告组

工具 说明
reddit_ads_create_ad_group 创建带有目标的新广告组(默认为暂停)
reddit_ads_update_ad_group 更新广告组出价、目标或状态

撰写:广告

工具 说明
reddit_ads_create_ad 创建包含标题、正文、URL和媒体的新广告(默认情况下为暂停)
reddit_ads_update_ad 更新广告创意或状态

批量操作

工具 说明
reddit_ads_pause_items 同时暂停多个广告系列、广告组或广告
reddit_ads_enable_items 一次启用多个广告系列、广告组或广告

定向

工具 说明
reddit_ads_search_subreddits 按关键字搜索子版块以定位
reddit_ads_get_interest_categories 列出可用于定位的兴趣类别
reddit_ads_search_geo_targets 搜索地理定位选项(国家、地区、大都市)

关键约定

  • 支出价值 以微货币(1美元=1000000微货币单位)从API返回。除以1000000得到美元金额。预算输入接受美元并自动转换。
  • 日期与时间 使用ISO 8601格式(YYYY-MM-DDTHH:MM:SSZ).
  • 新实体默认为PAUSED 状态。明确地将状态设置为 ACTIVE 去生活。
  • 报告指标 默认为中配置的集合 config.json 但可以根据请求进行覆盖。

建筑

  • 韧性:用途 玄凤鹦鹉 用于API调用的重试策略和断路
  • 日志记录:通过结构化日志记录 皮诺
  • 响应截断:大型API响应被截断为200KB,以保持在MCP消息限制范围内
  • 认证:OAuth 2.0刷新令牌流,自动更新访问令牌

许可证

麻省理工学院——见 许可证.

作者

由Mark Harnett建造/ 德雷克营销.