leetcode-github-assistant
🤖 LeetCode GitHub MCP Assistant
Convierte tu repositorio personal de soluciones de LeetCode en una herramienta de IA consultable, directamente en Claude Desktop.
GitHub Repo → Metadata Index → MCP Server → Claude Desktop (consultas en lenguaje natural)
Python 3.x | MCP SDK | GitHub REST API | LeetCode GraphQL API | MIT License
🧠 ¿Qué es esto?
Este proyecto conecta un repositorio personal de GitHub con problemas resueltos de LeetCode directamente a Claude Desktop mediante el Model Context Protocol (MCP). En lugar de navegar manualmente por GitHub para encontrar "todos los problemas de arrays que he resuelto" o buscar un archivo de solución específico, puedes simplemente preguntar a Claude Desktop en lenguaje natural — y responde usando datos en vivo extraídos directamente de tu repositorio.
Creado como una herramienta de productividad personal para hacer que la práctica de DSA/LeetCode sea buscable y revisable mediante conversación, en lugar de buscar archivos manualmente.
Muestra:
Cada problema resuelto etiquetado por tema (array, dynamic-programming, graph, etc.)
La dificultad de cada problema (fácil/medio/difícil), obtenida directamente de LeetCode
El código de solución completo, obtenido en vivo desde GitHub bajo demanda
Related MCP server: LeetCode MCP Server
✨ Características
Capacidad | Descripción |
🔍 Búsqueda por tema | Pide cualquier tema (ej. "array", "dynamic-programming") y obtén todos los problemas resueltos que coincidan con su dificultad |
📄 Recuperación de código en vivo | Obtén el código de solución completo para cualquier problema por nombre o slug, directamente desde GitHub |
🏷️ Etiquetado automático | Las etiquetas de dificultad y tema se obtienen automáticamente de la API GraphQL de LeetCode — sin etiquetado manual |
⚡ Indexación paralela rápida | Usa multihilo para obtener metadatos de cada problema de forma concurrente en lugar de uno por uno |
🔌 Integración nativa con Claude Desktop | Se ejecuta como un servidor MCP local — sin cambiar de pestaña en el navegador, sin copiar y pegar enlaces |
🏗️ Arquitectura y Pipeline
┌─────────────────────────┐
│ 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"
└─────────────────────────┘
🛠️ Stack Tecnológico
Categoría | Tecnología |
Lenguaje | Python 3.x |
Servidor MCP |
|
Fuente de datos | GitHub REST API, LeetCode GraphQL API |
Concurrencia |
|
Cliente HTTP |
|
Cliente | Claude Desktop (configuración de servidor MCP local) |
📁 Estructura del Proyecto
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🔌 Referencia de Herramientas (Herramientas MCP)
Herramienta | Entrada | Descripción |
|
| Devuelve todos los problemas resueltos etiquetados con ese tema, con dificultad |
|
| Obtiene y devuelve el código de solución completo en vivo desde GitHub |
🚀 Comenzando
Requisitos previos
Python 3.10+
Un repositorio de GitHub con tus propios problemas resueltos de LeetCode (público, o añade un token para repositorios privados)
Claude Desktop instalado
1. Clonar e instalar dependencias
git clone https://github.com/<your-username>/<this-repo>.git
cd <this-repo>
pip install -r requirements.txt2. Configurar el nombre de tu repositorio
Abre build_index_github.py y establece:
GITHUB_REPO = "your-username/your-leetcode-repo"3. Construir el índice
python build_index_github.pyEsto crea index.json con la dificultad y las etiquetas de tema de cada problema.
4. Conectar con Claude Desktop
Abre Claude Desktop → Configuración → Desarrollador → Editar configuración, y añade:
{
"mcpServers": {
"leetcode-github-assistant": {
"command": "python",
"args": ["/absolute/path/to/mcp_server.py"]
}
}
}💡 En Windows, usa dobles barras invertidas en la ruta (ej.
"D:\\Leetcode_mcp_server\\mcp_server.py"), y usa la ruta completa depython.exesipythonno está en tu PATH del sistema.
5. Reiniciar Claude Desktop
Sal por completo (Finalizar tarea en el Administrador de tareas, no solo cerrar la ventana) y vuelve a abrir. Revisa Configuración → Desarrollador — el servidor debería mostrar el estado running.
6. Pregunta lo que quieras
"array topic ke problems batao"
"show me the code for two-sum"🗺️ Ideas para el Roadmap
Añadir herramienta de filtrado por dificultad (ej. "muéstrame todos los problemas difíciles")
Añadir una herramienta de "sugerencia de problema aleatorio" para practicar
Sincronizar automáticamente el índice cuando se hagan nuevos commits al repositorio (webhook o reconstrucción programada)
Soporte para repositorios privados mediante token de acceso personal de GitHub
Añadir lógica de reintentos/caché para las llamadas GraphQL de LeetCode y reducir el tiempo de indexación
🤝 Contribuciones
Este es un proyecto de aprendizaje personal, pero los problemas y sugerencias son bienvenidos — siéntete libre de abrir un PR o un issue.
Creado para hacer que la práctica personal de LeetCode sea conversacional — en lugar de buscar en carpetas de GitHub, simplemente pregunta.
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.-
