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
- Node.js-Laufzeitumgebung
- (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 :
Manuelle Installation
Alternativ können Sie das Repository klonen und lokal ausführen:
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
Option 2: Verwenden von Befehlszeilenargumenten
Ä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-ZugriffPrioritätshinweis : Befehlszeilenargumente haben Vorrang vor Umgebungsvariablen, wenn beide angegeben sind. Beispiel:
- Wenn
LEETCODE_SITE=cn
festgelegt ist, Sie aberleetcode-mcp-server --site global
ausführen, verwendet der Serverglobal
.- 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
- URI:
- problem-tags - Eine detaillierte Sammlung von algorithmischen und Datenstruktur-Tags
- URI:
tags://problems/all
- URI:
- problem-langs - Eine vollständige Liste aller von LeetCode unterstützten Programmiersprachen
- URI:
langs://problems/all
- URI:
- Problemdetail – Bietet Details zu einem bestimmten LeetCode-Problem
- URI:
problem://{titleSlug}
- Parameter:
titleSlug
: Problemkennung, wie sie in der LeetCode-URL erscheint
- URI:
- Problemlösung - Liefert den vollständigen Inhalt einer spezifischen Lösung
- Globale URI:
solution://{topicId}
- Parameter:
topicId
: Eindeutige Themen-ID der Lösung
- Parameter:
- CN-URI:
solution://{slug}
- Parameter:
slug
: Eindeutiger Slug/Bezeichner der Lösung
- Parameter:
- Globale URI:
Authentifizierung
Für den benutzerspezifischen Datenzugriff ist eine LeetCode-Sitzungsauthentifizierung erforderlich:
- Melden Sie sich bei LeetCode an ( globale oder chinesische Site)
- Extrahieren Sie
LEETCODE_SESSION
Cookie aus den Browser-Entwicklertools - Konfigurieren Sie den Server mit dem Flag
--session
oder der UmgebungsvariableLEETCODE_SESSION
Antwortformat
Alle Tools geben Antworten im JSON-Format mit der folgenden Struktur zurück:
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.
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.
Related MCP Servers
- -securityFlicense-qualityServer 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 -10JavaScript
- AsecurityAlicenseAqualityA 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 -12PythonMIT License
- -securityAlicense-qualityA 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 -95PythonMIT License
- -securityFlicense-qualityA 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 -462Python