DEV Community

appierun
appierun

Posted on

Find Reddit Threads and Draft Replies From Claude Code or Cursor

The whole loop takes five steps: connect one MCP server, save your keywords and competitors, list today's threads, draft a reply, and paste it on Reddit yourself. This walkthrough uses Appie.run's MCP server, with every tool name and credit cost taken from appie.run/docs/mcp on 22 Oct 2026.

Disclosure: this post is published by Appie.run, and the server used here is ours. Other Reddit MCP servers exist; see our roundup of Reddit MCP servers for marketing. Appie drafts replies but never posts them.

What you need

  • An Appie project (the Free plan has 500 credits, no credit card needed).
  • A project API key that starts with esk_.
  • Cursor, Claude Code or Codex CLI.

Step 1: Create the key

In Appie, open the project and go to API in the sidebar. A project admin generates one esk_ key.

Two things to know before you use it:

  • The same key is used by Event Store. Regenerating it stops both immediately, so update every client at once.
  • The key has no balance of its own. A paid tool runs on the project's credits first, then the project owner's. Every tool result includes credits_remaining.

Set it once in your shell:

export APPIE_API_KEY=esk_YOUR_KEY
Enter fullscreen mode Exit fullscreen mode

Never commit the key or paste it in public.

Step 2: Add the server

The server is https://appie.run/mcp (streamable HTTP). It accepts Authorization: Bearer esk_... or X-Api-Key: esk_....

Cursor. Add this to your MCP config (from Appie's docs):

{
  "mcpServers": {
    "appie": {
      "url": "https://appie.run/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Claude Code. One command:

claude mcp add --transport http appie https://appie.run/mcp \
  --header "Authorization: Bearer $APPIE_API_KEY"
Enter fullscreen mode Exit fullscreen mode

--transport http is required; without it, Claude Code treats the URL as a local command. The default scope is local (you, this project). Add --scope user to use it everywhere. Your shell expands $APPIE_API_KEY, so the key itself is saved in ~/.claude.json.

To share the server with a repo without committing the key, use a project .mcp.json:

{
  "mcpServers": {
    "appie": {
      "type": "http",
      "url": "https://appie.run/mcp",
      "headers": { "Authorization": "Bearer ${APPIE_API_KEY}" }
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Check it with claude mcp list. With a valid key, the status should read Connected. Note that claude mcp get appie prints the header value in plain text, so don't share that output.

Codex CLI.

codex mcp add appie --url https://appie.run/mcp --bearer-token-env-var APPIE_API_KEY
Enter fullscreen mode Exit fullscreen mode

This writes the following to ~/.codex/config.toml:

[mcp_servers.appie]
url = "https://appie.run/mcp"
bearer_token_env_var = "APPIE_API_KEY"
Enter fullscreen mode Exit fullscreen mode

Codex stores only the variable name and reads the key each time it starts. codex mcp list reads the config but doesn't connect. Start codex and run /mcp to see the tools.

Smithery. Paste the key into the apiKey field. Smithery sends it as X-Api-Key.

The commands above were run against appie.run with a placeholder key (which returned the expected 401). The success output described here is what you should expect with a real key, not something we captured.

Step 3: Check and set your Reddit settings

Ask your agent to call get_reddit_settings. It's free. If you haven't saved anything yet and your project Brain has a website, about text, key messages or competitors, Appie saves those as your Reddit settings and returns them. That gives you a starting point.

Then refine with update_reddit_settings (also free). Send only the fields you want to change: keywords, competitors or custom_prompt. Each list holds up to 25 items. Illustrative arguments:

{
  "keywords": ["reddit monitoring", "social listening for startups", "find leads on reddit", "brand mentions tool", "reply to reddit threads"],
  "competitors": ["CompetitorA", "CompetitorB", "CompetitorC"],
  "custom_prompt": "Help first. Disclose that I work on the product. No links unless asked."
}
Enter fullscreen mode Exit fullscreen mode

The docs don't say whether a list replaces or appends to what's saved. Send the full list each time, and check the response to see what was stored.

Step 4: List today's mentions

Call list_reddit_mentions. It lists Reddit threads for your saved keywords and competitors, with the latest reply draft for each. limit defaults to 20, maximum 50.

A scan runs at most once per day and costs 10 credits. Calling it again the same day lists results without a new scan. If your balance is too low, the result has scan_skipped: true and a message saying no scan ran.

This is a monitored feed of your terms, not a search of all of Reddit, and it isn't real-time.

Step 5: Draft a reply and post it yourself

Pick a mention and call draft_reddit_reply with its mention_id. It costs 2 credits and returns content (the draft) and source_url (the thread). Illustrative shape:

{ "content": "...", "source_url": "https://www.reddit.com/r/...", "credits_remaining": 488 }
Enter fullscreen mode Exit fullscreen mode

(The credits_remaining number is only an example.)

Then:

  1. Open the thread and read the whole conversation.
  2. Check the subreddit's rules on self-promotion.
  3. Edit the draft so it answers the question first.
  4. Disclose that you work on the product if you mention it.
  5. Paste it from your own account.

Appie doesn't post to Reddit. If you only need a one-off draft for a thread you found yourself, Appie's free AI Reply Generator takes the message, a style and a length, and returns an editable reply without any setup.

Prompts to paste

  • "Call get_reddit_settings and show me what's saved. Suggest five more buyer-intent keywords."
  • "List today's Reddit mentions and group them by buying intent: asking for a tool, comparing tools, complaining, other."
  • "Draft a reply to the top 'asking for a tool' mention. Answer the question first and mention us only at the end, with a disclosure."
  • "Show credits_remaining after each call."

What it costs

  • get_reddit_settings: Credits (as of 22 Oct 2026): 0
  • update_reddit_settings: Credits (as of 22 Oct 2026): 0
  • list_reddit_mentions: Credits (as of 22 Oct 2026): 10 per scan, at most one scan per day
  • draft_reddit_reply: Credits (as of 22 Oct 2026): 2 per draft

Worked example (illustrative arithmetic from the docs, not a promise of usage): a daily scan for 30 days is 300 credits, and 50 drafts are 100 credits. Together that's 400 of the Free plan's 500 credits. Paid plans are Starter at $19/month (2,000 credits) and Standard at $49/month (5,000 credits), per appie.run/pricing.

Troubleshooting

  • HTTP 401. The key is missing, wrong or was regenerated. Copy the current esk_ key from the API page. In Claude Code, a 401 with an Authorization header set means a bad key, not an OAuth prompt.
  • app_not_allowed. The person who generated the key can't use the Reddit app in that project. A project owner can use every app.
  • insufficient_credits. The response includes required and available. Top up or wait for your next cycle.
  • Codex shows no Appie tools. Check echo $APPIE_API_KEY in the same shell that starts Codex.
  • Empty results. Widen your keywords: add problem phrases your buyers type, not only your brand name.

FAQ

How do I connect a Reddit MCP server to Cursor?

Add the server URL and an Authorization header to your Cursor MCP config, as in Step 2.

How do I add an MCP server with an API key in Claude Code?

claude mcp add --transport http <name> <url> --header "Authorization: Bearer <key>".

Can Claude post to Reddit for me?

Not with Appie. It drafts the reply, and you paste it yourself.

How often does the Reddit scan run?

At most once per day, at 10 credits per scan.


Grab an API key, add https://appie.run/mcp to Cursor, and run your first Reddit scan on the Free plan's 500 credits: appie.run/docs/mcp. Skills and examples are also on GitHub.

Top comments (0)