Reddit Ad Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Reddit Ad Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A Model Context Protocol (MCP) server that provides read-only access to the Reddit Ads API v3.
You need to do a one-time OAuth flow to get a refresh token:
# 1. Open this URL in your browser (replace CLIENT_ID):
https://www.reddit.com/api/v1/authorize?client_id=CLIENT_ID&response_type=code&state=random&redirect_uri=http://localhost:8080&duration=permanent&scope=adsread
# 2. Authorize the app - you'll be redirected to localhost with a ?code= parameter
# 3. Exchange the code for tokens (replace CLIENT_ID, CLIENT_SECRET, and CODE):
curl -X POST https://www.reddit.com/api/v1/access_token \
-u "CLIENT_ID:CLIENT_SECRET" \
-d "grant_type=authorization_code&code=CODE&redirect_uri=http://localhost:8080"
# 4. Save the refresh_token from the responseCreate config.local.json (copy from config.json):
{
"reddit_api": {
"base_url": "https://ads-api.reddit.com/api/v3",
"auth": {
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"refresh_token": "YOUR_REFRESH_TOKEN",
"user_agent": "reddit-ad-mcp/1.0"
}
},
...
"defaults": {
"account_id": "YOUR_AD_ACCOUNT_ID"
}
}python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtAdd to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"reddit-ads": {
"command": "/path/to/reddit-ad-mcp/.venv/bin/python",
"args": ["/path/to/reddit-ad-mcp/server.py"]
}
}
}| Tool | Description |
|---|---|
get_accounts | List all accessible ad accounts |
get_campaigns | List campaigns for an account |
get_ad_groups | List ad groups (optionally filtered by campaign) |
get_ads | List ads (optionally filtered by ad group) |
get_performance_report | Generate a performance report with custom metrics and breakdowns |
get_daily_performance | Convenience tool for daily trend analysis |
Once connected to Claude, you can ask things like:
Available metrics for performance reports:
Core: impressions, reach, clicks, spend, ecpm, ctr, cpc
Video: video_viewable_impressions, video_fully_viewable_impressions, video_watched_25/50/75/100_percent
Conversions: conversion_purchase_clicks, conversion_purchase_views, conversion_add_to_cart_clicks, conversion_lead_clicks, conversion_sign_up_clicks, conversion_page_visit_clicks
Available breakdown dimensions: date, country, region, community, placement, device_os
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.