Integrations

Toutiao Mcp

Try it

通过 MCP 协议操作今日头条平台,支持内容发布、账号管理等功能

What it does

通过 Model Context Protocol 让 AI 能够操作今日头条平台。

The skill document

今日头条 MCP Skill

通过 Model Context Protocol 让 AI 能够操作今日头条平台。

🏗️ 架构说明

本 Skill 是一个 MCP Server 集成配置,实际功能由 toutiao-mcp MCP Server 提供。

OpenClaw/AI Agent
    ↓ (读取 Skill 配置)
toutiao-mcp-skill
    ↓ (启动 MCP Server)
toutiao-mcp
    ↓ (MCP Protocol - 6 Tools)
今日头条平台

🎯 何时使用此 Skill

当用户需要操作今日头条平台时,AI 会自动调用相应的 MCP 工具:

账号管理

  • ✅ 登录今日头条账号
  • ✅ 检查登录状态
  • ✅ 登出账号

内容发布

  • ✅ 发布图文文章(支持多图、标签)
  • ✅ 发布微头条(短内容快速分享)
  • ✅ 批量发布小红书数据到今日头条

典型使用场景

  1. 内容创作者:将创作的文章、教程发布到今日头条
  2. 知识分享者:分享学习笔记、技术心得
  3. 多平台运营:将小红书内容同步到今日头条
  4. 自媒体工作者:批量管理和发布内容

触发关键词

  • "发布到今日头条"、"今日头条发布"、"头条发文"
  • "发布文章到头条"、"在头条发表文章"
  • "发布微头条"、"发微头条"、"头条动态"
  • "把小红书数据发到头条"、"同步到今日头条"
  • "批量发布到头条"、"头条批量发文"

📋 前置要求

1. 安装 toutiao-mcp MCP Server

# 方式 1:从 npm 安装(推荐)
npm install -g toutiao-mcp

# 安装浏览器
npx playwright install chromium

# 方式 2:从源码构建
git clone https://github.com/sipingme/toutiao-mcp.git
cd toutiao-mcp
npm install
npx playwright install chromium
npm run build

2. 配置 OpenClaw

在 OpenClaw 的 MCP 配置中添加:

{
  "mcpServers": {
    "toutiao": {
      "command": "node",
      "args": ["/path/to/toutiao-mcp/dist/index.js"],
      "env": {
        "PLAYWRIGHT_HEADLESS": "true",
        "COOKIES_FILE": "/path/to/data/cookies.json",
        "DATA_DIR": "/path/to/data"
      }
    }
  }
}

3. 安装 Skill 文档

# 克隆 Skill 配置和文档
git clone https://github.com/sipingme/toutiao-mcp-skill.git
cp -r toutiao-mcp-skill ~/.openclaw/skills/toutiao/

🚀 标准操作流程 (SOP)

操作 1:检查登录状态

场景:在执行任何操作前,先确认登录状态

MCP 工具check_login_status

步骤

  1. AI 调用 check_login_status 工具
  2. 解析返回结果
  3. 如果未登录,引导用户登录

输出示例

{
  "isLoggedIn": true,
  "message": "已登录"
}

异常处理

  • 如果 isLoggedIn: false,执行操作 2(登录流程)
  • 如果 Cookie 过期,提示用户重新登录

操作 2:登录今日头条

场景:首次使用或 Cookie 过期

MCP 工具login_with_credentials

步骤

  1. AI 调用 login_with_credentials 工具
  2. 系统会打开浏览器窗口
  3. 用户在浏览器中完成登录(扫码或账号密码)
  4. 登录成功后,Cookie 自动保存

输入参数

{
  "headless": false
}

输出示例

{
  "success": true,
  "message": "登录成功"
}

异常处理

  • 登录超时:重新调用工具
  • 登录失败:检查网络连接或账号状态

操作 3:发布图文文章

场景:用户提供标题、正文和图片,发布到今日头条

MCP 工具publish_article

前置条件

  • ✅ 用户已登录
  • ✅ 标题符合规范(2-30字)
  • ✅ 正文内容充实(建议300字以上)
  • ✅ 图片格式正确(可选)

步骤

  1. 验证登录状态

    调用 check_login_status
    如果未登录 → 执行操作 2(登录流程)
    
  2. 收集发布信息

    • 标题(必需,2-30字)
    • 正文内容(必需,建议300字以上)
    • 图片路径列表(可选,支持本地路径和 URL)
    • 标签(可选,建议3-5个)
  3. 验证内容格式

    • 检查标题长度
    • 验证图片路径(如果有)
    • 确认正文不为空
  4. 调用发布工具

{
  "title": "Node.js 开发技巧分享",
  "content": "本文分享几个实用的 Node.js 开发技巧...\n\n## 1. 使用 async/await\n\n异步编程是 Node.js 的核心...\n\n## 2. 错误处理最佳实践\n\n正确的错误处理能提高应用稳定性...\n\n## 3. 性能优化技巧\n\n...",
  "images": ["/path/to/image1.jpg", "/path/to/image2.jpg"],
  "tags": ["Node.js", "编程", "技术分享"]
}
  1. 等待发布完成

    • 预计时间:30-60秒
    • 显示进度提示
    • 处理可能的错误
  2. 向用户报告结果

输出示例

{
  "success": true,
  "articleId": "7123456789",
  "url": "https://www.toutiao.com/article/7123456789/",
  "message": "文章发布成功"
}

成功标准

  • ✅ 返回 success: true
  • ✅ 获得文章 ID
  • ✅ 可以在今日头条查看文章

异常处理

错误类型症状解决方案
未登录isLoggedIn: false执行操作 2(登录流程)
标题超长"标题长度不符"缩短标题到30字以内
标题过短"标题太短"扩充标题到2字以上
图片路径错误"图片不存在"检查路径,使用绝对路径
图片格式错误"不支持的格式"转换为 JPG/PNG/GIF/WEBP
网络超时"请求超时"重试或检查网络连接
内容违规"内容审核失败"修改内容后重新发布

最佳实践

  • 📝 标题简洁有力,突出核心价值
  • 📝 正文结构清晰,使用标题分段
  • 📝 添加相关标签,提高曝光率
  • 📝 配图质量高,与内容相关
  • 📝 发布前预览,确保格式正确

操作 4:发布微头条

场景:用户想发布短内容到微头条(类似微博)

MCP 工具publish_micro_post

适用场景

  • 💬 日常想法、心得分享
  • 💬 学习笔记、技术片段
  • 💬 快速资讯、动态更新
  • 💬 图片配文、截图分享

前置条件

  • ✅ 用户已登录
  • ✅ 内容不为空
  • ✅ 内容长度适中(建议2000字以内)

步骤

  1. 验证登录状态

    调用 check_login_status
    
  2. 收集发布信息

    • 内容(必需,建议2000字以内)
    • 图片(可选,最多9张)
    • 话题标签(可选,使用 #话题 格式)
  3. 调用发布工具

{
  "content": "今天学习了 TypeScript 的高级类型,收获满满!\n\n主要学习了:\n• 条件类型\n• 映射类型\n• 工具类型\n\n#TypeScript #学习笔记 #前端开发",
  "images": ["/path/to/screenshot1.jpg", "/path/to/screenshot2.jpg"]
}
  1. 等待发布完成(通常10-20秒)

  2. 向用户报告结果

输出示例

{
  "success": true,
  "postId": "7123456789",
  "url": "https://www.toutiao.com/w/7123456789/",
  "message": "微头条发布成功"
}

微头条 vs 文章对比

特性微头条文章
内容长度短(建议2000字内)长(建议300字以上)
发布速度快(10-20秒)慢(30-60秒)
适用场景碎片化分享深度内容
标题要求无标题必需标题
话题标签支持 #话题支持标签

内容建议

  • 💡 使用话题标签增加曝光(#话题)
  • 💡 配图提高吸引力
  • 💡 内容简洁明了,突出重点
  • 💡 适当使用 emoji 增加趣味性
  • 💡 互动性强的内容更容易传播

异常处理

  • 未登录:执行登录流程
  • 内容为空:提示用户输入内容
  • 图片过多:限制在9张以内
  • 内容过长:建议发布为文章

操作 5:批量发布小红书数据

场景:用户有小红书格式的数据,想批量发布到今日头条

MCP 工具publish_xiaohongshu_data

步骤

  1. 验证用户已登录

  2. 准备小红书数据(JSON 数组格式)

  3. 指定下载目录(用于保存图片)

  4. 调用 publish_xiaohongshu_data 工具:

{
  "data": [
    {
      "小红书标题": "TypeScript 开发技巧",
      "仿写小红书文案": "分享几个 TypeScript 实用技巧...",
      "配图": "https://example.com/image1.jpg"
    },
    {
      "小红书标题": "React 性能优化",
      "仿写小红书文案": "React 性能优化的几个要点...",
      "配图": "https://example.com/image2.jpg"
    }
  ],
  "downloadDir": "/path/to/downloads"
}

输出示例

{
  "success": true,
  "total": 2,
  "succeeded": 2,
  "failed": 0,
  "results": [
    {
      "title": "TypeScript 开发技巧",
      "success": true,
      "articleId": "7123456789"
    },
    {
      "title": "React 性能优化",
      "success": true,
      "articleId": "7123456790"
    }
  ],
  "message": "批量发布完成,成功 2 条"
}

数据格式要求

  • 小红书标题:文章标题
  • 仿写小红书文案:文章正文
  • 配图:图片 URL(自动下载)

异常处理

  • 部分失败:继续处理其他数据,最后汇总结果
  • 图片下载失败:跳过该图片或整条数据
  • 网络问题:重试机制

操作 6:登出账号

场景:用户想退出登录

MCP 工具logout

步骤

{}

输出示例

{
  "success": true,
  "message": "已登出"
}

📊 输入输出规范

MCP 工具输出格式

所有工具统一使用 JSON 格式输出:

成功响应

{
  "success": true,
  "message": "操作成功",
  "data": {
    "id": "7123456789",
    "url": "https://www.toutiao.com/..."
  }
}

错误响应

{
  "success": false,
  "error": "错误信息",
  "code": "ERROR_CODE"
}

内容规范

文章标题

  • 长度限制:2-30个字
  • 计算规则
    • 中文字符:1个字
    • 英文字母/数字:0.5个字
    • 标点符号:1个字
  • 建议
    • ✅ 简洁有力,突出核心
    • ✅ 包含关键词,便于搜索
    • ❌ 避免标题党
    • ❌ 避免特殊符号过多

标题示例

✅ 好标题:
- "Node.js 性能优化实战指南"
- "TypeScript 高级类型详解"
- "前端开发必备的10个工具"

❌ 差标题:
- "震惊!!!这个技巧让我..."(标题党)
- "a"(太短)
- "这是一篇关于 Node.js 性能优化的非常详细的实战指南文章"(太长)

图片要求

项目要求说明
格式JPG, PNG, GIF, WEBP推荐 JPG(体积小)
大小单张 ≤ 10MB建议压缩到 2MB 以内
尺寸建议 1920x1080保持清晰度
数量文章:不限;微头条:≤9张建议3-5张
来源本地路径或 URLURL 会自动下载

图片路径示例

{
  "images": [
    "/Users/username/Pictures/image1.jpg",
    "https://example.com/image2.jpg",
    "./relative/path/image3.png"
  ]
}

内容要求

内容类型长度建议质量要求
文章正文≥ 300字结构清晰,内容充实
微头条≤ 2000字简洁明了,重点突出
标签3-5个相关性强,覆盖主题

内容格式建议

# 使用 Markdown 格式

## 二级标题

正文内容...

- 列表项 1
- 列表项 2

**加粗重点**

> 引用内容

标签规范

  • 数量:建议 3-5 个
  • 选择原则
    • ✅ 与内容高度相关
    • ✅ 热门标签优先
    • ✅ 覆盖不同维度
  • 示例
    {
      "tags": ["Node.js", "性能优化", "后端开发", "技术分享"]
    }
    

⚠️ 常见问题和解决方案

症状:提示"未登录"或操作失败

解决: 调用 login_with_credentials 工具重新登录

问题 2:标题长度不符合要求

症状:提示"标题长度不符合要求"

解决

  • 检查标题长度(2-30字)
  • 修改标题使其符合要求

问题 3:图片上传失败

症状:提示"图片上传失败"

原因

  • 图片路径错误
  • 图片格式不支持
  • 图片大小超限
  • 网络问题

解决

  • 检查图片路径是否正确
  • 确认图片格式(JPG/PNG/GIF/WEBP)
  • 压缩图片到合适大小
  • 检查网络连接

问题 4:浏览器自动化失败

症状:提示"页面元素未找到"

原因:今日头条页面结构变化

解决

  • 更新 toutiao-mcp 到最新版本
  • 报告问题到 GitHub Issues

问题 5:批量发布部分失败

症状:批量发布时部分数据失败

解决

  • 查看详细错误信息
  • 检查失败数据的格式
  • 单独重试失败的数据

🔒 安全性说明

敏感信息处理

  • Cookie 存储在本地文件中(默认 ./data/cookies.json
  • 不会上传任何数据到第三方服务器
  • 所有通信仅限于今日头条官方网站

权限要求

  • 读取本地文件(图片、文本)
  • 网络访问(今日头条网站)
  • 写入 Cookie 文件
  • 浏览器控制(Playwright)

数据隐私

  • ❌ 不会收集用户信息
  • ❌ 不会上传到第三方服务器
  • ✅ 所有操作仅在本地执行
  • ✅ Cookie 仅存储在本地

🎓 示例对话

场景 1:发布文章

用户:帮我把这篇文章发布到今日头条

AI:好的,我来帮你发布。请提供以下信息:

  1. 文章标题(2-30字)
  2. 文章正文
  3. 配图(可选)
  4. 标签(可选)

用户: 标题:Node.js 性能优化实战 正文:[提供详细内容] 图片:/Users/me/article-cover.jpg 标签:Node.js、性能优化、后端开发

AI:收到!我将为你发布到今日头条。

[内部流程]

  1. 检查登录状态 ✓
  2. 验证标题长度 ✓
  3. 处理图片 ✓
  4. 调用 publish_article
{
  "title": "Node.js 性能优化实战",
  "content": "...",
  "images": ["/Users/me/article-cover.jpg"],
  "tags": ["Node.js", "性能优化", "后端开发"]
}

AI:✅ 文章已成功发布到今日头条!

📊 发布详情:

你可以在今日头条 App 或网站查看文章。


场景 2:发布微头条

用户:发布一条微头条:"今天学习了 TypeScript 的高级类型,终于搞懂了条件类型和映射类型的区别!#TypeScript #学习笔记"

AI:好的,我来帮你发布微头条。

[调用 publish_micro_post]

{
  "content": "今天学习了 TypeScript 的高级类型,终于搞懂了条件类型和映射类型的区别!#TypeScript #学习笔记"
}

AI:✅ 微头条发布成功!

📊 发布详情:


场景 3:批量发布小红书数据

用户:把这些小红书数据批量发布到今日头条

AI:好的,我来批量发布。请提供小红书数据文件或数据内容。

用户:[提供包含5条数据的 JSON 文件]

AI:收到 5 条数据,开始批量发布...

[内部流程]

  1. 检查登录状态 ✓
  2. 验证数据格式 ✓
  3. 下载图片 ✓
  4. 逐条发布...

进度:

  • [1/5] TypeScript 开发技巧 ✅
  • [2/5] React 性能优化 ✅
  • [3/5] 前端工程化实践 ✅
  • [4/5] Vue3 新特性解析 ✅
  • [5/5] Webpack 配置指南 ✅

AI:✅ 批量发布完成!

📊 发布统计:

  • 总数:5 条
  • 成功:5 条 ✅
  • 失败:0 条
  • 总用时:3分45秒

📝 发布详情:

  1. TypeScript 开发技巧 - ID: 7123456791
  2. React 性能优化 - ID: 7123456792
  3. 前端工程化实践 - ID: 7123456793
  4. Vue3 新特性解析 - ID: 7123456794
  5. Webpack 配置指南 - ID: 7123456795

所有文章已成功发布到今日头条!


场景 4:处理错误情况

用户:发布文章,标题:这是一篇非常非常非常详细的关于 Node.js 性能优化的完整实战指南

AI:抱歉,标题长度超出限制。

❌ 错误:标题长度为 35 字,超过最大限制 30 字

💡 建议修改为:

  • "Node.js 性能优化完整实战指南"(14字)✅
  • "Node.js 性能优化实战"(11字)✅

请提供修改后的标题。

用户:好的,用第一个

AI:收到!使用标题"Node.js 性能优化完整实战指南"继续发布...

[继续发布流程]


📚 参考资料


📝 维护说明

  • 版本: 1.0.0
  • 最后更新: 2026-03-20
  • 维护者: Ping Si
  • 许可证: Apache-2.0

✅ 首次成功检查清单

新用户应该能在 5 分钟内完成:

  • 安装工具:npm install -g toutiao-mcp
  • 安装浏览器:npx playwright install chromium
  • 配置 OpenClaw MCP Server
  • 登录账号:调用 login_with_credentials
  • 检查登录:调用 check_login_status
  • 测试发布:准备内容,调用 publish_articlepublish_micro_post
  • 在今日头条网站或 App 中看到发布的内容

如果以上步骤都能顺利完成,说明 Skill 已正确配置!

Related skills

Query Twitter/X profiles, tweets, follower events, and KOL data through the 6551 REST API.

by infra403840 installs27 stars

Post videos, photos, text, and documents to 10 social platforms through a single REST API call.

by victorcavero14375 installs50 stars

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai21 installs8 stars

Manage Stripe customers, subscriptions, invoices, products, prices, and payments through OAuth-authenticated API calls.

by byungkyu720 installs29 stars

More from sipingme

Browse all skills

Turn article URLs or local documents into WeChat Official Account drafts, with optional AI rewriting.

by sipingme40 installs

输入文章 URL,输出干净的 Markdown 正文。支持17个平台专项优化(头条、微信公众号、知乎、36kr、虎嗅、华尔街见闻、澎湃、InfoQ 等),双引擎提取、图片本地化、三层抓取策略。常与 browser-web-search skill 配合:先用 bws 搜索拿到 url 列表,再逐篇调用本 skil...

by sipingme39 installs1 stars

发布 Markdown 文章到微信公众号,支持草稿管理、多主题、智能图片处理、自动封面图。推荐与 news-to-markdown-skill 配合使用实现一键转载(支持本地图片)。

by sipingme56 installs

基于 markdown-ai-rewriter 的 Markdown AI 改写 Skill(保留结构、章节/全文模式、多模型、图片生成、视频生成、音乐生成)

by sipingme30 installs1 stars

一行命令搜遍全网 — 55 个平台 91+ 个命令,头条、知乎、豆瓣、YouTube、GitHub、Reddit、Hacker News 等。专为 OpenClaw 设计,复用浏览器登录态,返回结构化 JSON,天然适配 AI Agent 工具调用。

by sipingme41 installs

用 LLM 友好的方式控制用户已登录的真实 Chrome(CDP)。一行命令在当前标签页跑 JS、点击、滚动、截图、读 DOM、填表、上传文件——共享 cookie/session/登录态,跨 Python 与 TypeScript Agent 操作同一个浏览器。基于 browser-use/browser-ha...

by sipingme17 installs1 stars