Token导航 LogoToken导航TokenDH.com
LeetCode MCP Server logo
开发工具stdio官方级别未说明来源级核验

LeetCode MCP Server

MCP Server

@smithery/cli

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

工具数

9

提示词数

0

GitHub Stars

113

资源数

0
开发工具TypeScriptClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

jinzcdev

提供方

jinzcdev

最后核验

2026/5/17 20:52

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

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

详细介绍

LeetCode MCP服务器

](https://www.npmjs.com/package/@jinzcdev/leetcode-mcp-server) ](https://www.npmjs.com/package/@jinzcdev/leetcode-mcp-server) ](./LICENSE) ![Chinese Doc](README_zh-CN.md) ![Stars](https://github.com/jinzcdev/leetcode-mcp-server)

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许可证获得许可。

目录标签

目录标签

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

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Node.js

部署方式(deploymentType,部署类型)

remote-capable

来源包(packageName,安装包名)

@smithery/cli

工具数量(toolCount,工具数)

9

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosessionremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP