Skip to main content
Glama
README.md
# forumport

Reddit as MCP tools, talking to the Reddit API. forumport is a
clean-room rebuild of the core surface of the Reddit MCP server,
under a new name: fresh code, no copied branding.

Auth model — TOKEN-ENV ONLY: tools take `REDDIT_ACCESS_TOKEN`
directly and send it as `Authorization: Bearer` against
`https://oauth.reddit.com`. The OAuth app flow
(REDDIT_CLIENT_ID/REDDIT_CLIENT_SECRET + script/password grant +
refresh) is NOT reproduced.

## Tools (core subset, 12)

`get_subreddit_hot`, `get_subreddit_new`, `get_subreddit_top`,
`search_posts`, `get_post`, `get_post_comments`,
`get_subreddit_about`, `search_subreddits`, `get_user_profile`,
`get_user_posts`, `submit_post`, `create_comment`.

Not in this subset: OAuth app authorization/token/refresh flow,
private messages and inbox, moderation tools, wiki, flair
management, awards/gold, multireddits/collections, user
settings/preferences, subreddit settings/admin, live threads,
media upload, voting and save/hide/report writes beyond
submit/comment, account creation.

## Setup

Create a Reddit access token and set it:

```bash
export REDDIT_ACCESS_TOKEN=...
```

Optionally override the API base with `REDDIT_API_BASE_URL`
(default `https://oauth.reddit.com`) and the User-Agent with
`REDDIT_USER_AGENT` (default `forumport/0.1.0 (MCP rebuild)`).
Every request carries the token as a Bearer header and a
User-Agent header. Without the token, every tool call fails with
an error naming the missing variable.

## CLI

```bash
npx @reneturcios/forumport get_subreddit_hot '{"subreddit":"node","limit":10}'
npx @reneturcios/forumport mcp        # stdio MCP server
```

Each tool name is a subcommand taking one JSON object argument.

## MCP client config

```json
{
  "mcpServers": {
    "forumport": {
      "command": "npx",
      "args": ["-y", "@reneturcios/forumport", "mcp"],
      "env": { "REDDIT_ACCESS_TOKEN": "..." }
    }
  }
}
```

## Docker

```bash
docker run -i -e REDDIT_ACCESS_TOKEN ghcr.io/cloudcorprecords/forumport
```

## Development

```bash
npm install
npm run build
npm test
```

## License

MIT