mcp-server-juejin

CorgiBoyG/mcp-server-juejin

3.3

If you are the rightful owner of mcp-server-juejin and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

MCP Server - JueJin is a service for automatically creating and publishing articles to the JueJin community using AI, based on the Spring AI MCP Server protocol.

Tools
1
Resources
0
Prompts
0

MCP Server - JueJin

一个基于 Spring AI MCP Server 的掘金文章发布服务,支持通过 AI 自动创建和发布文章到掘金社区。

功能特性

  • ✅ 创建文章草稿到掘金
  • ✅ 发布文章到掘金社区
  • ✅ 支持 Markdown 格式内容
  • ✅ 支持文章标签设置
  • ✅ 基于 Spring AI MCP Server 标准协议
  • ✅ 支持 stdio 模式

技术栈

  • Java 17
  • Spring Boot 3.4.3
  • Spring AI 1.0.0-M6
  • Retrofit 2.9.0 - HTTP 客户端
  • Flexmark 0.64.8 - Markdown 解析器
  • Lombok
  • FastJSON 2.0.28

项目结构

mcp-server-juejin/
├── src/
│   └── main/
│       ├── java/
│       │   └── cn/bugstack/mcp/server/juejin/
│       │       ├── domain/              # 领域层
│       │       │   ├── adapter/         # 端口接口
│       │       │   ├── model/           # 领域模型
│       │       │   └── service/         # 领域服务
│       │       ├── infrastructure/      # 基础设施层
│       │       │   └── adapter/         # 适配器实现
│       │       ├── gateway/             # 网关层
│       │       │   └── dto/             # 数据传输对象
│       │       ├── types/               # 类型定义
│       │       │   ├── properties/      # 配置属性
│       │       │   └── utils/           # 工具类
│       │       └── McpServerApplication.java
│       └── resources/
│           └── application.yml
└── pom.xml

快速开始

环境要求

  • JDK 17+
  • Maven 3.6+

配置说明

src/main/resources/application.yml 中配置掘金 Cookie:

juejin:
  api:
    cookie: your-juejin-cookie-here  # 掘金登录 Cookie

spring:
  application:
    name: mcp-server-juejin
  ai:
    mcp:
      server:
        name: ${spring.application.name}
        version: 1.0.0
  main:
    web-application-type: none  # stdio 模式

如何获取掘金 Cookie:

  1. 登录掘金网站(https://juejin.cn)
  2. 打开浏览器开发者工具(F12)
  3. 在 Network 标签中找到任意请求
  4. 复制请求头中的 Cookie

构建项目

mvn clean package

运行项目

java -jar target/mcp-server-juejin-1.0.0.jar

功能说明

发布文章到掘金

通过 @Tool 注解暴露的工具方法,AI 可以调用 saveArticleToJueJin 方法发布文章。

功能流程:

  1. 创建文章草稿(调用掘金创建 API)
  2. 发布文章(调用掘金发布 API)

请求参数:

  • title: 文章标题
  • markdowncontent: Markdown 格式的文章内容
  • tags: 文章标签(多个标签用逗号分隔)

返回信息:

  • 文章发布结果
  • 文章 ID(如果成功)
  • 文章链接(如果成功)

架构设计

项目采用 DDD(领域驱动设计)架构:

  1. 领域层(Domain): 包含业务逻辑和领域模型
  2. 基础设施层(Infrastructure): 实现外部接口适配
  3. 网关层(Gateway): 处理外部 API 调用

数据流转:

AI → @Tool 方法 → JueJinArticleService → IJueJinPort → JueJinPort → IJueJinService → 掘金 API

使用示例

当作为 MCP Server 运行时,AI 可以通过以下方式调用:

{
  "method": "tools/call",
  "params": {
    "name": "saveArticleToJueJin",
    "arguments": {
      "title": "深入理解 Spring Boot 自动配置",
      "markdowncontent": "# 深入理解 Spring Boot 自动配置\n\nSpring Boot 的自动配置机制...",
      "tags": "Spring Boot,Java,后端开发"
    }
  }
}

开发说明

核心类说明

  • McpServerApplication: Spring Boot 主启动类
  • JueJinArticleService: 领域服务,提供 saveArticleToJueJin 工具方法
  • JueJinPort: 适配器实现,连接领域层和网关层
  • IJueJinService: Retrofit 接口,定义掘金 API 调用
    • createArticle: 创建文章草稿
    • publishArticle: 发布文章
  • MarkdownConverter: Markdown 转换工具

添加新功能

  1. JueJinArticleService 中添加新的 @Tool 注解方法
  2. IJueJinPort 接口中定义新的端口方法
  3. JueJinPort 中实现适配逻辑
  4. IJueJinService 中添加对应的 API 接口
  5. 重新构建并运行

掘金 API 说明

项目使用掘金开放 API:

  • Base URL: https://api.juejin.cn/
  • 创建文章: /content_api/v1/article_draft/create
  • 发布文章: /content_api/v1/article/publish

日志

日志文件位置:data/log/mcp-server-juejin.log

注意事项

  1. Cookie 会过期,需要定期更新
  2. 发布文章需要遵守掘金社区规范
  3. 建议在测试环境先验证功能
  4. 掘金 API 可能有调用频率限制

许可证

本项目采用 MIT 许可证。

作者

Daniel G