Skip to main content
Glama
prabhattripathi9351

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: Company Docs 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"
└─────────────────────────┘

Diagrama de arquitectura

MCP explicado

🛠️ Stack Tecnológico

Categoría

Tecnología

Lenguaje

Python 3.x

Servidor MCP

mcp SDK (mcp.server.Server, stdio transport)

Fuente de datos

GitHub REST API, LeetCode GraphQL API

Concurrencia

concurrent.futures.ThreadPoolExecutor

Cliente HTTP

requests

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

search_by_topic

topic: string (ej. "array")

Devuelve todos los problemas resueltos etiquetados con ese tema, con dificultad

get_solution_code

problem_name: string (ej. "0877-stone-game.py" o "stone-game")

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.txt

2. 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.py

Esto 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 de python.exe si python no 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.

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Search Luogu problems, fetch statements, explore problem sets and get practice recommendations.

  • Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…

  • Code intelligence for coding agents: semantic, AST, graph, and full-text search. 279+ languages.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/prabhattripathi9351/leetcode-mcp-assistant'

If you have feedback or need assistance with the MCP directory API, please join our Discord server