Reddit Ads MCP
Provides read-only access to the Reddit Ads API, enabling AI assistants to inspect ad accounts, campaigns, ad groups, ads, and performance reports, including spend, CPC, CTR, conversions, placements, communities, and destination URLs.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
reddit-ads-mcp
A read-only MCP server for the Reddit Ads API. Ask your AI assistant (any MCP client) how your Reddit campaigns are doing, which ads and communities earn their spend, and whether your UTMs and conversion tracking are sane.
Unofficial. Not affiliated with or endorsed by Reddit. It only requests the
adsreadOAuth scope, so it cannot create, edit, pause or delete anything in your account.
What you can ask
"Give me an overview of the last 60 days."
"Which communities spent the most and what was their CPC?"
"Compare my carousel ads against the single-image ads."
"List every ad's destination URL and tell me which ones lack
utm_campaign.""How much did each campaign spend per month, and what did page-visit conversions cost?"
Related MCP server: Reddit Ads MCP Server
Quick start
You need Python 3.10+ and uv (or pipx/pip, see below).
1. Create a Reddit developer app. In Ads Manager go to Business → Developer Portal → Add app.
Set the redirect URL to http://localhost:8080/callback and copy the app ID and secret.
(Only business admins can do this. Any redirect URL works; with a non-localhost one the tool asks
you to paste the code instead of capturing it.)
2. Authorize once (opens your browser, stores a read-only refresh token with mode 0600):
uvx reddit-ads-mcp authIt asks for the app ID, the secret (hidden) and the redirect URL, then prints the entry for step 3.
3. Add it to your MCP client. Most clients take the same mcpServers entry in their
configuration file (check your client's documentation for where that file lives):
{
"mcpServers": {
"reddit-ads": {
"command": "uvx",
"args": ["reddit-ads-mcp"],
"env": {
"REDDIT_ADS_CLIENT_ID": "<app id>",
"REDDIT_ADS_CLIENT_SECRET": "<app secret>",
"REDDIT_ADS_BUSINESS_ID": "<business id>"
}
}
}
}The refresh token stored in step 2 is found automatically, so it does not go in this file.
4. Check it: uvx reddit-ads-mcp doctor verifies credentials, the token and API access.
REDDIT_ADS_BUSINESS_ID is optional but lets the server discover your ad account on its own
(your Reddit business id, a UUID). If your business has several ad accounts,
also set REDDIT_ADS_ACCOUNT_ID.
Other ways to install
pipx install reddit-ads-mcp # then use `reddit-ads-mcp` as the command
pip install reddit-ads-mcp
uvx --from git+https://github.com/leolima77/reddit-ads-mcp reddit-ads-mcp # straight from GitHubTools
All tools are annotated read-only.
Tool | What it does |
| Totals, monthly trend, campaigns, top ads, placements and top communities in one call. |
| Any report: 1-3 breakdowns ( |
| Structure of the account. |
| Ad accounts of a business (id, currency, time zone). |
| Common metrics and breakdowns, with a link to Reddit's full reference. |
Things worth knowing
Money is converted for you. Reddit returns spend, CPC, eCPM and eCPA in micros; this server divides by 1,000,000.
ctris a ratio (0.01= 1%). Currency is the ad account's.COMMUNITY,INTERESTandKEYWORDrows overlap. A community report summed to roughly twice the account's real spend in testing, so those reports return no totals. Compare rows against each other, never against the account total.Reddit returns rows in key order, not by spend. A report with thousands of rows (communities) is fetched in full (up to 20,000 rows) and sorted here. If it hits the cap you get a warning, because a top-N from a partial fetch can be wrong.
Dates are inclusive and use the ad account's time zone. Metrics can take up to 6 hours to settle.
The default metrics are delivery plus Reddit's "key conversion". For sign-ups, leads or purchases ask for fields like
CONVERSION_SIGN_UP_CLICKS; they stay empty unless your pixel/CAPI sends them.
Configuration
Variable | Required | Purpose |
| yes | App ID from the developer portal. |
| yes | App secret. |
| no | Lets the server find your ad account and use |
| no | Default ad account ( |
| no | Use instead of the token file (containers, CI). |
| for | Must match the app's redirect URL exactly. |
| no | Token location. Default |
| no | Reddit asks API clients to send a descriptive one. |
| no | Defaults to |
Security
Read-only: the only scope ever requested is
adsread.Secrets are never logged or returned in tool output, and error messages are built from Reddit's status and message only, never from request bodies or headers.
The refresh token file is created with mode
0600. Prefer a dedicated Reddit app for this tool.The server speaks stdio only; it opens no network port. During
authit briefly listens on the loopback redirect address you configured.Pagination links are followed only on the Ads API host, so the bearer token cannot be sent elsewhere.
Troubleshooting
Run reddit-ads-mcp doctor first.
Symptom | Fix |
| The code was used or expired (10 minutes, single use). Run |
| The redirect URL must match the app's setting character for character. |
HTTP 403 | The authorizing Reddit user lacks access to that ad account, or the app is not allowed to use the Ads API. |
"No Reddit refresh token found" | Run |
Numbers differ from Ads Manager | Check the time zone and dates, and remember recent data settles for up to 6 hours. |
Development
Contributions are accepted only under the strict rules in CONTRIBUTING.md; read it before opening an issue or pull request.
git clone https://github.com/leolima77/reddit-ads-mcp && cd reddit-ads-mcp
python -m venv .venv && . .venv/bin/activate
pip install -e ".[dev]"
pytest # no network, no credentials needed
ruff check . && ruff format --check .Supports Python 3.10+ and the mcp SDK 1.22+ or 2.x; CI runs the suite against both SDK majors. The
tests use mocked HTTP and also drive the server end to end over stdio.
License
This server cannot be deployed
Maintenance
Related MCP Connectors
Reddit Ads MCP server: 9 tools for subreddit reports, targeting, diagnosis. Read-only by default.
Read-only Google Ads, Meta Ads and TikTok Ads performance, campaigns and creatives via OAuth.
Review authorized ad-account metrics with your AI assistant. Early access by invitation.
Connect authorized ad accounts to AI assistants for audits, reporting, and approval-gated changes.
Related MCP Servers
- AlicenseBqualityCmaintenanceRead-only MCP server for Meta Ads that lists and reads ad accounts, campaigns, ad sets, ads, ad images, creatives, and fetches insights at various levels.14MIT
- FlicenseNot gradedqualityDmaintenanceRead-only access to Reddit Ads API v3 for listing ad accounts, campaigns, ad groups, ads, and generating performance reports with OAuth2 authentication.-
- FlicenseNot gradedqualityDmaintenanceA read-only MCP server for the Google Ads API, exposing reporting tools for account summaries, campaigns, performance, search terms, and conversion actions. Enables natural-language queries to Google Ads data without write access.-
- AlicenseNot gradedqualityAmaintenanceRead-only MCP server for the Reddit Ads API v3, enabling AI assistants to analyze ad performance, campaigns, reports, and targeting without modifying anything.MIT