leetcode-github-assistant
🤖 LeetCode GitHub MCP Assistant
Превратите ваш личный репозиторий решений LeetCode в инструмент ИИ с возможностью запросов — прямо внутри Claude Desktop.
Репозиторий GitHub → Индекс метаданных → MCP-сервер → Claude Desktop (запросы на естественном языке)
Python 3.x | MCP SDK | GitHub REST API | LeetCode GraphQL API | MIT License
🧠 Что это?
Этот проект подключает личный репозиторий GitHub с решёнными задачами LeetCode напрямую к Claude Desktop с помощью Model Context Protocol (MCP). Вместо ручного просмотра GitHub в поисках «всех задач по массивам, которые я решил» или поиска конкретного файла с решением, вы можете просто спросить Claude Desktop на обычном языке — и он ответит, используя живые данные, полученные прямо из вашего репозитория.
Создан как личный инструмент продуктивности, чтобы сделать практику DSA/LeetCode доступной для поиска и повторения через разговор, вместо ручного копания в файлах.
Он предоставляет:
Каждая решённая задача, помеченная по теме (array, dynamic-programming, graph и т.д.)
Сложность каждой задачи (easy/medium/hard), полученная с самого LeetCode
Полный код решения, получаемый в реальном времени с GitHub по запросу
Related MCP server: LeetCode MCP Server
✨ Возможности
Возможность | Описание |
🔍 Поиск по темам | Запросите любую тему (например, «array», «dynamic-programming») и получите все соответствующие решённые задачи с их сложностью |
📄 Получение кода в реальном времени | Получайте полный код решения для любой задачи по имени или слагу, прямо с GitHub |
🏷️ Автоматическая разметка | Теги сложности и темы автоматически извлекаются из собственного GraphQL API LeetCode — ручная разметка не нужна |
⚡ Быстрая параллельная индексация | Использует многопоточность для одновременного получения метаданных для каждой задачи, а не по одной |
🔌 Нативная интеграция с Claude Desktop | Работает как локальный MCP-сервер — без переключения вкладок браузера, без копирования ссылок |
🏗️ Архитектура и конвейер
┌─────────────────────────┐
│ GitHub Repo │ → your solved LeetCode .py/.cpp/.java files
│ Daily_leet_code │
└────────────┬─────────────┘
│ GitHub REST API (recursive file listing)
▼
┌─────────────────────────┐
│ build_index_github.py │ → extracts slug from filename
│ (Indexer) │ → queries LeetCode GraphQL for
└────────────┬─────────────┘ difficulty + topic tags (parallel)
│ writes
▼
┌─────────────────────────┐
│ index.json │ → local structured metadata store
└────────────┬─────────────┘
│ loaded at startup
▼
┌─────────────────────────┐
│ mcp_server.py │ → exposes 2 tools over stdio:
│ (MCP Server) │ search_by_topic, get_solution_code
└────────────┬─────────────┘
│ MCP / JSON-RPC over stdio
▼
┌─────────────────────────┐
│ Claude Desktop │ → "array topic ke problems batao"
│ (spawns server locally) │ → "0877-stone-game ka code dikhao"
└─────────────────────────┘
🛠️ Технологический стек
Категория | Технология |
Язык | Python 3.x |
MCP-сервер |
|
Источник данных | GitHub REST API, LeetCode GraphQL API |
Параллельность |
|
HTTP-клиент |
|
Клиент | Claude Desktop (локальная конфигурация MCP-сервера) |
📁 Структура проекта
Leetcode_mcp_server/
├── build_index_github.py # Indexer: scans GitHub repo, builds index.json
├── mcp_server.py # MCP server: exposes search_by_topic & get_solution_code
├── index.json # Auto-generated metadata index (gitignored)
├── requirements.txt # Python dependencies
└── .gitignore🔌 Справочник инструментов (MCP-инструменты)
Инструмент | Входные данные | Описание |
|
| Возвращает все решённые задачи, помеченные этой темой, с указанием сложности |
|
| Получает и возвращает полный код решения в реальном времени с GitHub |
🚀 Начало работы
Предварительные требования
Python 3.10+
Репозиторий GitHub с вашими решёнными задачами LeetCode (публичный или добавьте токен для приватных репозиториев)
Claude Desktop установлен
1. Клонируйте и установите зависимости
git clone https://github.com/<your-username>/<this-repo>.git
cd <this-repo>
pip install -r requirements.txt2. Настройте имя вашего репозитория
Откройте build_index_github.py и укажите:
GITHUB_REPO = "your-username/your-leetcode-repo"3. Создайте индекс
python build_index_github.pyЭто создаст index.json со сложностью и тегами тем для каждой задачи.
4. Подключите к Claude Desktop
Откройте Claude Desktop → Настройки → Разработчик → Изменить конфигурацию и добавьте:
{
"mcpServers": {
"leetcode-github-assistant": {
"command": "python",
"args": ["/absolute/path/to/mcp_server.py"]
}
}
}💡 В Windows используйте двойные обратные слэши в пути (например,
"D:\\Leetcode_mcp_server\\mcp_server.py"), и используйте полный путь кpython.exe, еслиpythonотсутствует в системном PATH.
5. Перезапустите Claude Desktop
Полностью завершите работу (End Task в диспетчере задач, а не просто закройте окно) и откройте снова. Проверьте Настройки → Разработчик — сервер должен показывать статус running.
6. Спрашивайте
"array topic ke problems batao"
"show me the code for two-sum"🗺️ Идеи для дорожной карты
Добавить инструмент фильтрации по сложности (например, «покажи все сложные задачи»)
Добавить инструмент «случайное предложение задачи» для практики
Автоматическая синхронизация индекса при каждом новом коммите в репозиторий (вебхук или плановая пересборка)
Поддержка приватных репозиториев через персональный токен GitHub
Добавить логику повторов/кэширования для вызовов GraphQL LeetCode для сокращения времени индексации
🤝 Вклад
Это личный учебный проект, но вопросы и предложения приветствуются — не стесняйтесь открывать PR или issue.
Создан, чтобы сделать личную практику LeetCode разговорной — вместо того чтобы копаться в папках GitHub, просто спросите.
This server cannot be deployed
Maintenance
Related MCP Connectors
Ask any GitHub repository a question. Get source-backed answers.
Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.
A cited wiki of your GitHub repo: search, read pages, find symbols and ask, with line citations.
Search Luogu problems, fetch statements, explore problem sets and get practice recommendations.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables interactive LeetCode practice with AI-guided authentication, problem solving, solution submission, and learning mode.2447 npm12MIT
- FlicenseNot gradedqualityDmaintenanceEnables Claude to search and retrieve LeetCode problems, user profiles, and statistics through natural language.-
- AlicenseAqualityCmaintenanceEnables integration with LeetCode APIs to retrieve problems, contests, solutions, and user data, support daily challenges and advanced searches, and perform authenticated actions such as running or submitting code and managing notes.997 npmMIT
- FlicenseNot gradedqualityAmaintenanceEnables automated access to LeetCode problems, solutions, contests, and public or authenticated user data across leetcode.com and leetcode.cn, including problem search, profile and submission retrieval, code execution, and note management.-
