A read-only Reddit MCP server that needs no Reddit account, no API key, and no browser. It reads threads, comments and subreddits from the Arctic Shift archive over plain keyless HTTP.
One runtime dependency, zeromcp, keeps simple-reddit-mcp lightweight and quick to start.
- Python 3.11 or newer
uv(recommended) orpip
uvx simple-reddit-mcpThe server speaks MCP over stdio: JSON-RPC on stdout, logs on stderr.
Claude:
claude mcp add reddit --scope user -- uvx simple-reddit-mcpor
{
"mcpServers": {
"reddit": {
"command": "uvx",
"args": ["simple-reddit-mcp"]
}
}
}Codex — in ~/.codex/config.toml:
[mcp_servers.reddit]
command = "uvx"
args = ["simple-reddit-mcp"]Implemented:
| Tool | Arctic Shift endpoint | Purpose |
|---|---|---|
get_thread |
/api/posts/ids + /api/comments/tree |
A post plus its comment tree, from any reddit URL or id |
get_posts |
/api/posts/ids |
Bulk post lookup by id (up to 500) |
get_comments |
/api/comments/ids |
Bulk comment lookup by id (up to 500) |
search_posts |
/api/posts/search |
Discovery by subreddit / keyword / author / date range |
search_comments |
/api/comments/search |
Comment-level search; with author= it doubles as user history |
search_subreddits |
/api/subreddits/search |
Find subreddits by name, prefix, size, or age |
Not currently implemented:
| Tool | Arctic Shift endpoint |
|---|---|
search_users |
/api/users/search |
aggregate_posts / aggregate_comments |
/api/{posts,comments}/search/aggregate |
time_series |
/api/time_series |
subreddit_rules |
/api/subreddits/rules |
subreddit_wiki |
/api/subreddits/wikis, /api/subreddits/wikis/list |
user_interactions |
/api/users/interactions/{users,subreddits}, .../users/list |
user_flairs |
/api/users/aggregate_flairs |
resolve_short_link |
/api/short_links |
| — | /api/subreddits/ids, /api/users/ids |
- Read-only. Voting, commenting and posting require Reddit auth
scoreandnum_commentsare placeholders for ~36h. Arctic Shift archives a post the moment it appears and backfills vote data later, so fresh posts report1and0. Rendered output flags anything under 36h old.- Free service = no uptime SLA.
uv sync --group dev
uv run --group dev pytestTo publish a new release to PyPI, bump version and push to master:
uv version --bump patch # bumps pyproject.toml and relocks
git commit -am "release $(uv version --short)"
git pushMIT licensed.
- Built on
zeromcp(MIT). - Data comes from Arctic Shift, a free service; be considerate with it.