LeetCode MCP Server
Сервер MCP LeetCode
Сервер LeetCode MCP — это сервер протокола контекста модели (MCP) , который обеспечивает бесшовную интеграцию с API LeetCode, позволяя реализовать расширенную автоматизацию и интеллектуальное взаимодействие с задачами программирования LeetCode, конкурсами, решениями и пользовательскими данными.
Функции
🌐 Поддержка нескольких сайтов : поддержка платформ leetcode.com (глобальная) и leetcode.cn (китайская)
📊 Извлечение данных о проблемах : получение подробных описаний проблем, ограничений, примеров, официальных редакционных статей и решений, предоставленных пользователями.
👤 Доступ к данным пользователей : получение профилей пользователей, истории отправки заявок и результатов конкурсов.
🔒 Доступ к закрытым данным : создание и запрос пользовательских заметок, отслеживание хода решения проблем и анализ сведений об отправке (анализ AC/WA)
🔍 Расширенные возможности поиска : фильтрация задач по тегам, уровням сложности, категориям и ключевым словам.
📅 Доступ к ежедневным задачам : легкий доступ к ежедневным задачам
Related MCP server: Linear MCP Server
Предпосылки
Среда выполнения Node.js
(Необязательно) Файл cookie сеанса LeetCode для аутентифицированного доступа к API
Установка
Установка через Smithery
Чтобы автоматически установить leetcode-mcp-server для Claude Desktop через Smithery :
npx -y @smithery/cli install @jinzcdev/leetcode-mcp-server --client claudeРучная установка
# 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>Кроме того, вы можете клонировать репозиторий и запустить его локально:
# 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Использование
Интеграция кода Visual Studio
Добавьте следующую конфигурацию JSON в файл настроек пользователя (JSON). Чтобы получить к нему доступ, нажмите Ctrl/Cmd + Shift + P и выполните поиск Preferences: Open User Settings (JSON) .
Вариант 1: использование переменных среды
{
"mcp": {
"servers": {
"leetcode": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@jinzcdev/leetcode-mcp-server"],
"env": {
"LEETCODE_SITE": "global",
"LEETCODE_SESSION": "<YOUR_LEETCODE_SESSION_COOKIE>"
}
}
}
}
}Вариант 2: использование аргументов командной строки
{
"mcp": {
"servers": {
"leetcode": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@jinzcdev/leetcode-mcp-server",
"--site",
"global",
"--session",
"<YOUR_LEETCODE_SESSION_COOKIE>"
]
}
}
}
}Для сайта LeetCode China измените параметр --site на cn .
[!КОНЧИК]
Сервер поддерживает следующие переменные среды:
LEETCODE_SITE: конечная точка API LeetCode («глобальная» или «cn»)
LEETCODE_SESSION: сеансовый cookie LeetCode для аутентифицированного доступа к APIПримечание о приоритете : Аргументы командной строки имеют приоритет над переменными среды, если указаны оба. Например:
Если установлено
LEETCODE_SITE=cn, но вы запускаетеleetcode-mcp-server --site global, сервер будет использоватьglobal.Если
LEETCODE_SESSIONсуществует, но вы указали--session "new_cookie", будет использовано значение сеанса командной строки.
Доступные инструменты
Проблемы
Инструмент | Глобальный | КН | Требуется аутентификация | Описание |
получить_ежедневный_вызов | ✅ | ✅ | ❌ | Возвращает сегодняшнюю задачу LeetCode Daily Challenge |
получить_проблему | ✅ | ✅ | ❌ | Извлекает сведения о конкретной проблеме LeetCode |
поиск_проблем | ✅ | ✅ | ❌ | Поиск проблем LeetCode с несколькими критериями фильтрации |
Пользователи
Инструмент | Глобальный | КН | Требуется аутентификация | Описание |
получить_профиль_пользователя | ✅ | ✅ | ❌ | Извлекает информацию профиля пользователя LeetCode |
получить_рейтинг_пользователя_конкурса | ✅ | ✅ | ❌ | Получает статистику рейтинга конкурса для пользователя |
получить_последние_ac_отправления | ✅ | ✅ | ❌ | Извлекает последние принятые заявки пользователя. |
получить_последние_отправления | ✅ | ❌ | ❌ | Извлекает историю последних отправок пользователя |
получить_статус_пользователя | ✅ | ✅ | ✅ | Возвращает текущий статус текущего пользователя. |
получить_отчет_о_проблеме_отчете | ✅ | ✅ | ✅ | Предоставляет подробный анализ представленных материалов по конкретной проблеме |
получить_проблему_прогресс | ✅ | ✅ | ✅ | Возвращает прогресс решения проблемы текущего пользователя. |
получить_все_отправления | ✅ | ✅ | ✅ | Извлекает историю отправок текущего пользователя |
Примечания
Инструмент | Глобальный | КН | Требуется аутентификация | Описание |
поиск_заметок | ❌ | ✅ | ✅ | Поиск заметок пользователя с возможностью фильтрации |
получить_заметку | ❌ | ✅ | ✅ | Извлекает заметки по конкретной проблеме по идентификатору вопроса |
создать_заметку | ❌ | ✅ | ✅ | Создает новую заметку для конкретной проблемы |
обновление_заметки | ❌ | ✅ | ✅ | Обновляет существующую заметку новым содержанием. |
Решения
Инструмент | Глобальный | КН | Требуется аутентификация | Описание |
список_решений_проблем | ✅ | ✅ | ❌ | Получает список решений сообщества для определенной проблемы |
получить_решение_проблемы | ✅ | ✅ | ❌ | Извлекает полное содержание определенного решения |
Параметры инструмента
Проблемы
get_daily_challenge — получает сегодняшнюю задачу LeetCode Daily Challenge с полными подробностями
Параметры не требуются
get_problem — получает сведения о конкретной проблеме LeetCode
titleSlug: URL-адрес/идентификатор проблемы (строка, обязательно)
search_problems — Поиск проблем LeetCode на основе нескольких критериев фильтрации
category: Фильтр категории проблемы (строка, необязательно, по умолчанию: "all-code-essentials")tags: Список тегов тем для фильтрации проблем (string[], необязательно)difficulty: Фильтр уровня сложности проблемы (перечисление: «ЛЕГКИЙ», «СРЕДНИЙ», «СЛОЖНЫЙ», необязательно)searchKeywords: Ключевые слова для поиска в названиях и описаниях проблем (строка, необязательно)limit: Максимальное количество возвращаемых проблем (число, необязательно, по умолчанию: 10)offset: Количество пропускаемых задач (число, необязательно)
Пользователи
get_user_profile — извлекает информацию профиля пользователя LeetCode
username: LeetCode имя пользователя (строка, обязательно)
get_user_contest_ranking — получает информацию о рейтинге пользователя в конкурсе
username: LeetCode имя пользователя (строка, обязательно)attended: следует ли включать только те конкурсы, в которых участвовал пользователь (логическое значение, необязательное, по умолчанию: true)
get_recent_submissions — извлекает последние отправленные пользователем материалы на LeetCode Global
username: LeetCode имя пользователя (строка, обязательно)limit: Максимальное количество возвращаемых отправлений (число, необязательно, по умолчанию: 10)
get_recent_ac_submissions — извлекает последние принятые заявки пользователя
username: LeetCode имя пользователя (строка, обязательно)limit: Максимальное количество возвращаемых отправлений (число, необязательно, по умолчанию: 10)
get_user_status — получает текущий статус пользователя
Параметры не требуются
get_problem_submission_report — получает подробную информацию о конкретной отправке
id: числовой идентификатор отправки (номер, обязательно)
get_problem_progress — Получает прогресс решения проблемы текущего пользователя.
offset: Количество вопросов, которые нужно пропустить (число, необязательно, по умолчанию: 0)limit: максимальное количество вопросов для возврата (число, необязательно, по умолчанию: 100)questionStatus: Фильтр по статусу вопроса (перечисление: «ПЫТКА», «РЕШЕНО», необязательно)difficulty: Фильтр по уровням сложности (string[], необязательно)
get_all_submissions — извлекает постраничный список отправленных пользователем материалов
limit: Максимальное количество возвращаемых отправлений (число, по умолчанию: 20)offset: Количество пропущенных отправлений (число, по умолчанию: 0)questionSlug: Необязательный идентификатор проблемы (строка, необязательно)lang: Фильтр языка программирования (строка, необязательно, только CN)status: Фильтр статуса отправки (перечисление: «AC», «WA», необязательно, только CN)lastKey: токен пагинации для получения следующей страницы (строка, необязательно, только CN)
Примечания
search_notes — Поиск заметок пользователей на LeetCode China
keyword: поисковый запрос для фильтрации заметок (строка, необязательно)limit: Максимальное количество возвращаемых заметок (число, необязательно, по умолчанию: 10)skip: Количество пропускаемых заметок (число, необязательно, по умолчанию: 0)orderBy: порядок сортировки возвращаемых заметок (перечисление: "ASCENDING", "DESCENDING", необязательно, по умолчанию: "DESCENDING")
get_note — извлекает заметки пользователя для конкретной проблемы LeetCode
questionId: Идентификатор вопроса проблемы LeetCode (строка, обязательно)limit: Максимальное количество возвращаемых заметок (число, необязательно, по умолчанию: 10)skip: Количество пропускаемых заметок (число, необязательно, по умолчанию: 0)
create_note — создает новую заметку для определенной проблемы LeetCode.
questionId: Идентификатор вопроса проблемы LeetCode (строка, обязательно)content: Содержимое заметки, поддерживает формат markdown (строка, обязательно)summary: необязательное краткое резюме или название заметки (строка, необязательно)
update_note — обновляет существующую заметку новым содержимым или резюме.
noteId: идентификатор заметки для обновления (строка, обязательно)content: Новое содержимое заметки, поддерживает формат markdown (строка, обязательно)summary: необязательное новое краткое резюме или название заметки (строка, необязательно)
Решения
list_problem_solutions — извлекает список решений сообщества для определенной проблемы.
questionSlug: URL-адрес/идентификатор проблемы (строка, обязательно)limit: Максимальное количество возвращаемых решений (число, необязательно, по умолчанию: 10)skip: Количество решений для пропуска (число, необязательно)userInput: поисковый запрос для фильтрации решений (строка, необязательно)tagSlugs: Массив идентификаторов тегов для фильтрации решений (string[], необязательно, по умолчанию: [])orderBy: Критерии сортировки для возвращенных решенийГлобально: enum: "HOT", "MOST_RECENT", "MOST_VOTES", необязательно, по умолчанию: "HOT"
CN: enum: "DEFAULT", "MOST_UPVOTE", "HOT", "NEWEST_TO_OLDEST", "OLDEST_TO_NEWEST", необязательно, по умолчанию: "DEFAULT"
get_problem_solution — извлекает полное содержание определенного решения
topicId: уникальный идентификатор темы решения (строка, обязательно, только глобальный)slug: Уникальный слаг/идентификатор решения (строка, обязательно, только CN)
Доступные ресурсы
Имя ресурса | Глобальный | КН | Требуется аутентификация | Описание |
проблемные категории | ✅ | ✅ | ❌ | Список всех категорий классификации проблем |
проблемные теги | ✅ | ✅ | ❌ | Подробный набор алгоритмических и структурных тегов данных |
проблемные языки | ✅ | ✅ | ❌ | Полный список всех поддерживаемых языков программирования |
проблема-деталь | ✅ | ✅ | ❌ | Предоставляет подробную информацию о конкретной проблеме |
проблема-решение | ✅ | ✅ | ❌ | Предоставляет полное содержание конкретного решения |
URI ресурсов
problem-categories - Список всех категорий классификации проблем
URI:
categories://problems/all
problem-tags - Подробный сборник алгоритмических и структурных тегов данных
URI:
tags://problems/all
problem-langs — Полный список всех языков программирования, поддерживаемых LeetCode
URI:
langs://problems/all
problem-detail — предоставляет подробную информацию о конкретной проблеме LeetCode.
URI:
problem://{titleSlug}Параметры:
titleSlug: Идентификатор проблемы, как он отображается в URL-адресе LeetCode
проблема-решение - Предоставляет полное содержание конкретного решения
Глобальный URI:
solution://{topicId}Параметры:
topicId: уникальный идентификатор темы решения
CN URI:
solution://{slug}Параметры:
slug: Уникальный слаг/идентификатор решения
Аутентификация
Для доступа к данным пользователя требуется аутентификация сеанса LeetCode:
Войдите в LeetCode ( глобальный или китайский сайт)
Извлечь cookie-файл
LEETCODE_SESSIONиз инструментов разработчика браузераНастройте сервер с помощью флага
--sessionили переменной средыLEETCODE_SESSION
Формат ответа
Все инструменты возвращают ответы в формате JSON со следующей структурой:
{
"content": [
{
"type": "text",
"text": "JSON_DATA_STRING"
}
]
}JSON_DATA_STRING содержит либо запрошенные данные, либо сообщение об ошибке в случае неудачных запросов.
Лицензия
Данный проект лицензирован по лицензии MIT.
Maintenance
Tools
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceServer 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.15
- AlicenseAqualityCmaintenanceA Model Context Protocol server that enables large language models to interact with Linear's issue tracking system, allowing management of issues, projects, teams, and other Linear resources.19251MIT
- AlicenseCqualityFmaintenanceA Model Context Protocol (MCP) server for LeetCode that enables AI assistants to access LeetCode problems, user information, and contest data.71944MIT
- FlicenseNot gradedqualityNot gradedmaintenanceModel Context Protocol server that enables interaction with GitHub repositories, issues, pull requests, and search functionality through natural language.1
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
A Model Context Protocol (MCP) application for automated GitHub PR analysis and issue management.…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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