MCP LeetCode服务器
一个MCP(模型上下文协议)服务器,将LLM连接到LeetCode,通过智能问题选择、提示、解决方案验证和个性化建议实现人工智能驱动的编码实践。
特性
工具
- get_问题 -通过slug或数字获取特定的LeetCode问题
- 返回:标题、描述(转换为降价)、难度、标签、示例、接受率
- get_random_问题 -使用过滤器得到一个随机问题
- 筛选条件:难度(易/中/难)、标签(数组、dp、树、图等)、状态(已解决/未解决)
- 搜索_问题 -按关键字、标签或难度搜索问题
- 返回带有标题、难度、接受率和标签的分页结果
- get_daily_challenge -获取今天的LeetCode每日挑战
- get_problem_hints -无剧透的渐进式提示
- 提示1:方法类别 - 提示2:具体技巧 - 提示3:伪代码大纲
- 验证方法 -分析提出的解决方案
- 评估正确性、时间/空间复杂性和边缘情况
- get_similar_问题 -查找相关问题
- 基于标签和难度级别
- get_topic_roadmap -针对某一主题精心策划的学习路径
- 按从易到难的顺序返回问题,以便进行系统实践
- 解释解决方案 -详细的解决方案说明
- 方法分析、复杂性分解和替代方法
- get_company_问题 -特定公司经常提出的问题
- 支持:谷歌、Meta、亚马逊、微软、苹果等
提示
服务器包括结构化练习会话的MCP提示模板:
- 日常练习 -结构化的日常练习课程,包括热身、主要问题和复习
- 主题深度挖掘 -专注于一个特定主题的练习,难度逐渐增加
- 面试准备 -有时间限制的模拟面试问题集
安装
源自源头
# Clone the repository
git clone
cd mcp-leetcode-server
# Install dependencies
npm install
# Build the project
npm run build来自npm(发布时)
npm install -g mcp-leetcode-server用法
使用MCP客户端(Kiro、Claude Desktop等)
添加到您的MCP客户端配置文件中(例如。, ~/.kiro/settings/mcp.json):
{
"mcpServers": {
"leetcode": {
"command": "node",
"args": ["/absolute/path/to/mcp-leetcode-server/build/index.js"],
"disabled": false,
"autoApprove": []
}
}
}替换 /absolute/path/to/mcp-leetcode-server 安装的实际路径。
独立测试
node build/index.js示例用法
看 examples/usage-examples.md 了解详细的使用模式和工作流程。
快速开始
- 安装并配置服务器
- 问你的法学硕士:“给我今天的LeetCode每日挑战”
- 使用渐进式提示:“给我这个问题的提示”
- 验证你的方法:“使用哈希映射能解决这个问题吗?”
- 通过练习历史自动跟踪你的进度
实现细节
- 使用LeetCode的GraphQL API(https://leetcode.com/graphql)
- 积极缓存以处理速率限制
- HTML到Markdown的转换,用于清晰的问题描述
- 本地实践历史跟踪(存储在
practice-history.json) - TypeScript
@modelcontextprotocol/sdk - MCP通信的stdio传输
实践历史
服务器维护一个本地实践历史文件,以提供个性化建议。这包括:
- 尝试的问题
- 成功/失败状态
- 时间戳
- 练习的主题
速率限制
服务器实现智能缓存,以最大限度地减少API调用:
- 问题数据缓存24小时
- 每日挑战缓存到第二天
- 搜索结果缓存1小时
故障排除
服务器未连接
- 验证MCP配置中的路径是否绝对正确
- 检查一下
build/index.js存在(运行npm run build) - 在MCP客户端日志中查找错误
API速率限制
- 服务器主动缓存以尽量减少API调用
- 如果达到速率限制,请等待几分钟
- 缓存数据:问题(24小时)、每日挑战(直到午夜)、搜索(1小时)
实践历史未保存
- 确保服务器目录中的写入权限
- 检查
practice-history.json文件创建 - 首次尝试解决问题时会自动创建文件
无法加载的问题
- 验证互联网连接
- 检查LeetCode.com是否可访问
- 有些问题可能需要LeetCode高级版(服务器会指出这一点)
发展
观看模式
npm run watch项目结构
mcp-leetcode-server/
├── src/
│ ├── index.ts # Main server entry point
│ ├── leetcode-api.ts # LeetCode GraphQL API client
│ ├── definitions.ts # Tool and prompt definitions
│ └── practice-history.ts # Local practice tracking
├── examples/ # Usage examples and configs
├── build/ # Compiled JavaScript (generated)
└── practice-history.json # Local practice data (generated)路线图
- \[\]添加提交和测试功能
- \[\]增强的公司问题过滤(需要额外费用)
- \[\]代码执行和验证
- \[\]统计和进度可视化
- \[\]多语言解决方案模板
- \[\]与本地代码编辑器集成
许可证
MIT许可证-请参阅 许可证 详细信息文件
贡献
欢迎投稿!请阅读 贡献.md 作为指导方针。
免责声明
这是一个非官方工具,与LeetCode无关。请遵守LeetCode的服务条款和费率限制。
