CiteRocket MCP
Official# Reddit MCP: the Reddit API for Claude, Cursor and any MCP client
[](https://www.npmjs.com/package/@citerocket/reddit-mcp)
[](./LICENSE)
The official **[CiteRocket](https://www.citerocket.com)** MCP server, the fastest way
to use the **Reddit API** from an AI assistant. Give Claude, Cursor, or any
[Model Context Protocol](https://modelcontextprotocol.io) client direct access to
Reddit data: **search Reddit posts and comments, pull a subreddit's top, read full
comment trees, look up users and their karma, search communities, media and users,
and run shadowban checks**, all over one clean, fast, camelCase JSON API.
**Tools stay current automatically.** When CiteRocket ships a new endpoint, the new
tool shows up on your next restart, with no reinstall and no config change.
โ **[Get an API key at citerocket.com](https://app.citerocket.com)** ยท **[API docs](https://www.citerocket.com/docs)** ยท **[Rate limits](https://www.citerocket.com/docs/rate-limits)**
---
## Install
Add it to your MCP client config (Claude Desktop, Cursor, Windsurf, etc.):
```json
{
"mcpServers": {
"citerocket": {
"command": "npx",
"args": ["-y", "@citerocket/reddit-mcp@latest"],
"env": {
"CITEROCKET_API_KEY": "cite_live_..."
}
}
}
}
```
Get your `CITEROCKET_API_KEY` from the [CiteRocket dashboard](https://app.citerocket.com).
That's all it needs.
Or via the Claude Code CLI:
```bash
claude mcp add citerocket -e CITEROCKET_API_KEY=cite_live_... -- npx -y @citerocket/reddit-mcp@latest
```
---
## What you can do
Once installed, just ask your assistant naturally:
> "Find the top posts in r/programming this week"
> "Search Reddit for posts about the new iPhone, sorted by top"
> "What's u/spez's karma and account age?"
> "Is u/some_account shadowbanned or suspended?"
> "Get the full comment tree for this post: https://reddit.com/r/..."
> "Search r/startups comments that mention 'pricing'"
> "Show me the rules and moderators of r/webdev"
---
## Tools
All tools are read-only. Query parameters are `snake_case`; responses are
camelCase JSON.
| Tool | What it does |
|------|--------------|
| `get_posts` | Fetch posts from a subreddit |
| `get_search` | Search posts across Reddit |
| `get_comments` | A post's full comment tree |
| `get_post_by_id` | Fetch one post by id |
| `get_sub_by_name_top` | A subreddit's top posts |
| `get_sub_by_name_info` | Subreddit metadata, rules, moderators |
| `get_user_by_name` | User profile and karma |
| `get_user_by_name_comments` | A user's recent comments |
| `get_user_by_name_status` | Account status / shadowban check |
| `get_search_communities` | Search communities |
| `get_search_comments` | Search comments |
| `get_search_media` | Search media |
| `get_search_users` | Search users |
| `get_cite_rocket_overview` | Your credit, usage, and billing snapshot |
The live set is whatever the server pulls from the manifest at startup, so this
table tracks what's shipped today, not a hardcoded ceiling.
---
## How billing works
Every tool call is a normal CiteRocket API call authenticated with your
`CITEROCKET_API_KEY`, metered exactly like direct API usage, no separate MCP
billing. Standard reads cost 1 credit; `get_cite_rocket_overview` is free.
Per-plan QPS ceilings apply, see the [rate limits](https://www.citerocket.com/docs/rate-limits).
---
## Configuration
| Env var | Required | Purpose |
|---------|----------|---------|
| `CITEROCKET_API_KEY` | yes | Your API key, sent as `Authorization: Bearer` on every call. |
If CiteRocket is briefly unreachable at startup, the server falls back to the tool
set bundled in the package so your existing tools keep working.
---
## Development
```bash
npm install
npm run build:manifest # regenerate the bundled tool manifest from the OpenAPI spec
npm run build # compile TypeScript to dist/
```
---
## Links
- ๐ **Website:** [citerocket.com](https://www.citerocket.com)
- ๐ **API docs:** [citerocket.com/docs](https://www.citerocket.com/docs)
- ๐ **Get an API key:** [app.citerocket.com](https://app.citerocket.com)
- ๐ **Status:** [citerocket.com/status](https://www.citerocket.com/status)
- โ๏ธ **Support:** [support@citerocket.com](mailto:support@citerocket.com)
CiteRocket is an independent third-party API for developers and researchers. Not
affiliated with, endorsed by, or sponsored by Reddit, Inc.
## License
MIT
TDQS
Scored across 14 tools
Most tools target clearly distinct resources (posts, comments, users, subreddits), but get_posts and get_sub_by_name_top both return subreddit posts, and get_search could be confused with the more specific get_search_* variants. Descriptions mostly resolve the ambiguity.
All tools consistently use the get_ prefix with snake_case, which is predictable. Some names like get_search and get_sub_by_name_top are slightly awkward or less verb-driven, but the overall pattern is coherent.
14 tools is on the higher end but reasonable for a Reddit data-access server, especially with separate search endpoints for posts, comments, communities, media, and users. Each tool has a distinct enough role that the count feels justified.
The server covers the main read-only Reddit workflows: posts, comments, subreddits, users, and search. However, there is no tool for a user's submitted posts (only comments), and subreddit-specific retrieval is limited to top posts rather than hot/new or other common listings.