mcpField
L
LeetCode Crawler

LeetCode Crawler

本地服务
github.com/louisfghbvc浏览器自动化428 周前更新

关于 LeetCode Crawler

LeetCode Crawler 抓取带公司标签的面试讨论,对帖子分类并去重,还可用 Claude AI 提取结构化面试信息。它通过命令行、CSV 输出和 MCP 工具服务于开发者及面试研究者。

主要功能

  1. 01按公司标签抓取讨论
  2. 02对帖子分类并去重
  3. 03按时间范围和类别筛选
  4. 04用 Claude AI 提取面试字段
  5. 05将结果保存为 CSV
  6. 06提供四种 MCP 工具

适用场景

  1. 01查看目标公司的面试经历
  2. 02找出讨论频繁的 LeetCode 题目
  3. 03获取讨论串或刷新缓存结果

MCP 相关

MCP 服务通过 stdio 暴露四种工具,用于搜索缓存讨论、统计热门题目、获取讨论串和刷新缓存。该服务面向 Claude Desktop 和 Claude Code。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

LeetCode 讨论爬虫 + MCP 服务

爬取 LeetCode 面试讨论论坛,使用 Claude AI 提取结构化信息, 并将数据作为 MCP(Model Context Protocol)服务提供给 Claude Desktop 和 Claude Code 使用。

功能

  • 按公司标签(google、meta、amazon 等)筛选并爬取 LeetCode 讨论论坛
  • 按类型分类帖子(leetcode、discuss_link、discussion)
  • 跨页面按帖子标题和公司对讨论进行分组和去重
  • 可选使用 AI 为帖子补充提取字段:problem_name、leetcode_url、 interview_stage、difficulty、reported_outcome
  • 保存为 CSV(按公司缓存或按月输出)
  • 通过 stdio MCP 传输提供 4 个工具,供 Claude Desktop / Claude Code 使用

安装

git clone https://github.com/louisfghbvc/mcp-leetcode-crawler.git
cd mcp-leetcode-crawler
pip install -r requirements.txt

使用方法

命令行界面
# Crawl 10 pages of Google interview discussions
python cli.py --company google --pages 10

# Filter to posts from the last 30 days
python cli.py --company google --pages 10 --since 30d

# Crawl and enrich with AI extraction (requires ANTHROPIC_API_KEY)
python cli.py --company google --pages 10 --enrich

# Other companies
python cli.py --company meta --pages 5 --since 7d

可用的命令行选项:

  • --company:公司标签(默认:google)
  • --pages:要爬取的页数,每页 15 篇帖子(默认:10)
  • --output:输出 CSV 路径(默认:leetcode_interview_questions.csv)
  • --output-dir:按月生成的 CSV 文件目录(默认:output)
  • --since:时间范围筛选器——Nd(天)或 Nw(周),例如 --since 14d
  • --enrich:使用 AI 从每篇帖子中提取结构化字段(需要 ANTHROPIC_API_KEY)
  • --verbose:调试日志
  • --category:讨论类别(默认:interview-question)
MCP 服务

在 Claude Desktop 或 Claude Code 中注册:

# Run directly
python mcp_server.py

# Or register with Claude Desktop
mcp install mcp_server.py

该服务提供 4 个工具:

工具描述
search_discussions(company, days)按公司和时间范围筛选缓存的帖子
get_hot_problems(company, limit)按讨论频率排序的热门 LeetCode 题目
get_thread(post_id)实时获取单个讨论串(不使用缓存)
refresh(company, num_pages, days, enrich)爬取并重建磁盘缓存

缓存位于 ./cache/{company}_questions.csv。使用 search_discussions 或 get_hot_problems 前,先运行一次 refresh 填充缓存。

AI 信息补全

使用 --enrich(命令行界面)或 enrich=True(MCP refresh)时,每篇帖子都会新增 5 个字段:

字段值
problem_nameLeetCode 题目名称,或 null
leetcode_url完整题目 URL,或 null
interview_stagephone screen / online assessment / onsite / final round / null
difficultyeasy / medium / hard / null
reported_outcomepassed / failed / no mention / null(null = 提取失败,将重试)

费用:使用 claude-haiku-4-5-20251001 时,每篇帖子约 $0.001。重新运行时会跳过已完成信息补全的帖子。

项目结构

mcp-leetcode-crawler/
├── crawler.py          # Core crawler: fetch, deduplicate, filter, classify posts
├── extractor.py        # AI extraction layer: Claude Haiku → structured fields
├── mcp_server.py       # MCP server: 4 tools over stdio transport
├── cli.py              # Command-line interface
├── requirements.txt    # Python dependencies
├── test_crawler.py     # Crawler unit tests
├── test_mcp_server.py  # MCP server unit tests (22 tests)
├── test_extractor.py   # Extractor unit tests (12 tests)
├── test_cli.py         # CLI integration tests (2 tests)
└── cache/              # Per-company CSV cache (git-ignored)

要求

  • Python 3.12+
  • ANTHROPIC_API_KEY 环境变量(仅用于 --enrich)

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。