Reddit Content API — MCP-сервер для работы с Reddit
Этот проект предоставляет набор инструментов MCP (Model Context Protocol) для взаимодействия с Reddit через Claude Desktop и Cursor. Сервер позволяет читать посты, анализировать обсуждения, создавать публикации, оставлять комментарии и голосовать.
Возможности
- Чтение горячих постов из любого сабреддита
- Получение содержимого поста вместе с комментариями
- Создание новых постов (текстовых или ссылочных)
- Добавление комментариев к постам или ответов на комментарии
- Голосование за посты и комментарии (лайк/дизлайк)
Требования
- Python 3.10 или новее
- Аккаунт на Reddit
- Зарегистрированное приложение Reddit (для получения
client_id и client_secret)
- Виртуальное окружение (venv или аналогичное)
- Claude Desktop и/или Cursor (опционально, но рекомендуется)
Установка
- Клонируйте репозиторий:
git clone https://github.com/jlcases/mcp-reddit.git
cd mcp-reddit
- Создайте и активируйте виртуальное окружение:
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
- Установите зависимости (без установки пакета в режиме редактирования):
pip install -r requirements.txt
Важно: Не выполняйте pip install -e . — это может вызвать проблемы с импортом модулей.
Настройка окружения
Создайте файл .env в корне проекта со следующими переменными:
REDDIT_CLIENT_ID=ваш_client_id
REDDIT_CLIENT_SECRET=ваш_client_secret
REDDIT_REFRESH_TOKEN=ваш_refresh_token
Для получения refresh_token запустите:
python -m mcp_reddit.auth_helper
Следуйте инструкциям для авторизации приложения. Токен автоматически сохранится в .env.
Структура проекта
mcp-reddit/
├── src/
│ └── mcp_reddit/
│ ├── __init__.py
│ ├── main.py # Точка входа MCP-сервера
│ ├── reddit_fetcher.py # Реализация инструментов Reddit
│ └── auth_helper.py # Помощник для генерации токенов
├── .env # Переменные окружения (создаётся вручную)
├── requirements.txt
├── setup.py
└── README.md
Запуск сервера напрямую
Для разработки и тестирования можно запустить сервер вручную:
cd /путь/к/mcp-reddit
.venv/bin/python src/mcp_reddit/main.py
В логах должно появиться:
- Инициализация сервера
- Проверка аутентификации Reddit
- Регистрация 10 инструментов (5 оригинальных + 5 с префиксом)
- Сообщение "Running MCP server..."
Конфигурация для Claude Desktop
Найдите файл конфигурации:
- macOS:
/Users/ваше_имя/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
Добавьте конфигурацию для reddit-content-api:
{
"reddit-content-api": {
"command": "/полный/путь/к/mcp-reddit/.venv/bin/python",
"args": ["-m", "mcp_reddit.main", "--stdio"],
"cwd": "/полный/путь/к/mcp-reddit",
"env": {
"PYTHONPATH": "/полный/путь/к/mcp-reddit/src:/полный/путь/к/mcp-reddit",
"DEBUG": "true"
}
}
}
Важно: PYTHONPATH должен включать обе директории (src и корень проекта) в указанном порядке, разделённые : (Unix/macOS) или ; (Windows).
Конфигурация для Cursor
Найдите файл конфигурации:
- macOS:
/Users/ваше_имя/.cursor/mcp.json
- Windows:
%USERPROFILE%\.cursor\mcp.json
Добавьте ту же конфигурацию, что и для Claude, скорректировав пути.
Использование инструментов
После настройки в Claude/Cursor станут доступны следующие инструменты (с префиксом mcp_reddit_content_api_):
fetch_reddit_hot_threads — получить горячие посты из сабреддита
fetch_reddit_post_content — проанализировать пост и его комментарии
create_reddit_post — создать новый пост
add_reddit_comment — добавить комментарий
vote_on_reddit_content — проголосовать за контент
Примеры
Получение горячих постов:
- Сабреддит:
python
- Количество постов: 5
Создание поста:
- Сабреддит:
test
- Заголовок: "Test from MCP"
- Тип контента: text
- Содержимое: "This is a test from the Reddit Content API using MCP."
Устранение неполадок
Отображается только 2 инструмента вместо 10
Причина: Python импортирует установленную версию пакета из site-packages, а не локальный код из src/.
Решение:
- Убедитесь, что не устанавливали пакет в режиме редактирования (
pip install -e .)
- Явно добавьте
src в начало PYTHONPATH в конфигурации
- Если уже установили — удалите:
pip uninstall reddit-content-api
- Очистите кэш Python: удалите все директории
__pycache__
- Переустановите зависимости:
pip install -r requirements.txt
Ошибка "Cannot create post: Reddit authentication is not configured properly"
Причина: Refresh token недействителен или истёк.
Решение: Запустите python -m mcp_reddit.auth_helper заново и убедитесь, что токен сохранён в .env.
Инструменты не отображаются в Claude/Cursor
Причина: Неправильная конфигурация в файлах настроек.
Решение:
- Проверьте пути и особенно
PYTHONPATH в конфигурационных файлах
- Полностью перезапустите Claude/Cursor после изменения конфигурации
Вклад в проект
Если вы нашли ошибку или хотите улучшить проект, создайте issue или отправьте pull request.
Лицензия
Проект распространяется под лицензией MIT. Подробнее — в файле LICENSE.
Поддержка проекта
Если проект оказался полезным, поставьте звезду на GitHub и подпишитесь на обновления. Ваша поддержка помогает делать проект лучше.
Комментарии
Комментариев пока нет. Будьте первым.