LeetCode MCP Server

Integrations

  • Provides tools for accessing LeetCode problems, user data, search capabilities, and submission tracking across both leetcode.com and leetcode.cn platforms. Enables retrieval of detailed problem descriptions, user profiles, submission history, and contest performance statistics.

LeetCode MCP Server

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

WerkzeugAllgemeinCNAuthentifizierung erforderlichBeschreibung
Holen Sie sich die tägliche HerausforderungRuft das heutige LeetCode Daily Challenge-Problem ab
Problem lösenRuft Details zu einem bestimmten LeetCode-Problem ab
SuchproblemeSucht nach LeetCode-Problemen mit mehreren Filterkriterien

Benutzer

WerkzeugAllgemeinCNAuthentifizierung erforderlichBeschreibung
Benutzerprofil abrufenRuft Profilinformationen für einen LeetCode-Benutzer ab
get_user_contest_rankingRuft Wettbewerbsrankingstatistiken für einen Benutzer ab
Aktuelle AC-Einreichungen abrufenRuft die zuletzt akzeptierten Einsendungen eines Benutzers ab
Aktuelle Einsendungen abrufenRuft den Verlauf der letzten Übermittlungen eines Benutzers ab
get_user_statusRuft den aktuellen Status des aktuellen Benutzers ab
Problemübermittlungsbericht abrufenBietet eine detaillierte Übermittlungsanalyse für ein bestimmtes Problem
Problemfortschritt abrufenRuft den Problemlösungsfortschritt des aktuellen Benutzers ab
Alle Einsendungen abrufenRuft den Übermittlungsverlauf des aktuellen Benutzers ab

Hinweise

WerkzeugAllgemeinCNAuthentifizierung erforderlichBeschreibung
SuchnotizenSucht nach Benutzernotizen mit Filteroptionen
get_noteRuft Notizen zu einem bestimmten Problem anhand der Fragen-ID ab
Notiz erstellenErstellt eine neue Notiz für ein bestimmtes Problem
Update-HinweisAktualisiert eine vorhandene Notiz mit neuem Inhalt

Lösungen

WerkzeugAllgemeinCNAuthentifizierung erforderlichBeschreibung
ProblemlösungslisteRuft eine Liste von Community-Lösungen für ein bestimmtes Problem ab
Problemlösung erhaltenRuft 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

RessourcennameAllgemeinCNAuthentifizierung erforderlichBeschreibung
ProblemkategorienEine Liste aller Problemklassifizierungskategorien
Problem-TagsEine detaillierte Sammlung von algorithmischen und Datenstruktur-Tags
ProblemsprachenEine vollständige Liste aller unterstützten Programmiersprachen
ProblemdetailBietet Details zu einem bestimmten Problem
ProblemlösungBietet 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.

You must be authenticated.

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 -
                  10
                  JavaScript
                • 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
                  Python
                  MIT License
                  • Linux
                  • Apple
                • -
                  security
                  A
                  license
                  -
                  quality
                  A Model Context Protocol server that provides a standardized interface for interacting with Notion's API, enabling users to list databases, create pages, and search across their Notion workspace.
                  Last updated -
                  95
                  Python
                  MIT License
                  • Apple
                • -
                  security
                  F
                  license
                  -
                  quality
                  A Model Context Protocol server that provides a comprehensive interface for interacting with the ConnectWise Manage API, simplifying API discovery, execution, and management for both developers and AI assistants.
                  Last updated -
                  46
                  2
                  Python
                  • Linux
                  • Apple

                View all related MCP servers

                ID: 4gwka0r9rw