About Csdn
Csdn is an MCP server in the Other category: 基于Spring AI MCP协议的CSDN博客智能管理服务.
The repository has 3 stars and 0 forks.
Install
git clone https://github.com/CorgiBoyG/mcp-server-csdnThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Csdn
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
MCP Server - CSDN
一个基于 Spring AI MCP Server 的 CSDN 文章发布服务,支持通过 AI 自动发布 Markdown 文章到 CSDN 平台。
功能特性
- ✅ 发布文章到 CSDN 平台
- ✅ 支持 Markdown 格式内容
- ✅ 支持文章标签设置
- ✅ 支持文章分类设置
- ✅ 基于 Spring AI MCP Server 标准协议
- ✅ 支持 stdio 和 SSE 两种模式
技术栈
- 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-csdn/
├── src/
│ └── main/
│ ├── java/
│ │ └── cn/bugstack/mcp/server/csdn/
│ │ ├── domain/ # 领域层
│ │ │ ├── adapter/ # 端口接口
│ │ │ ├── model/ # 领域模型
│ │ │ └── service/ # 领域服务
│ │ ├── infrastructure/ # 基础设施层
│ │ │ └── adapter/ # 适配器实现
│ │ ├── gateway/ # 网关层
│ │ │ └── dto/ # 数据传输对象
│ │ ├── types/ # 类型定义
│ │ │ ├── properties/ # 配置属性
│ │ │ └── utils/ # 工具类
│ │ └── McpServerApplication.java
│ └── resources/
│ └── application.yml
├── Dockerfile
├── build.sh
└── push.sh
快速开始
环境要求
- JDK 17+
- Maven 3.6+
配置说明
在 src/main/resources/application.yml 中配置 CSDN Cookie:
csdn:
api:
categories: Java场景面试宝典 # 文章分类
cookie: your-csdn-cookie-here # CSDN 登录 Cookie
spring:
application:
name: mcp-server-csdn
ai:
mcp:
server:
name: ${spring.application.name}
version: 1.0.0
如何获取 CSDN Cookie:
- 登录 CSDN 网站
- 打开浏览器开发者工具(F12)
- 在 Network 标签中找到任意请求
- 复制请求头中的
Cookie值
构建项目
mvn clean package
运行项目
stdio 模式(默认):
java -jar target/mcp-server-csdn-app.jar
SSE 模式:
修改 application.yml,注释掉 web-application-type: none,然后运行:
java -jar target/mcp-server-csdn-app.jar
服务将在 http://localhost:8101 启动。
Docker 部署
# 构建镜像
docker build -t mcp-server-csdn:1.0.0 .
# 运行容器
docker run -d \
-p 8101:8101 \
-v $(pwd)/data:/app/data \
mcp-server-csdn:1.0.0
功能说明
发布文章到 CSDN
通过 @Tool 注解暴露的工具方法,AI 可以调用 saveArticle 方法发布文章。
请求参数:
title: 文章标题markdowncontent: Markdown 格式的文章内容tags: 文章标签(多个标签用逗号分隔)
返回信息:
- 文章发布结果
- 文章链接(如果成功)
架构设计
项目采用 DDD(领域驱动设计)架构:
- 领域层(Domain): 包含业务逻辑和领域模型
- 基础设施层(Infrastructure): 实现外部接口适配
- 网关层(Gateway): 处理外部 API 调用
数据流转:
AI → @Tool 方法 → CSDNArticleService → ICSDNPort → CSDNPort → ICSDNService → CSDN API
使用示例
当作为 MCP Server 运行时,AI 可以通过以下方式调用:
{
"method": "tools/call",
"params": {
"name": "saveArticle",
"arguments": {
"title": "Spring Boot 入门教程",
"markdowncontent": "# Spring Boot 入门\n\n这是一篇关于 Spring Boot 的教程...",
"tags": "Spring Boot,Java,后端"
}
}
}
开发说明
核心类说明
- McpServerApplication: Spring Boot 主启动类
- CSDNArticleService: 领域服务,提供
saveArticle工具方法 - CSDNPort: 适配器实现,连接领域层和网关层
- ICSDNService: Retrofit 接口,定义 CSDN API 调用
- MarkdownConverter: Markdown 转换工具
添加新功能
- 在
CSDNArticleService中添加新的@Tool注解方法 - 在
ICSDNPort接口中定义新的端口方法 - 在
CSDNPort中实现适配逻辑 - 在
ICSDNService中添加对应的 API 接口 - 重新构建并运行
日志
日志文件位置:data/log/mcp-server-csdn.log
注意事项
- Cookie 会过期,需要定期更新
- 发布文章需要遵守 CSDN 社区规范
- 建议在测试环境先验证功能
许可证
本项目采用 MIT 许可证。
作者
Daniel G
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.