by ismailsaoulaj (community) Claude Desktop, Claude Code, OpenCode, любой MCP-клиент, Python 3.11+, macOS, Linux
Production-grade MCP-сервер для Reddit: поиск, получение и анализ обсуждений с устойчивым rate-limiting и умной фильтрацией шума для LLM.
Доступ к BoardGameGeek и данным о настольных играх через Model Context Protocol — поиск и фильтрация …
MCP-сервер для живых данных о трендах: Google Search, YouTube, TikTok, Reddit, Amazon, Wikipedia, тональность новостей, веб-трафик, …
MCP-сервер для доступа к актуальной документации библиотек прямо в контексте LLM. Вместо устаревших обучающих данных — …
Официальный MCP от команды Chrome DevTools: дает AI-агентам полный доступ к инструментам разработчика браузера. Автоматизация через …
# Запуск локально в режиме STDIO для Cursor/Claude uvx reddit-mcp-ai # Или запуск как фонового сервиса в режиме Streamable HTTP для Open WebUI / веб-клиентов uvx reddit-mcp-ai --transport http --host 0.0.0.0 --port 8000 # Сборка Docker-образа docker build -t reddit-mcp-server . # Запуск контейнера в фоне docker run -d -p 8000:8000 --name reddit-mcp reddit-mcp-server
Дайте вашему ИИ-ассистенту живое структурированное окно в Reddit — без каких-либо API-ключей.
Reddit MCP Server — это сервер с открытым исходным кодом по протоколу Model Context Protocol (MCP), который подключает ИИ-ассистентов (Claude, Cursor, Open WebUI и другие) к контенту Reddit в реальном времени. Он предоставляет структурированные инструменты для поиска обсуждений, извлечения мнений сообщества и отслеживания нишевых трендов — с отказоустойчивым многоуровневым резервным движком, работающим даже без каких-либо учётных данных.
# Get started in one command — no sign-up, no API keys
uvx reddit-mcp-ai
Ниже представлена визуальная диаграмма последовательности, показывающая, как ИИ-модель взаимодействует с этим сервером, включая нашу систему резервирования без конфигурации (Zero-Config Fallback):
sequenceDiagram
autonumber
actor AI as AI Assistant (Claude/Cursor)
participant MCP as FastMCP Server (STDIO)
participant Tools as Application Tools
participant Reddit as Reddit API (OAuth)
participant Fallback as DDG & Arctic Shift
AI->>MCP: Request (e.g., search_knowledge)
MCP->>Tools: Route request
Tools->>Reddit: Attempt Fetch (Resilient HTTP)
alt Has OAuth Credentials & API Healthy
Note over Reddit,Tools: Handles 429 (Rate Limits) with Retry-After backoff!
Reddit-->>Tools: Return Official JSON payload
else Zero-Config OR Reddit API Fails
Note over Tools,Fallback: Graceful Degradation Active
Tools->>Fallback: Execute Search / Fetch Archive
Fallback-->>Tools: Return Alternative JSON payload
end
Tools->>Tools: Refine comments (filter bots & short noise)
Tools-->>MCP: Map to Domain Models (Pydantic)
MCP-->>AI: Return clean JSON-RPC Response (stdout-safe)
Official OAuth → Session Cookie → Browser-Impersonated JSON → Arctic Shift RSS → DDG. ИИ всегда получает данные, даже когда Reddit ограничивает частоту запросов или учётные данные отсутствуют.Retry-After, ограниченный совокупный дедлайн в 14 секунд и автоматическое самовосстановление OAuth-токена при ошибках 401 во время выполнения запроса.8000 для Open WebUI, LibreChat и n8n.| Название инструмента | Назначение | Лучше всего подходит для |
|---|---|---|
search_knowledge |
Широкий веб-поиск через DuckDuckGo | Поиск технических объяснений и фактических обсуждений по всему Reddit. |
explore_reddit_discussions |
Поиск обсуждений с метриками | Оценка тональности, консенсуса по голосам и исследование тем. |
extract_public_opinion |
Глубокое извлечение дерева комментариев и фильтрация | Чтение высококачественных мнений сообщества без шума и ботов. |
analyze_niche_trends |
Отслеживание популярных и набирающих популярность постов в реальном времени | Выявление актуальных проблем, болевых точек или новых идей в нише. |
get_saved_posts |
Собственные сохранённые посты пользователя за период времени | Повторный просмотр, обобщение или разбор закладок (требуется URL ленты сохранённых элементов). |
Вы можете запустить этот сервер напрямую без установки с помощью uvx (рекомендуется) или pipx:
# Run locally (STDIO mode) for Cursor/Claude
uvx reddit-mcp-ai
# OR run as a background service (Streamable HTTP mode) for Open WebUI / Web clients
uvx reddit-mcp-ai --transport http --host 0.0.0.0 --port 8000
Настройте окружение (необязательно):
Чтобы разблокировать официальный Reddit API, аутентификацию через cookie или сохранённые посты, вы можете либо передать переменные окружения через конфигурацию вашего MCP-клиента, либо создать глобальный файл конфигурации по пути ~/.config/reddit-mcp-server/.env (Mac/Linux) или %APPDATA%\reddit-mcp-server\.env (Windows):
# Optional: Official Reddit App Credentials
REDDIT_CLIENT_ID="your_client_id_here"
REDDIT_CLIENT_SECRET="your_client_secret_here"
# Optional: Direct Cookie Auth (Instant sub-second access & pagination)
# Extract from DevTools -> Application -> Cookies -> reddit_session (Use an alt account)
REDDIT_SESSION_COOKIE="your_reddit_session_cookie_here"
# Optional: Concurrency & Rate Limiting Shields
REDDIT_MAX_CONCURRENCY=4
REDDIT_RATE_LIMIT_PER_MINUTE=40
Также рассмотрите возможность установить REDDIT_USER_AGENT в описательное уникальное значение — руководства по API Reddit требуют этого даже в режиме без конфигурации. Если значение не задано, сервер генерирует значение по умолчанию со случайным суффиксом для каждой установки (сохраняемым в вашем каталоге состояния XDG, чтобы оно оставалось стабильным между перезапусками).
Чтобы включить инструмент get_saved_posts, добавьте URL вашей приватной ленты сохранённых элементов:
REDDIT_SAVED_RSS_URL="https://www.reddit.com/user/YOUR_USERNAME/saved.rss?feed=YOUR_FEED_TOKEN&user=YOUR_USERNAME"
Выполнив вход в аккаунт, откройте reddit.com/prefs/feeds/ и скопируйте точную ссылку для «ваших сохранённых ссылок». Токен feed — это учётные данные вашего аккаунта — обращайтесь с ним как с паролем (сервер никогда не записывает его в логи и отклоняет запросы к хостам, отличным от Reddit). Лента содержит последние ~100 сохранённых элементов; баллы и количество комментариев через неё недоступны.
Предоставлен многоэтапный (multi-stage) Dockerfile. Контейнер настроен на запуск в режиме SSE (HTTP) по умолчанию на порту 8000, что делает его идеальным микросервисом.
# Build the image
docker build -t reddit-mcp-server .
# Run it in the background
docker run -d -p 8000:8000 --name reddit-mcp reddit-mcp-server
services:
reddit-mcp:
build: .
container_name: reddit-mcp
ports:
- "8000:8000"
restart: unless-stopped
environment:
# Optional Configuration
- REDDIT_CLIENT_ID=your_id_optional
- REDDIT_CLIENT_SECRET=your_secret_optional
Примечание: При использовании Docker в режиме STDIO замените команду в конфигурациях клиентов на
docker, а аргументы — наrun -i --rm reddit-mcp-server.
Отредактируйте ваш файл конфигурации:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%\Claude\claude_desktop_config.json
Простая настройка без конфигурации (рекомендуется):
{
"mcpServers": {
"reddit": {
"command": "uvx",
"args": [
"reddit-mcp-ai"
]
}
}
}
Полная настройка с дополнительными функциями (OAuth и сохранённые посты):
{
"mcpServers": {
"reddit": {
"command": "uvx",
"args": [
"reddit-mcp-ai"
],
"env": {
"REDDIT_CLIENT_ID": "your_client_id_here",
"REDDIT_CLIENT_SECRET": "your_client_secret_here",
"REDDIT_SAVED_RSS_URL": "your_feed_url_here"
}
}
}
}
Перейдите в Настройки > Функции > MCP и добавьте новый сервер на основе команды:
- Тип: команда
- Имя: Reddit
- Команда: uvx reddit-mcp-ai
- Переменные окружения: (необязательно) добавьте сюда REDDIT_SAVED_RSS_URL и ссылку на вашу ленту, если хотите использовать функцию сохранённых постов.
При запуске сервера через Docker или в режиме Streamable HTTP:
1. Перейдите в Панель администратора > Настройки > Внешние подключения / Инструменты.
2. Добавьте новый MCP-сервер.
3. Тип: MCP (Streamable HTTP)
4. URL: http://localhost:8000/mcp (используйте http://host.docker.internal:8000/mcp, если Open WebUI также запущен в Docker).
Мы уделяем первостепенное внимание высокому покрытию тестами. Мы мокируем весь сетевой трафик, обеспечивая мгновенное и надёжное выполнение тестов.
# Install development dependencies (using uv — recommended)
uv sync --locked --extra dev
# Or with pip
pip install -e ".[dev]"
# Execute pytest
uv run pytest tests/
npx @modelcontextprotocol/inspector uvx reddit-mcp-ai
Эта команда запустит веб-интерфейс в браузере, где вы сможете напрямую вызывать инструменты search_knowledge, explore_reddit_discussions, extract_public_opinion и analyze_niche_trends и изучать JSON-ответы.
Любой вклад приветствуется! Вот как начать:
uv sync --locked --extra devgit checkout -b feature/your-feature-name uv run ruff check .
uv run ruff format .
uv run pytest tests/
Сведения об архитектуре см. в docs/architecture.md.
Чтобы добавить собственный поисковый провайдер, см. src/reddit_mcp/infrastructure/search/providers/README.md.
Перед отправкой, пожалуйста, ознакомьтесь с CONTRIBUTING.md и CODE_OF_CONDUCT.md.
Огромная благодарность каждому, кто помогает сделать Reddit MCP Server ещё лучше!