naftiko: 1.0.0-alpha2 info: label: Reddit Advertising description: Unified capability for managing Reddit advertising campaigns. Combines the Reddit Ads API for campaign lifecycle management and the Data API for audience research and targeting intelligence. Used by digital marketers, performance agencies, and brands to create, optimize, and report on Reddit advertising campaigns programmatically. tags: - Advertising - Marketing - Reddit - Social Media created: '2026-05-02' modified: '2026-05-06' binds: - namespace: env keys: REDDIT_ADS_ACCESS_TOKEN: REDDIT_ADS_ACCESS_TOKEN REDDIT_ACCESS_TOKEN: REDDIT_ACCESS_TOKEN capability: consumes: - type: http namespace: reddit-ads baseUri: https://ads-api.reddit.com/api/v3 description: Reddit Ads API for programmatic advertising management authentication: type: bearer token: '{{REDDIT_ADS_ACCESS_TOKEN}}' resources: - name: account path: /accounts/{account_id} description: Ads account management operations: - name: get-account method: GET description: Get ads account details inputParameters: - name: account_id in: path type: string required: true description: The ads account ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: campaigns path: /campaigns description: Campaign management operations: - name: list-campaigns method: GET description: List advertising campaigns inputParameters: - name: account_id in: query type: string required: true description: Ads account ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-campaign method: POST description: Create an advertising campaign outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: account_id: '{{tools.account_id}}' campaign_name: '{{tools.campaign_name}}' objective: '{{tools.objective}}' total_budget_amount: '{{tools.budget}}' - name: custom-audiences path: /custom_audiences description: Custom audience management operations: - name: list-custom-audiences method: GET description: List custom targeting audiences inputParameters: - name: account_id in: query type: string required: true description: Ads account ID outputRawFormat: json outputParameters: - name: result type: object value: $. - type: http namespace: reddit-data baseUri: https://oauth.reddit.com description: Reddit Data API for accessing platform content and communities authentication: type: bearer token: '{{REDDIT_ACCESS_TOKEN}}' resources: - name: me path: /api/v1/me description: Current user identity and profile operations: - name: get-me method: GET description: Get current authenticated user identity outputRawFormat: json outputParameters: - name: result type: object value: $. - name: hot-listings path: /r/{subreddit}/hot description: Hot post listings for a subreddit operations: - name: get-hot-listings method: GET description: Get hot posts from a subreddit inputParameters: - name: subreddit in: path type: string required: true description: Subreddit name - name: limit in: query type: integer required: false description: Number of posts to return (max 100) - name: after in: query type: string required: false description: Pagination cursor outputRawFormat: json outputParameters: - name: result type: object value: $. - name: new-listings path: /r/{subreddit}/new description: New post listings for a subreddit operations: - name: get-new-listings method: GET description: Get newest posts from a subreddit inputParameters: - name: subreddit in: path type: string required: true description: Subreddit name - name: limit in: query type: integer required: false description: Number of posts to return outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subreddit-info path: /r/{subreddit}/about description: Subreddit community information operations: - name: get-subreddit-info method: GET description: Get subreddit metadata and configuration inputParameters: - name: subreddit in: path type: string required: true description: Subreddit name outputRawFormat: json outputParameters: - name: result type: object value: $. - name: search path: /search description: Reddit search operations: - name: search-submissions method: GET description: Search Reddit submissions inputParameters: - name: q in: query type: string required: true description: Search query - name: sort in: query type: string required: false description: Sort order (relevance, hot, top, new) - name: limit in: query type: integer required: false description: Number of results outputRawFormat: json outputParameters: - name: result type: object value: $. - name: submit path: /api/submit description: Post submission operations: - name: submit-post method: POST description: Submit a new post to a subreddit outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: form data: sr: '{{tools.subreddit}}' title: '{{tools.title}}' text: '{{tools.text}}' kind: self exposes: - type: rest port: 8081 namespace: reddit-advertising-rest description: Unified REST API for Reddit advertising management. resources: - path: /v1/campaigns name: campaigns description: Campaign lifecycle management operations: - method: GET name: list-campaigns description: List advertising campaigns call: reddit-ads.list-campaigns with: account_id: rest.account_id outputParameters: - type: object mapping: $. - method: POST name: create-campaign description: Create an advertising campaign call: reddit-ads.create-campaign outputParameters: - type: object mapping: $. - path: /v1/audiences name: audiences description: Custom audience management operations: - method: GET name: list-custom-audiences description: List custom targeting audiences call: reddit-ads.list-custom-audiences with: account_id: rest.account_id outputParameters: - type: object mapping: $. - path: /v1/subreddits/{subreddit} name: subreddit-research description: Subreddit research for targeting operations: - method: GET name: get-subreddit-info description: Research a subreddit community for ad targeting call: reddit-data.get-subreddit-info with: subreddit: rest.subreddit outputParameters: - type: object mapping: $. - type: mcp port: 9081 namespace: reddit-advertising-mcp transport: http description: MCP server for AI-assisted Reddit advertising management. tools: - name: get-ads-account description: Get Reddit Ads account details and configuration hints: readOnly: true openWorld: false call: reddit-ads.get-account with: account_id: tools.account_id outputParameters: - type: object mapping: $. - name: list-campaigns description: List all advertising campaigns for an account hints: readOnly: true openWorld: false call: reddit-ads.list-campaigns with: account_id: tools.account_id outputParameters: - type: object mapping: $. - name: create-campaign description: Create a new Reddit advertising campaign with budget and objective hints: readOnly: false openWorld: false call: reddit-ads.create-campaign with: account_id: tools.account_id campaign_name: tools.campaign_name objective: tools.objective budget: tools.budget outputParameters: - type: object mapping: $. - name: list-custom-audiences description: List custom targeting audiences for retargeting campaigns hints: readOnly: true openWorld: false call: reddit-ads.list-custom-audiences with: account_id: tools.account_id outputParameters: - type: object mapping: $. - name: research-subreddit description: Research a subreddit community to assess ad targeting potential hints: readOnly: true openWorld: true call: reddit-data.get-subreddit-info with: subreddit: tools.subreddit outputParameters: - type: object mapping: $. - name: get-subreddit-trending description: Get trending posts from a subreddit to understand audience interests hints: readOnly: true openWorld: true call: reddit-data.get-hot-listings with: subreddit: tools.subreddit limit: tools.limit outputParameters: - type: object mapping: $.