1263 字
约 4 分钟
1
MCP 自动发帖服务上线:从本地工具到定时内容分发

MCP 自动发帖服务上线:从本地工具到定时内容分发

上一章我们把“发布文章”封装成了 MCP 工具,让 AI 可以调用接口创建草稿或发布内容。接下来要解决的问题是:如何让这套能力稳定运行,并按照计划自动执行?

本文用通用方案,带你完成 MCP 自动发帖服务的打包、定时任务和 Docker 部署。

一、整体架构

自动发帖服务可以拆成两个部分:

  • MCP 发帖服务:负责接收标题、正文、标签等参数,并调用目标内容平台的发布接口。
  • 业务调度服务:负责定时生成文章、调用 MCP 工具,并记录执行结果。

其中,MCP 服务可以打包成独立 Jar,以 stdio 方式由业务服务启动和调用。

整个流程如下:

定时任务触发 → AI 生成文章 → 调用 MCP 发帖工具 → 平台创建草稿或发布文章 → 返回文章链接

二、为什么需要定时任务?

MCP 工具本身只负责“能发帖”,不会自己决定何时发、发什么。

因此需要增加一个定时任务,例如:

  • 每天上午生成一篇技术文章;
  • 每周发布一次行业总结;
  • 不同时间生成不同主题的内容;
  • 先创建草稿,人工审核后再发布。

Spring Boot 中可以使用 @Scheduled 实现:

@Scheduled(cron = "0 0 10 * * ?")
public void publishArticleJob() {
    // 每天 10:00 执行
}

如果只是测试,也可以先设置为每 10 分钟执行一次;正式使用时应降低频率,避免重复发布或触发平台风控。

三、让 AI 调用 MCP 工具

在业务服务中,需要配置 ChatClient,并将 MCP 工具注册进去:

@Bean
public ChatClient chatClient(OpenAiChatModel chatModel,
                             ToolCallbackProvider tools) {
    return ChatClient.builder(chatModel)
            .defaultTools(tools)
            .build();
}

定时任务执行时,向 AI 发送一段明确的提示词:

String prompt = """
请生成一篇面向 Java 初学者的技术文章。

要求:
1. 主题:Spring Boot 项目中的异常处理;
2. 包含标题、正文、标签和 100 字以内摘要;
3. 内容通俗易懂,带简单示例;
4. 完成后调用发布文章工具,先保存为草稿。
""";

String result = chatClient.prompt(prompt).call().content();

提示词越清晰,生成内容和工具调用的成功率越高。建议明确文章主题、目标读者、格式要求、标签规则,以及“发布”还是“保存草稿”。

四、stdio 模式如何配置?

stdio 模式下,业务服务会把 MCP Jar 当作子进程启动,并通过标准输入输出通信。

本地配置通常类似这样:

mcp:
  servers:
    article-publisher:
      command: java
      args:
        - -jar
        - /app/mcp-server-article.jar

本地开发时可以使用 classpath 或本机 Jar 路径;部署到 Docker 后,应改为容器内的绝对路径。

需要注意:stdio MCP 服务的输出必须遵循 MCP 协议,因此不要随意向标准输出打印普通日志。业务日志建议输出到标准错误流或统一日志系统。

五、Docker 部署思路

部署时可以把业务服务和 MCP Jar 一起放入镜像:

FROM eclipse-temurin:17-jre

WORKDIR /app

COPY app.jar /app/app.jar
COPY mcp-server-article.jar /app/mcp-server-article.jar

ENTRYPOINT ["java", "-jar", "/app/app.jar"]

再通过 Docker Compose 启动:

services:
  article-job:
    image: your-registry/article-job:1.0
    restart: unless-stopped
    environment:
      SPRING_PROFILES_ACTIVE: prod
      AI_API_KEY: ${AI_API_KEY}
      PLATFORM_TOKEN: ${PLATFORM_TOKEN}

这样可以实现“一次构建,多处运行”,无论是本地服务器、NAS 还是云主机,都能使用同一份镜像部署。

六、上线前必须注意的事

自动发帖看起来简单,但上线前建议做好以下控制:

  • 不要把 Cookie、Token、API Key 写进代码或配置仓库。
  • 使用环境变量、密钥管理服务或平台官方 OAuth 授权。
  • 默认发布为草稿,审核通过后再正式发布。
  • 为任务增加幂等控制,避免同一篇文章重复发送。
  • 记录任务日志、文章链接和失败原因,方便排查。
  • 设置合理执行频率,并遵守目标平台的接口规则。
  • 对 AI 输出增加基础校验,例如标题不能为空、正文长度达标、标签数量受限。

七、总结

MCP 自动发帖服务的上线,本质上是把三个能力连接起来:

  1. AI 负责创作内容;
  2. MCP 负责调用平台发布能力;
  3. 定时任务负责在合适的时间自动执行。

完成这套闭环后,你就拥有了一套可扩展的内容自动化系统。后续可以继续接入多个平台,实现“一次生成、多平台草稿分发”,再由人工统一审核发布。

MCP 自动发帖服务上线:从本地工具到定时内容分发
http://clxhxhhr.top/posts/603/
作者
clxstart
发布于
2026-09-13
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。