MCP server for Reddit ads management and subreddit analytics
Reddit Ads MCP has basic tool structure but significant quality gaps. All 8 tools have names and descriptions, but descriptions are minimal (10-50 chars, well below the 194-char baseline). Input schemas are present with type definitions, but parameter descriptions are sparse or missing entirely. No output schemas documented. Error handling is minimal, most tools throw generic errors without recovery guidance. The server lacks pagination support despite tools returning lists (campaigns, ad groups, posts). No tool annotations (readOnlyHint/destructiveHint) despite clear risk distinctions. create_campaign is the only write operation but has no confirmation or dry-run pattern.
Create a new campaign in a given ad account
Retrieve all ad accounts for a given business
Retrieve all ad groups for a given ad account
Retrieve all campaigns for a given ad account
Retrieve funding instruments for a given ad account
Retrieve a specific post by ID
Retrieve all posts for a given profile
Retrieve all profiles for a given ad account
Descriptions are critically short (10-50 chars vs 194-char baseline). LLMs cannot determine when to select tools or distinguish similar ones (e.g., get_campaigns vs get_ad_groups). Descriptions lack WHEN to use, prerequisites, or return value hints.
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields. Response structures are inferred from code only (AdAccount, Campaign, Post interfaces exist but are not exposed in tool definitions).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
List-returning tools (get_campaigns, get_ad_groups, get_posts, get_profiles) lack pagination (limit, offset, page_size, next_cursor). No total count returned. Large result sets will blow context windows and degrade LLM reasoning.
create_campaign (write operation) lacks confirmation/dry-run pattern and has no explicit error recovery guidance. Agents cannot preview changes before committing. No idempotency key or deduplication mechanism.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). 7 tools are read-only but unmarked; create_campaign is destructive but unmarked. Agents cannot distinguish safe from risky operations without reading descriptions.