Token导航 LogoToken导航

MCP Server · 开发工具

LeetCode MCP Server

基于Model Context Protocol的LeetCode API集成服务器,支持编程题目数据获取、用户数据分析、提交管理及笔记功能

stdio官方级别未说明来源级核验工具 9@smithery/cli
开发工具TypeScriptClaudeClaude Desktop

快速开始

作者 / 组织
jinzcdev
提供方
jinzcdev
运行时
Node.js

工具数量

9

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

113

仓库热度

收录来源

3 个

MCP World

选型结论

LeetCode MCP Server 属于开发工具类 MCP Server,公开资料标注 9 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前要先准备 会话凭据。

分类

开发工具

传输方式

stdio

认证方式

会话凭据

部署方式

支持远程部署

安装与配置

安装命令

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

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Node.js,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 9 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

LeetCode MCP服务器

LeetCode MCP服务器是一个 模型上下文协议(MCP) 该服务器提供与LeetCode API的无缝集成,实现了与LeetCodes的编程问题、竞赛、解决方案和用户数据的高级自动化和智能交互。

特性

  • 🌐 多站点支持:支持​ leetcode.com(全球)和leetcode.cn(中国)平台
  • 📊 问题数据检索:获取详细的问题描述、约束、示例、官方社论,以及​用户提交的解决方案
  • 👤 用户数据访问:检索用户资料、提交历史和比赛表现
  • 🔒 ​私人数据访问:创建和查询用户笔记,跟踪问题解决进度,分析提交详细信息(AC/WA分析)
  • 🔍 高级搜索功能:按标签、难度级别、类别和关键字过滤问题
  • 📅 每日挑战访问:轻松解决日常挑战问题

先决条件

  1. Node.js(v20.x或更高版本)
  2. (可选)用于经过身份验证的API访问的LeetCode会话cookie

安装

通过史密瑟里安装

通过以下方式自动安装Claude Desktop的leetcode mcp服务器 史密瑟里:

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 

或者,您可以克隆存储库并在本地运行它:

# 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": ""
        }
      }
    }
  }
}
选项2:使用命令行参数
{
  "mcp": {
    "servers": {
      "leetcode": {
        "type": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "@jinzcdev/leetcode-mcp-server",
          "--site",
          "global",
          "--session",
          ""
        ]
      }
    }
  }
}

对于LeetCode中国网站,请修改 --site 参数到 cn.

\[!提示\] 服务器支持以下可选环境变量: - LEETCODE_SITE:LeetCode API端点(“全局”或“cn”,默认值:“全局”) - LEETCODE_SESSION:LeetCode会话cookie,用于通过身份验证的API访问(默认值:空) 优先级说明: 如果同时指定了命令行参数和环境变量,则命令行参数优先于环境变量。例如: - 如果 LEETCODE_SITE=cn 已设置,但你仍在奔跑 leetcode-mcp-server --site global,服务器将使用 global. - 如果 LEETCODE_SESSION 存在,但您提供 --session "new_cookie",将使用命令行会话值。

可用工具

问题

|工具|全局|中国|需要授权|描述| | ----------------------- | :----: | :-: | :-----------: | ------------------------------------------------------------ | | get_daily_challenge | ✅ | ✅ | ❌ | 检索今天的LeetCode每日挑战问题| | get_问题 | ✅ | ✅ | ❌ | 检索特定LeetCode问题的详细信息| | 搜索_问题 | ✅ | ✅ | ❌ | 使用多个筛选条件搜索LeetCode问题|

用户

|工具|全局|中国|需要授权|描述| | --------------------------------- | :----: | :-: | :-----------: | ------------------------------------------------------------ | | get_user_profile | ✅ | ✅ | ❌ | 检索LeetCode用户的配置文件信息| | get_user_contest_ranking | ✅ | ✅ | ❌ | 获取用户的比赛排名统计数据| | get_recent_ac_提交 | ✅ | ✅ | ❌ | 检索用户最近接受的提交| | get_recent_submissions | ✅ | ❌ | ❌ | 检索用户最近的提交历史记录| | 获取用户状态 | ✅ | ✅ | ✅ | 检索当前用户的当前状态| | get_problem_submission_report | ✅ | ✅ | ✅ | 为特定问题提供详细的提交分析| | 获取问题进展 | ✅ | ✅ | ✅ | 检索当前用户的问题解决进度| | get_all_提交 | ✅ | ✅ | ✅ | 检索当前用户的提交历史记录|

提交

|工具|全局|中国|需要授权|描述| | ------------------- | :----: | :-: | :-----------: | ------------------------------------------------------------- | | run_code | ✅ | ✅ | ✅ | 运行问题代码并轮询 /check/ 直到完成| | 提交解决方案 | ✅ | ✅ | ✅ | 提交问题代码并进行投票 /check/ 直到完成|

备注

|工具|全局|中国|需要授权|描述| | ---------------- | :----: | :-: | :-----------: | ----------------------------------------------------- | | search_notes | ❌ | ✅ | ✅ | 使用筛选选项搜索用户笔记| | get_note | ❌ | ✅ | ✅ | 按问题ID检索特定问题的注释| | create_note | ❌ | ✅ | ✅ | 为特定问题创建新注释| | update_note | ❌ | ✅ | ✅ | 用新内容更新现有笔记|

解决方案

|工具|全局|中国|需要授权|描述| | -------------------------- | :----: | :-: | :-----------: | -------------------------------------------------------------- | | 列表_问题_解决方案 | ✅ | ✅ | ❌ | 检索特定问题的社区解决方案列表| | get_problem_solution | ✅ | ✅ | ❌ | 检索特定解决方案的完整内容|

工具参数

问题

  • get_daily_challenge -检索今天的LeetCode每日挑战问题的完整详细信息

- 无需参数

  • get_问题 -检索特定LeetCode问题的详细信息

- titleSlug:问题的URL段/标识符(字符串,必填)

  • 搜索_问题 -基于多个筛选条件搜索LeetCode问题

- category:问题类别筛选器(字符串,可选,默认值:“所有代码要素”) - 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_提交 -检索用户最近接受的提交

- username:LeetCode用户名(字符串,必填) - limit:要返回的最大提交次数(数量,可选,默认值:10)

  • 获取用户状态 -检索当前用户的状态

- 无需参数

  • get_problem_submission_report -检索特定提交的详细信息

- id:数字提交ID(数字,必填)

  • 获取问题进展 -检索当前用户的问题解决进度

- offset:要跳过的问题数(数字,可选,默认值:0) - limit:要返回的最大问题数(数字,可选,默认值:100) - questionStatus:按问题状态筛选(枚举:“已尝试”、“已解决”,可选) - difficulty:按难度级别过滤(string\[\],可选)

  • get_all_提交 -检索用户提交的分页列表

- limit:要返回的最大提交数(默认值:20) - offset:要跳过的提交数(默认值:0) - questionSlug:可选问题标识符(字符串,可选) - lang:编程语言过滤器(字符串,可选,仅限CN) - status:提交状态筛选器(枚举:“AC”、“WA”,可选,仅限CN) - lastKey:用于检索下一页的分页标记(字符串,可选,仅限CN)

提交

  • run_code -运行特定问题的代码并等待完成(需要身份验证)

- titleSlug:问题的URL段/标识符(字符串,必填) - lang:编程语言(字符串枚举,必填) - typedCode:要运行的源代码(字符串,必填) - dataInput:要运行的自定义输入(字符串,可选) - timeoutMs:轮询超时(毫秒)(数字,可选,默认值:120000) - pollIntervalMs:轮询间隔(毫秒)(数字,可选,默认值:1500)

  • 提交解决方案 -提交特定问题的代码并等待完成(需要身份验证)

- titleSlug:问题的URL段/标识符(字符串,必填) - lang:编程语言(字符串枚举,必填) - typedCode:要提交的源代码(字符串,必填) - timeoutMs:轮询超时(毫秒)(数字,可选,默认值:120000) - pollIntervalMs:轮询间隔(毫秒)(数字,可选,默认值:1500)

备注

  • 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:注释的可选新简短摘要或标题(字符串,可选)

解决方案

  • 列表_问题_解决方案 -检索特定问题的社区解决方案列表

- questionSlug:问题的URL段/标识符(字符串,必填) - limit:要返回的最大解决方案数(数字,可选,默认值:10) - skip:要跳过的解决方案数量(数量,可选) - userInput:用于筛选解决方案的搜索词(字符串,可选) - tagSlugs:用于筛选解决方案的标记标识符数组(string\[\],可选,默认值:\[\]) - orderBy:返回解决方案的排序标准 - 全局:枚举:“HOT”、“MOST_RECENT”、”MOST_VOTES”,可选,默认值:“HOT” - CN:枚举:“DEFAULT”、“MOST_UPVOTE”、“HOT”、“NEWEST_TO_OLDEST”、“OLDEST_TO_NEWEST”,可选,默认值:“DEFULT”

  • get_problem_solution -检索特定解决方案的完整内容

- topicId:解决方案的唯一主题ID(字符串,必填,仅限全局) - slug:解决方案的唯一slug/标识符(字符串,必填,仅限CN)

可用资源

|资源名称|全局| CN |需要授权|描述| | ---------------------- | :----: | :-: | :-----------: | ------------------------------------------------------------ | | 问题类别 | ✅ | ✅ | ❌ | 所有问题分类类别的列表| | 问题标签 | ✅ | ✅ | ❌ | 算法和数据结构标签的详细集合| | 问题语言 | ✅ | ✅ | ❌ | 所有支持的编程语言的完整列表| | 问题细节 | ✅ | ✅ | ❌ | 提供有关特定问题的详细信息| | 问题-解决方案 | ✅ | ✅ | ❌ | 提供特定解决方案的完整内容|

资源URI

  • 问题类别 -所有问题分类类别的列表

- URI: categories://problems/all

  • 问题标签 -算法和数据结构标签的详细集合

- URI: tags://problems/all

  • 问题语言 -LeetCode支持的所有编程语言的完整列表

- URI: langs://problems/all

  • 问题细节 -提供有关特定LeetCode问题的详细信息

- URI: problem://{titleSlug} - 参数: - titleSlug:LeetCode URL中出现的问题标识符

  • 问题-解决方案 -提供特定解决方案的完整内容

- 全局URI: solution://{topicId} - 参数: - topicId:解决方案的唯一主题ID - CN URI: solution://{slug} - 参数: - slug:解决方案的唯一slug/标识符

认证

用户特定的数据访问需要LeetCode会话身份验证:

  1. 登录LeetCode(全球 或 中国 网站)
  2. 提取 LEETCODE_SESSION 来自浏览器开发工具的cookie
  3. 使用配置服务器 --session 旗帜或 LEETCODE_SESSION 环境变量

响应格式

所有工具返回JSON格式的响应,其结构如下:

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

这 JSON_DATA_STRING 包含请求的数据或失败请求的错误消息。

许可证

该项目根据MIT许可证获得许可。

工具与能力

工具数量

9

资源数量

0

提示词数量

0

能力标签

编程练习TypeScript本地部署可托管算法题库开发者工具自动化测试学习辅助

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 9 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Node.js,换机器要重新装一遍。
  • 需要自备会话凭据,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到会话凭据的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
LeetCode MCP Server

MCP World · 本页

9stdio有3 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

LeetCode MCP Server 怎么安装?

公开资料给出的安装命令是 npx -y @smithery/cli install @jinzcdev/leetcode-mcp-server --client claude,运行环境为 Node.js。装完后按客户端要求写进 MCP 配置,重启客户端生效。

LeetCode MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Node.js;保存后完全退出客户端再打开,配置才会生效。

LeetCode MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

LeetCode MCP Server 需要 API Key 吗?

公开资料标注的认证方式是会话凭据,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

LeetCode MCP Server 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP