Skip to main content
Glama

LeetCode MCP Server

LeetCode MCP Server

NPM-Version GitHub-Lizenz Schmiedeabzeichen Chinesischer Doc Sterne

Der LeetCode MCP-Server ist ein Model Context Protocol (MCP) -Server, der eine nahtlose Integration mit LeetCode-APIs bietet und erweiterte Automatisierung und intelligente Interaktion mit den Programmierproblemen, Wettbewerben, Lösungen und Benutzerdaten von LeetCode ermöglicht.

Merkmale

  • 🌐 Multi-Site-Support : Unterstützt sowohl die Plattformen leetcode.com (Global) als auch leetcode.cn (China)

  • 📊 Problemdatenabruf : Erhalten Sie detaillierte Problembeschreibungen, Einschränkungen, Beispiele, offizielle Leitartikel und von Benutzern übermittelte Lösungen

  • 👤 Zugriff auf Benutzerdaten : Abrufen von Benutzerprofilen, Übermittlungsverlauf und Wettbewerbsleistung

  • 🔒 ​Privater Datenzugriff : Erstellen und Abfragen von Benutzernotizen, Verfolgen des Problemlösungsfortschritts und Analysieren von Übermittlungsdetails (AC/WA-Analyse)

  • 🔍 Erweiterte Suchfunktionen : Filtern Sie Probleme nach Tags, Schwierigkeitsgraden, Kategorien und Schlüsselwörtern

  • 📅 Zugriff auf tägliche Herausforderungen : Greifen Sie einfach auf tägliche Herausforderungsprobleme zu

Voraussetzungen

  1. Node.js-Laufzeitumgebung

  2. (Optional) LeetCode-Sitzungscookie für authentifizierten API-Zugriff

Installation

Installation über Smithery

So installieren Sie den Leetcode-MCP-Server für Claude Desktop automatisch über Smithery :

npx -y @smithery/cli install @jinzcdev/leetcode-mcp-server --client claude

Manuelle Installation

# Install from npm npm install @jinzcdev/leetcode-mcp-server -g # Or run with Global site configuration npx -y @jinzcdev/leetcode-mcp-server --site global # Run with authentication (for accessing private data) npx -y @jinzcdev/leetcode-mcp-server --site global --session <YOUR_LEETCODE_SESSION_COOKIE>

Alternativ können Sie das Repository klonen und lokal ausführen:

# Clone the repository git clone https://github.com/jinzcdev/leetcode-mcp-server.git # Navigate to the project directory cd leetcode-mcp-server # Build the project npm install && npm run build # Run the server node build/index.js --site global

Verwendung

Visual Studio Code-Integration

Fügen Sie die folgende JSON-Konfiguration zu Ihrer Benutzereinstellungsdatei (JSON) hinzu. Greifen Sie darauf zu, indem Sie Ctrl/Cmd + Shift + P drücken und nach Preferences: Open User Settings (JSON) suchen.

Option 1: Verwenden von Umgebungsvariablen

{ "mcp": { "servers": { "leetcode": { "type": "stdio", "command": "npx", "args": ["-y", "@jinzcdev/leetcode-mcp-server"], "env": { "LEETCODE_SITE": "global", "LEETCODE_SESSION": "<YOUR_LEETCODE_SESSION_COOKIE>" } } } } }

Option 2: Verwenden von Befehlszeilenargumenten

{ "mcp": { "servers": { "leetcode": { "type": "stdio", "command": "npx", "args": [ "-y", "@jinzcdev/leetcode-mcp-server", "--site", "global", "--session", "<YOUR_LEETCODE_SESSION_COOKIE>" ] } } } }

Ändern Sie für die LeetCode China-Site den Parameter --site in cn .

[!TIPP]

Der Server unterstützt die folgenden Umgebungsvariablen:

  • LEETCODE_SITE : LeetCode API-Endpunkt ('global' oder 'cn')

  • LEETCODE_SESSION : LeetCode-Sitzungscookie für authentifizierten API-Zugriff

Prioritätshinweis : Befehlszeilenargumente haben Vorrang vor Umgebungsvariablen, wenn beide angegeben sind. Beispiel:

  • Wenn LEETCODE_SITE=cn festgelegt ist, Sie aber leetcode-mcp-server --site global ausführen, verwendet der Server global .

  • Wenn LEETCODE_SESSION vorhanden ist, Sie aber --session "new_cookie" angeben, wird der Sitzungswert der Befehlszeile verwendet.

Verfügbare Tools

Probleme

Werkzeug

Allgemein

CN

Authentifizierung erforderlich

Beschreibung

Holen Sie sich die tägliche Herausforderung

Ruft das heutige LeetCode Daily Challenge-Problem ab

Problem lösen

Ruft Details zu einem bestimmten LeetCode-Problem ab

Suchprobleme

Sucht nach LeetCode-Problemen mit mehreren Filterkriterien

Benutzer

Werkzeug

Allgemein

CN

Authentifizierung erforderlich

Beschreibung

Benutzerprofil abrufen

Ruft Profilinformationen für einen LeetCode-Benutzer ab

get_user_contest_ranking

Ruft Wettbewerbsrankingstatistiken für einen Benutzer ab

Aktuelle AC-Einreichungen abrufen

Ruft die zuletzt akzeptierten Einsendungen eines Benutzers ab

Aktuelle Einsendungen abrufen

Ruft den Verlauf der letzten Übermittlungen eines Benutzers ab

get_user_status

Ruft den aktuellen Status des aktuellen Benutzers ab

Problemübermittlungsbericht abrufen

Bietet eine detaillierte Übermittlungsanalyse für ein bestimmtes Problem

Problemfortschritt abrufen

Ruft den Problemlösungsfortschritt des aktuellen Benutzers ab

Alle Einsendungen abrufen

Ruft den Übermittlungsverlauf des aktuellen Benutzers ab

Hinweise

Werkzeug

Allgemein

CN

Authentifizierung erforderlich

Beschreibung

Suchnotizen

Sucht nach Benutzernotizen mit Filteroptionen

get_note

Ruft Notizen zu einem bestimmten Problem anhand der Fragen-ID ab

Notiz erstellen

Erstellt eine neue Notiz für ein bestimmtes Problem

Update-Hinweis

Aktualisiert eine vorhandene Notiz mit neuem Inhalt

Lösungen

Werkzeug

Allgemein

CN

Authentifizierung erforderlich

Beschreibung

Problemlösungsliste

Ruft eine Liste von Community-Lösungen für ein bestimmtes Problem ab

Problemlösung erhalten

Ruft den kompletten Inhalt einer bestimmten Lösung ab

Werkzeugparameter

Probleme

  • get_daily_challenge - Ruft das heutige LeetCode Daily Challenge-Problem mit allen Details ab

    • Keine Parameter erforderlich

  • get_problem – Ruft Details zu einem bestimmten LeetCode-Problem ab

    • titleSlug : Der URL-Slug/Bezeichner des Problems (Zeichenfolge, erforderlich)

  • search_problems – Sucht nach LeetCode-Problemen basierend auf mehreren Filterkriterien

    • category : Problemkategoriefilter (Zeichenfolge, optional, Standard: „all-code-essentials“)

    • tags : Liste der Themen-Tags zum Filtern von Problemen (string[], optional)

    • difficulty : Filter für den Schwierigkeitsgrad des Problems (Aufzählung: „EINFACH“, „MITTEL“, „SCHWER“, optional)

    • searchKeywords : Schlüsselwörter für die Suche in Problemtiteln und -beschreibungen (Zeichenfolge, optional)

    • limit : Maximale Anzahl der zurückzugebenden Probleme (Zahl, optional, Standard: 10)

    • offset : Anzahl der zu überspringenden Probleme (Zahl, optional)

Benutzer

  • get_user_profile – Ruft Profilinformationen über einen LeetCode-Benutzer ab

    • username : LeetCode-Benutzername (Zeichenfolge, erforderlich)

  • get_user_contest_ranking - Ruft die Wettbewerbsranglisteninformationen eines Benutzers ab

    • username : LeetCode-Benutzername (Zeichenfolge, erforderlich)

    • attended : Ob nur die Wettbewerbe einbezogen werden sollen, an denen der Benutzer teilgenommen hat (Boolesch, optional, Standard: true)

  • get_recent_submissions – Ruft die letzten Einsendungen eines Benutzers auf LeetCode Global ab

    • username : LeetCode-Benutzername (Zeichenfolge, erforderlich)

    • limit : Maximale Anzahl der zurückzugebenden Einsendungen (Zahl, optional, Standard: 10)

  • get_recent_ac_submissions - Ruft die zuletzt akzeptierten Einsendungen eines Benutzers ab

    • username : LeetCode-Benutzername (Zeichenfolge, erforderlich)

    • limit : Maximale Anzahl der zurückzugebenden Einsendungen (Zahl, optional, Standard: 10)

  • get_user_status - Ruft den Status des aktuellen Benutzers ab

    • Keine Parameter erforderlich

  • get_problem_submission_report – Ruft detaillierte Informationen zu einer bestimmten Übermittlung ab

    • id : Die numerische Übermittlungs-ID (Nummer, erforderlich)

  • get_problem_progress - Ruft den Problemlösungsfortschritt des aktuellen Benutzers ab

    • offset : Anzahl der zu überspringenden Fragen (Zahl, optional, Standard: 0)

    • limit : Maximale Anzahl der zurückzugebenden Fragen (Anzahl, optional, Standard: 100)

    • questionStatus : Filtern nach Fragenstatus (Aufzählung: „VERSUCHT“, „GELÖST“, optional)

    • difficulty : Filtern nach Schwierigkeitsgraden (string[], optional)

  • get_all_submissions – Ruft eine paginierte Liste der Benutzereinreichungen ab

    • limit : Maximale Anzahl der zurückzugebenden Einsendungen (Zahl, Standard: 20)

    • offset : Anzahl der zu überspringenden Übermittlungen (Zahl, Standard: 0)

    • questionSlug : Optionale Problemkennung (Zeichenfolge, optional)

    • lang : Programmiersprachenfilter (Zeichenfolge, optional, nur CN)

    • status : Filter für den Übermittlungsstatus (Aufzählung: „AC“, „WA“, optional, nur CN)

    • lastKey : Paginierungstoken zum Abrufen der nächsten Seite (Zeichenfolge, optional, nur CN)

Hinweise

  • search_notes – Sucht nach Benutzernotizen zu LeetCode China

    • keyword : Suchbegriff zum Filtern von Notizen (Zeichenfolge, optional)

    • limit : Maximale Anzahl der zurückzugebenden Notizen (Zahl, optional, Standard: 10)

    • skip : Anzahl der zu überspringenden Noten (Anzahl, optional, Standard: 0)

    • orderBy : Sortierreihenfolge für zurückgegebene Notizen (Aufzählung: „ASCENDING“, „DESCENDING“, optional, Standard: „DESCENDING“)

  • get_note – Ruft Benutzernotizen für ein bestimmtes LeetCode-Problem ab

    • questionId : Die Frage-ID des LeetCode-Problems (Zeichenfolge, erforderlich)

    • limit : Maximale Anzahl der zurückzugebenden Notizen (Zahl, optional, Standard: 10)

    • skip : Anzahl der zu überspringenden Noten (Anzahl, optional, Standard: 0)

  • create_note – Erstellt eine neue Notiz für ein bestimmtes LeetCode-Problem

    • questionId : Die Frage-ID des LeetCode-Problems (Zeichenfolge, erforderlich)

    • content : Der Inhalt der Notiz, unterstützt das Markdown-Format (Zeichenfolge, erforderlich)

    • summary : Eine optionale kurze Zusammenfassung oder ein Titel für die Notiz (Zeichenfolge, optional)

  • update_note – Aktualisiert eine vorhandene Notiz mit neuem Inhalt oder einer Zusammenfassung

    • noteId : Die ID der zu aktualisierenden Notiz (Zeichenfolge, erforderlich)

    • content : Der neue Inhalt für die Notiz, unterstützt Markdown-Format (Zeichenfolge, erforderlich)

    • summary : Eine optionale neue kurze Zusammenfassung oder ein Titel für die Notiz (Zeichenfolge, optional)

Lösungen

  • list_problem_solutions - Ruft eine Liste von Community-Lösungen für ein bestimmtes Problem ab

    • questionSlug : Der URL-Slug/Bezeichner des Problems (Zeichenfolge, erforderlich)

    • limit : Maximale Anzahl der zurückzugebenden Lösungen (Zahl, optional, Standard: 10)

    • skip : Anzahl der zu überspringenden Lösungen (Zahl, optional)

    • userInput : Suchbegriff zum Filtern von Lösungen (Zeichenfolge, optional)

    • tagSlugs : Array von Tag-Kennungen zum Filtern von Lösungen (string[], optional, Standard: [])

    • orderBy : Sortierkriterien für die zurückgegebenen Lösungen

      • Global: Aufzählung: „HOT“, „MOST_RECENT“, „MOST_VOTES“, optional, Standard: „HOT“

      • CN: Aufzählung: "STANDARD", "MOST_UPVOTE", "HOT", "NEWEST_TO_OLDEST", "OLDEST_TO_NEWEST", optional, Standard: "STANDARD"

  • get_problem_solution - Ruft den vollständigen Inhalt einer bestimmten Lösung ab

    • topicId : Eindeutige Themen-ID der Lösung (Zeichenfolge, erforderlich, nur global)

    • slug : Eindeutiger Slug/Bezeichner der Lösung (Zeichenfolge, erforderlich, nur CN)

Verfügbare Ressourcen

Ressourcenname

Allgemein

CN

Authentifizierung erforderlich

Beschreibung

Problemkategorien

Eine Liste aller Problemklassifizierungskategorien

Problem-Tags

Eine detaillierte Sammlung von algorithmischen und Datenstruktur-Tags

Problemsprachen

Eine vollständige Liste aller unterstützten Programmiersprachen

Problemdetail

Bietet Details zu einem bestimmten Problem

Problemlösung

Bietet den kompletten Inhalt einer spezifischen Lösung

Ressourcen-URIs

  • Problemkategorien – Eine Liste aller Problemklassifizierungskategorien

    • URI: categories://problems/all

  • problem-tags - Eine detaillierte Sammlung von algorithmischen und Datenstruktur-Tags

    • URI: tags://problems/all

  • problem-langs - Eine vollständige Liste aller von LeetCode unterstützten Programmiersprachen

    • URI: langs://problems/all

  • Problemdetail – Bietet Details zu einem bestimmten LeetCode-Problem

    • URI: problem://{titleSlug}

    • Parameter:

      • titleSlug : Problemkennung, wie sie in der LeetCode-URL erscheint

  • Problemlösung - Liefert den vollständigen Inhalt einer spezifischen Lösung

    • Globale URI: solution://{topicId}

      • Parameter:

        • topicId : Eindeutige Themen-ID der Lösung

    • CN-URI: solution://{slug}

      • Parameter:

        • slug : Eindeutiger Slug/Bezeichner der Lösung

Authentifizierung

Für den benutzerspezifischen Datenzugriff ist eine LeetCode-Sitzungsauthentifizierung erforderlich:

  1. Melden Sie sich bei LeetCode an ( globale oder chinesische Site)

  2. Extrahieren Sie LEETCODE_SESSION Cookie aus den Browser-Entwicklertools

  3. Konfigurieren Sie den Server mit dem Flag --session oder der Umgebungsvariable LEETCODE_SESSION

Antwortformat

Alle Tools geben Antworten im JSON-Format mit der folgenden Struktur zurück:

{ "content": [ { "type": "text", "text": "JSON_DATA_STRING" } ] }

Der JSON_DATA_STRING enthält entweder die angeforderten Daten oder eine Fehlermeldung bei fehlgeschlagenen Anfragen.

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert.

Deploy Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Ein Model Context Protocol-Server, der die Integration mit LeetCode-APIs ermöglicht und so die automatisierte Interaktion mit Programmierproblemen, Wettbewerben, Lösungen und Benutzerdaten auf den Plattformen leetcode.com und leetcode.cn ermöglicht.

  1. Merkmale
    1. Voraussetzungen
      1. Installation
        1. Installation über Smithery
        2. Manuelle Installation
      2. Verwendung
        1. Visual Studio Code-Integration
      3. Verfügbare Tools
        1. Probleme
        2. Benutzer
        3. Hinweise
        4. Lösungen
      4. Werkzeugparameter
        1. Probleme
        2. Benutzer
        3. Hinweise
        4. Lösungen
      5. Verfügbare Ressourcen
        1. Ressourcen-URIs
          1. Authentifizierung
            1. Antwortformat
              1. Lizenz

                Related MCP Servers

                • -
                  security
                  F
                  license
                  -
                  quality
                  Server that enhances the capabilities of the Cline coding agent. It provides intelligent code suggestions, reduces hallucinations, and documents the knowledge base by leveraging your project's documentation and detecting the technologies used in your codebase.
                  Last updated -
                  12
                • A
                  security
                  A
                  license
                  A
                  quality
                  A Model Context Protocol server that provides tools for code modification and generation via Large Language Models, allowing users to create, modify, rewrite, and delete files using structured XML instructions.
                  Last updated -
                  12
                  2
                  MIT License
                  • Linux
                  • Apple
                • A
                  security
                  A
                  license
                  A
                  quality
                  A Model Context Protocol (MCP) server for LeetCode that enables AI assistants to access LeetCode problems, user information, and contest data.
                  Last updated -
                  7
                  4
                  32
                  MIT License
                • A
                  security
                  F
                  license
                  A
                  quality
                  A Model Context Protocol server that allows LLMs to interact with Python environments, execute code, and manage files within a specified working directory.
                  Last updated -
                  9
                  71
                  • Linux
                  • Apple

                View all related MCP servers

                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/jinzcdev/leetcode-mcp-server'

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