LeetCode MCP 服务器
LeetCode MCP 服务器是一个模型上下文协议 (MCP)服务器,可与 LeetCode API 无缝集成,实现与 LeetCode 的编程问题、竞赛、解决方案和用户数据的高级自动化和智能交互。
特征
- 🌐多站点支持:支持 leetcode.com(全球)和 leetcode.cn(中国)平台
- 📊问题数据检索:获取详细的问题描述、约束、示例、官方社论和用户提交的解决方案
- 👤用户数据访问:检索用户个人资料、提交历史记录和竞赛表现
- 🔒私人数据访问:创建和查询用户笔记、跟踪问题解决进度以及分析提交详细信息(AC/WA 分析)
- 🔍高级搜索功能:按标签、难度级别、类别和关键字过滤问题
- 📅每日挑战访问:轻松访问每日挑战问题
先决条件
- Node.js 运行时环境
- (可选)LeetCode 会话 cookie,用于经过身份验证的 API 访问
安装
通过 Smithery 安装
要通过Smithery自动为 Claude Desktop 安装 leetcode-mcp-server:
手动安装
或者,您可以克隆存储库并在本地运行它:
用法
Visual Studio Code 集成
将以下 JSON 配置添加到您的“用户设置 (JSON)”文件中。按Ctrl/Cmd + Shift + P
并搜索Preferences: Open User Settings (JSON)
即可访问。
选项 1:使用环境变量
选项 2:使用命令行参数
对于 LeetCode 中国站,将--site
参数修改为cn
。
[!提示]
服务器支持以下环境变量:
LEETCODE_SITE
:LeetCode API 端点('global' 或 'cn')LEETCODE_SESSION
:用于经过身份验证的 API 访问的 LeetCode 会话 cookie优先级说明:当同时指定命令行参数和环境变量时,命令行参数优先于环境变量。例如:
- 如果设置了
LEETCODE_SITE=cn
但运行leetcode-mcp-server --site global
,则服务器将使用global
。- 如果
LEETCODE_SESSION
存在但您提供了--session "new_cookie"
,则将使用命令行会话值。
可用工具
问题
工具 | 全球的 | 中国 | 需要授权 | 描述 |
---|---|---|---|---|
获取每日挑战 | ✅ | ✅ | ❌ | 检索今天的 LeetCode 每日挑战题 |
获取问题 | ✅ | ✅ | ❌ | 检索特定 LeetCode 问题的详细信息 |
搜索问题 | ✅ | ✅ | ❌ | 使用多个过滤条件搜索 LeetCode 问题 |
用户
工具 | 全球的 | 中国 | 需要授权 | 描述 |
---|---|---|---|---|
获取用户配置文件 | ✅ | ✅ | ❌ | 检索 LeetCode 用户的个人资料信息 |
获取用户竞赛排名 | ✅ | ✅ | ❌ | 获取用户的比赛排名统计信息 |
获取最近的 ac 提交 | ✅ | ✅ | ❌ | 检索用户最近接受的提交 |
获取最近的提交 | ✅ | ❌ | ❌ | 检索用户最近的提交历史记录 |
获取用户状态 | ✅ | ✅ | ✅ | 检索当前用户的当前状态 |
获取问题提交报告 | ✅ | ✅ | ✅ | 针对特定问题提供详细的提交分析 |
获取问题进度 | ✅ | ✅ | ✅ | 检索当前用户的问题解决进度 |
获取所有提交 | ✅ | ✅ | ✅ | 检索当前用户的提交历史记录 |
笔记
工具 | 全球的 | 中国 | 需要授权 | 描述 |
---|---|---|---|---|
搜索笔记 | ❌ | ✅ | ✅ | 使用过滤选项搜索用户注释 |
获取注释 | ❌ | ✅ | ✅ | 根据问题 ID 检索特定问题的注释 |
创建注释 | ❌ | ✅ | ✅ | 为特定问题创建新注释 |
更新说明 | ❌ | ✅ | ✅ | 使用新内容更新现有笔记 |
解决方案
工具 | 全球的 | 中国 | 需要授权 | 描述 |
---|---|---|---|---|
列出问题解决方案 | ✅ | ✅ | ❌ | 检索特定问题的社区解决方案列表 |
获取问题解决方案 | ✅ | ✅ | ❌ | 检索特定解决方案的完整内容 |
工具参数
问题
- get_daily_challenge - 检索今天的 LeetCode 每日挑战问题及其完整详细信息
- 无需参数
- get_problem - 检索有关特定 LeetCode 问题的详细信息
titleSlug
:问题的 URL slug/标识符(字符串,必需)
- search_problems - 根据多个过滤条件搜索 LeetCode 问题
category
:问题类别过滤器(字符串,可选,默认值:“all-code-essentials”)tags
:用于过滤问题的主题标签列表(string[],可选)difficulty
:问题难度级别过滤器(枚举:“EASY”,“MEDIUM”,“HARD”,可选)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
:数字提交 ID(数字,必需)
- get_problem_progress - 检索当前用户的问题解决进度
offset
:要跳过的问题数量(数字,可选,默认值:0)limit
:返回的最大问题数量(数字,可选,默认值:100)questionStatus
:按问题状态过滤(枚举:“ATTEMPTED”,“SOLVED”,可选)difficulty
:按难度级别过滤(string[],可选)
- get_all_submissions - 检索用户提交的分页列表
limit
:返回的最大提交数量(数字,默认值:20)offset
:要跳过的提交次数(数字,默认值:0)questionSlug
:可选问题标识符(字符串,可选)lang
:编程语言过滤器(字符串,可选,仅限 CN)status
:提交状态过滤器(枚举:“AC”、“WA”,可选,仅限 CN)lastKey
:用于检索下一页的分页令牌(字符串,可选,仅限 CN)
笔记
- search_notes - 搜索 LeetCode 中国用户笔记
keyword
:用于过滤笔记的搜索词(字符串,可选)limit
:返回的最大注释数(数字,可选,默认值:10)skip
:要跳过的注释数(数字,可选,默认值:0)orderBy
:返回注释的排序顺序(枚举:“ASCENDING”,“DESCENDING”,可选,默认值:“DESCENDING”)
- get_note - 检索特定 LeetCode 问题的用户注释
questionId
:LeetCode 问题的问题 ID(字符串,必需)limit
:返回的最大注释数(数字,可选,默认值:10)skip
:要跳过的注释数(数字,可选,默认值:0)
- create_note - 为特定的 LeetCode 问题创建新的注释
questionId
:LeetCode 问题的问题 ID(字符串,必需)content
:笔记内容,支持 markdown 格式(字符串,必填)summary
:注释的可选简短摘要或标题(字符串,可选)
- update_note - 使用新内容或摘要更新现有注释
noteId
:要更新的注释的 ID(字符串,必需)content
:笔记的新内容,支持 markdown 格式(字符串,必需)summary
:注释的可选新简短摘要或标题(字符串,可选)
解决方案
- list_problem_solutions - 检索特定问题的社区解决方案列表
questionSlug
:问题的 URL slug/标识符(字符串,必需)limit
:返回的最大解决方案数量(数字,可选,默认值:10)skip
:跳过的解决方案数量(数字,可选)userInput
:用于过滤解决方案的搜索词(字符串,可选)tagSlugs
:用于过滤解决方案的标签标识符数组(string[],可选,默认值:[])orderBy
:返回解决方案的排序标准- 全局:枚举:“HOT”、“MOST_RECENT”、“MOST_VOTES”,可选,默认值:“HOT”
- CN:枚举:“DEFAULT”、“MOST_UPVOTE”、“HOT”、“NEWEST_TO_OLDEST”、“OLDEST_TO_NEWEST”,可选,默认值:“DEFAULT”
- get_problem_solution - 检索特定解决方案的完整内容
topicId
:解决方案的唯一主题 ID(字符串,必需,仅限全局)slug
:解决方案的唯一 slug/标识符(字符串,必需,仅限 CN)
可用资源
资源名称 | 全球的 | 中国 | 需要授权 | 描述 |
---|---|---|---|---|
问题类别 | ✅ | ✅ | ❌ | 所有问题分类类别的列表 |
问题标签 | ✅ | ✅ | ❌ | 算法和数据结构标签的详细集合 |
问题语言 | ✅ | ✅ | ❌ | 所有受支持的编程语言的完整列表 |
问题细节 | ✅ | ✅ | ❌ | 提供有关特定问题的详细信息 |
问题解决 | ✅ | ✅ | ❌ | 提供特定解决方案的完整内容 |
资源 URI
- 问题类别- 所有问题分类类别的列表
- URI:
categories://problems/all
- URI:
- 问题标签- 算法和数据结构标签的详细集合
- URI:
tags://problems/all
- URI:
- problem-langs - LeetCode 支持的所有编程语言的完整列表
- URI:
langs://problems/all
- URI:
- 问题详情- 提供有关特定 LeetCode 问题的详细信息
- URI:
problem://{titleSlug}
- 参数:
titleSlug
:LeetCode URL 中出现的问题标识符
- URI:
- 问题解决方案- 提供特定解决方案的完整内容
- 全局 URI:
solution://{topicId}
- 参数:
topicId
:解决方案的唯一主题ID
- 参数:
- CN URI:
solution://{slug}
- 参数:
slug
:解决方案的唯一 slug/标识符
- 参数:
- 全局 URI:
验证
用户特定数据访问需要 LeetCode 会话认证:
响应格式
所有��具都返回具有以下结构的 JSON 格式的响应:
JSON_DATA_STRING
包含请求的数据或失败请求的错误消息。
执照
该项目已获得 MIT 许可。
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.
模型上下文协议服务器提供与 LeetCode API 的集成,实现 leetcode.com 和 leetcode.cn 平台上编程问题、竞赛、解决方案和用户数据的自动交互。
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