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建造/ 德雷克营销.
