Skip to main content
Glama
prabhattripathi9351

leetcode-github-assistant

🤖 LeetCode GitHub MCP Assistant

Verwandeln Sie Ihr persönliches LeetCode-Lösungs-Repository in ein abfragbares KI-Tool – direkt in Claude Desktop.

GitHub Repo → Metadata Index → MCP Server → Claude Desktop (natürliche Sprachabfragen)

Python 3.x | MCP SDK | GitHub REST API | LeetCode GraphQL API | MIT License


🧠 Was ist das?

Dieses Projekt verbindet ein persönliches GitHub-Repository mit gelösten LeetCode-Problemen direkt mit Claude Desktop über das Model Context Protocol (MCP). Anstatt manuell in GitHub zu stöbern, um „alle Array-Probleme, die ich gelöst habe" zu finden oder nach einer bestimmten Lösungsdatei zu suchen, können Sie Claude Desktop einfach in natürlicher Sprache fragen – und es antwortet mit Live-Daten, die direkt aus Ihrem Repository abgerufen werden.

Entwickelt als persönliches Produktivitätstool, um DSA/LeetCode-Übungen durch Konversation durchsuchbar und überprüfbar zu machen, anstatt manuell in Dateien zu wühlen.

Es zeigt:

  • Jedes gelöste Problem, getaggt nach Thema (array, dynamic-programming, graph, usw.)

  • Die Schwierigkeit jedes Problems (easy/medium/hard), direkt von LeetCode abgerufen

  • Den vollständigen Lösungscode, live von GitHub auf Anfrage abgerufen


Related MCP server: Company Docs MCP Server

✨ Funktionen

Fähigkeit

Beschreibung

🔍 Themenbasierte Suche

Fragen Sie nach einem beliebigen Thema (z. B. „array", „dynamic-programming") und erhalten Sie jedes passende gelöste Problem mit seiner Schwierigkeit

📄 Live-Codeabruf

Rufen Sie den vollständigen Lösungscode für jedes Problem nach Name oder Slug direkt von GitHub ab

🏷️ Automatisches Tagging

Schwierigkeits- und Themen-Tags werden automatisch von LeetCode's eigener GraphQL-API abgerufen – kein manuelles Tagging erforderlich

Schnelle parallele Indizierung

Verwendet Multithreading, um Metadaten für jedes Problem gleichzeitig abzurufen, anstatt einzeln

🔌 Native Claude Desktop-Integration

Läuft als lokaler MCP-Server – kein Wechseln von Browser-Tabs, kein Kopieren und Einfügen von Links


🏗️ Architektur & 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"
└─────────────────────────┘

Architecture Diagram

MCP Explained

🛠️ Technologie-Stack

Kategorie

Technologie

Sprache

Python 3.x

MCP-Server

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

Datenquelle

GitHub REST API, LeetCode GraphQL API

Parallelität

concurrent.futures.ThreadPoolExecutor

HTTP-Client

requests

Client

Claude Desktop (lokale MCP-Server-Konfiguration)


📁 Projektstruktur

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

🔌 Tool-Referenz (MCP-Tools)

Tool

Eingabe

Beschreibung

search_by_topic

topic: string (z. B. "array")

Gibt alle gelösten Probleme mit diesem Thema zurück, mit Schwierigkeit

get_solution_code

problem_name: string (z. B. "0877-stone-game.py" oder "stone-game")

Ruft den vollständigen Lösungscode live von GitHub ab und gibt ihn zurück


🚀 Erste Schritte

Voraussetzungen

  • Python 3.10+

  • Ein GitHub-Repository mit Ihren eigenen gelösten LeetCode-Problemen (öffentlich, oder fügen Sie ein Token für private Repositories hinzu)

  • Claude Desktop installiert

1. Klonen und Abhängigkeiten installieren

git clone https://github.com/<your-username>/<this-repo>.git
cd <this-repo>
pip install -r requirements.txt

2. Repository-Namen konfigurieren

Öffnen Sie build_index_github.py und setzen Sie:

GITHUB_REPO = "your-username/your-leetcode-repo"

3. Index erstellen

python build_index_github.py

Dies erstellt index.json mit der Schwierigkeit und den Themen-Tags jedes Problems.

4. Mit Claude Desktop verbinden

Öffnen Sie Claude Desktop → Einstellungen → Entwickler → Konfiguration bearbeiten und fügen Sie hinzu:

{
  "mcpServers": {
    "leetcode-github-assistant": {
      "command": "python",
      "args": ["/absolute/path/to/mcp_server.py"]
    }
  }
}

💡 Unter Windows verwenden Sie doppelte Backslashes im Pfad (z. B. "D:\\Leetcode_mcp_server\\mcp_server.py") und verwenden Sie den vollständigen Pfad von python.exe, wenn python nicht in Ihrem System-PATH ist.

5. Claude Desktop neu starten

Beenden Sie es vollständig (End Task im Task-Manager, nicht nur das Fenster schließen) und öffnen Sie es erneut. Überprüfen Sie Einstellungen → Entwickler – der Server sollte den Status running anzeigen.

6. Fragen Sie einfach

"array topic ke problems batao"
"show me the code for two-sum"

🗺️ Roadmap-Ideen

  • Hinzufügen eines Tools zur Filterung nach Schwierigkeit (z. B. „zeig mir alle schweren Probleme")

  • Hinzufügen eines Tools zur „Zufallsproblem-Vorschlag" für die Übung

  • Automatische Synchronisierung des Index, wenn neue Commits in das Repository gepusht werden (Webhook oder geplanter Neuaufbau)

  • Unterstützung privater Repositories über GitHub-Personal-Access-Token

  • Hinzufügen von Wiederholungs-/Cache-Logik für LeetCode-GraphQL-Aufrufe, um die Indizierungszeit zu reduzieren


🤝 Mitwirken

Dies ist ein persönliches Lernprojekt, aber Issues und Vorschläge sind willkommen – zögern Sie nicht, einen PR oder ein Issue zu eröffnen.


Entwickelt, um persönliche LeetCode-Übungen in Gesprächsform zu bringen – anstatt in GitHub-Ordnern zu wühlen, einfach fragen.

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