juejin-mcp
English | 中文
MCP for 稀土掘金 / juejin.cn。让你的 AI 助手直接访问掘金数据。
项目简介
主要功能
| # | 功能 | 说明 |
|---|---|---|
| 1 | 登录管理 | QR 码扫码登录 + 手动 Cookie 导入 |
| 2 | 推荐文章 | 获取首页推荐文章列表 |
| 3 | 文章详情 | 获取文章完整内容(Markdown)、作者、互动数据 |
| 4 | 搜索文章 | 关键词搜索,支持排序(综合/最新/最热) |
| 5 | 文章热榜 | 全站或分类热门排行 |
| 6 | 用户文章 | 查看指定用户的文章列表 |
| 7 | 用户信息 | 获取用户资料、粉丝数、文章数等 |
| 8 | 点赞 | 点赞或取消点赞文章 |
| 9 | 收藏 | 收藏或取消收藏文章 |
| 10 | 评论 | 发表评论、回复评论 |
| 11 | 沸点 | 获取沸点列表、发布沸点 |
| 12 | 文章发布 | 创建草稿 + 发布文章 |
1. 快速开始
1.1 安装
方式一:源码编译
依赖 Go 1.25+ 环境,安装方法参考 Go 官方文档。
git clone https://github.com/androidZzT/juejin-mcp.git
cd juejin-mcp
go build -o juejin-mcp .方式二:直接下载
从 下载对应平台的二进制文件(TODO: 待发布)。
1.2 启动服务
# 默认端口 18080
./juejin-mcp
# 自定义端口
./juejin-mcp -port :8080
# 非 headless 模式(可看到浏览器,调试用)
./juejin-mcp -headless=false命令行参数
| 参数 | 默认值 | 说明 |
|---|---|---|
-port | :18080 | 服务端口 |
-cookies | cookies.json | Cookie 文件路径 |
-headless | true | 浏览器 headless 模式 |
-bin | 环境变量 ROD_BROWSER_BIN | 浏览器路径 |
1.3 登录
首次使用需要登录掘金账号,支持两种方式:
方式一:QR 码扫码登录(推荐非 headless 模式)
启动服务后,调用 get_login_qrcode 工具获取二维码,用掘金 App 扫码。
# 推荐用非 headless 模式登录
./juejin-mcp -headless=false方式二:手动导入 Cookie
- 浏览器打开 juejin.cn 并登录
- F12 打开 DevTools → Network → 任意请求 → 复制 Cookie 头
- 调用
import_cookies工具粘贴 Cookie 字符串
登录成功后 Cookie 自动保存到 cookies.json,重启服务不丢失。
1.4 验证
# 健康检查
curl http://localhost:18080/health
# 检查登录状态
curl http://localhost:18080/api/v1/login/status
# MCP Inspector 验证
npx @modelcontextprotocol/inspector
# 连接地址:http://localhost:18080/mcp如果这个项目对你有帮助,欢迎赞赏支持 :)
2. MCP 客户端接入
服务运行后,MCP 端点地址为:http://localhost:18080/mcp
Claude Code CLI
# 添加 MCP 服务
claude mcp add --transport http juejin-mcp http://localhost:18080/mcp
# 验证
claude mcp listCursor
在项目根目录创建 .cursor/mcp.json:
{
"mcpServers": {
"juejin-mcp": {
"url": "http://localhost:18080/mcp",
"description": "稀土掘金 MCP 服务"
}
}
}VSCode
在项目根目录创建 .vscode/mcp.json:
{
"servers": {
"juejin-mcp": {
"url": "http://localhost:18080/mcp",
"type": "http"
}
}
}Cline
{
"juejin-mcp": {
"url": "http://localhost:18080/mcp",
"type": "streamableHttp",
"autoApprove": [],
"disabled": false
}
}其他客户端
任何支持 HTTP MCP 协议的客户端均可连接:http://localhost:18080/mcp
3. 可用 MCP 工具
认证 (4)
check_login_status- 检查登录状态,返回用户名get_login_qrcode- 获取登录二维码,返回 Base64 PNGimport_cookies- 手动导入 Cookie 字符串(格式:name1=value1; name2=value2)delete_cookies- 删除 Cookie,退出登录
文章 (5)
list_recommended_articles- 获取首页推荐文章(参数:cursor,limit)get_article_detail- 获取文章详情(必需:article_id)search_articles- 搜索文章(必需:keyword,可选:cursor,limit,sort_type)
- sort_type: 0=综合, 1=最新, 2=最热
get_article_ranking- 获取文章热榜(可选:category_id,type)list_user_articles- 获取用户文章列表(必需:user_id,可选:cursor,limit,sort_type)
用户 (1)
get_user_profile- 获取用户信息(可选:user_id,不传则获取当前用户)
互动 (4)
like_article- 点赞/取消点赞(必需:article_id,like)favorite_article- 收藏/取消收藏(必需:article_id,collection_id,favorite)post_comment- 发表评论(必需:article_id,content)reply_comment- 回复评论(必需:article_id,comment_id,content)
沸点 (2)
list_pins- 获取沸点列表(可选:cursor,limit,sort_type)publish_pin- 发布沸点(必需:content,可选:topic_id)
文章发布 (2)
create_draft- 创建草稿(必需:title,mark_content,可选:category_id,tag_ids,cover_image,brief_content)publish_article- 发布文章(必需:draft_id,可选:column_ids)
4. REST API
所有 MCP Tools 同时提供 REST API:
GET /health 健康检查
GET /api/v1/login/status 登录状态
GET /api/v1/login/qrcode 获取二维码
POST /api/v1/login/cookies 导入 Cookie
DELETE /api/v1/login/cookies 删除 Cookie
GET /api/v1/articles/recommended 推荐文章
POST /api/v1/articles/detail 文章详情
POST /api/v1/articles/search 搜索文章
GET /api/v1/articles/ranking 文章热榜
POST /api/v1/articles/user 用户文章
GET /api/v1/user/profile 用户信息
POST /api/v1/like 点赞
POST /api/v1/favorite 收藏
POST /api/v1/comment 评论
POST /api/v1/comment/reply 回复
GET /api/v1/pins/list 沸点列表
POST /api/v1/pins/publish 发布沸点
POST /api/v1/draft/create 创建草稿
POST /api/v1/draft/publish 发布文章5. 项目结构
juejin-mcp/
main.go # 入口
app_server.go # HTTP server + 优雅关闭
service.go # 业务逻辑层
mcp_server.go # MCP tool 注册
mcp_handlers.go # MCP handler 实现
handlers_api.go # REST API handlers
routes.go # 路由
types.go # HTTP 请求/响应类型
middleware.go # CORS 中间件
juejin/
client.go # HTTP client(Cookie + 掘金 Headers)
types.go # 掘金 API 数据结构
browser/
login.go # Rod 浏览器 QR 码登录
cookies/
store.go # Cookie JSON 持久化
configs/
config.go # 配置管理
errors/
errors.go # 错误定义6. 技术栈
- Go 1.25+
- modelcontextprotocol/go-sdk — MCP 协议
- gin-gonic/gin — HTTP 框架
- go-rod/rod — 浏览器自动化(仅登录)
- sirupsen/logrus — 结构化日志
7. 风险说明
- 掘金没有官方开放 API,本项目使用的是社区逆向的 HTTP 接口,可能随时变更。
- 本项目仅供学习和个人使用,请遵守掘金平台的使用条款。
- 请勿用于大规模爬取、刷量等违反平台规则的行为。
License
MIT
