Skip to main content

douyin-upload-mcp-skill

通过抖音创作者平台(creator.douyin.com)发布视频和图文内容。首选调用 MCP 工具完成操作,MCP 无法满足时可运行 Skill 脚本兜底。禁止自行启动外部浏览器访问抖音。

Source facts

Repository
WJZ-P/douyin-upload-mcp-skill
Last source activity
April 1, 2026 at 02:57
Detected SKILL.md language
Chinese
Stars
86
Forks
20

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
douyin-upload-mcp-skill
description
通过抖音创作者平台(creator.douyin.com)发布视频和图文内容。首选调用 MCP 工具完成操作,MCP 无法满足时可运行 Skill 脚本兜底。禁止自行启动外部浏览器访问抖音。
# 抖音 MCP Skill ## ⚠️ 操作优先级(必须遵守) 1. **🥇 首选:调用 MCP 工具** — 直接调用本 Skill 暴露的 MCP 工具完成操作。绝大多数场景都应该走这条路径。 2. **🥈 兜底:运行 Skill 脚本** — 当 MCP 工具无法满足需求时,运行本 Skill 项目中的脚本(如 `demo.js`、`demo-imagetext.js`) 3. **🥉 最次:连接 Skill 管理的浏览器** — 仅前两种方式都无法解决时,通过 `douyin_browser_info` 获取 CDP 连接信息接管浏览器。**需先征得用户同意** **绝对禁止**:自行启动新的浏览器实例访问抖音页面。 ## 支持范围 | 类型 | 支持 | 说明 | |------|------|------| | 发布视频 | ✅ | 上传视频 + 选封面 + 填标题简介 + 发布 | | 发布图文 | ✅ | 上传图片 + 填标题简介 + 选音乐 + 发布 | | 发布全景视频 | ❌ | 不支持(场景极少) | | 发布纯文字 | ❌ | 不支持(场景极少) | ## 可用 MCP 工具 ### 核心发布工具 | 工具名 | 说明 | 入参 | |--------|------|------| | `douyin_publish_video` | 发布视频(全自动,内部自动检查登录) | `filePath`(必填), `title`, `description`, `timeout` | | `douyin_publish_imagetext` | 发布图文(全自动,内部自动检查登录) | `filePaths`(必填,字符串数组), `title`, `description` | ### 登录与状态 | 工具名 | 说明 | 入参 | |--------|------|------| | `douyin_check_login` | 检查登录状态并推进登录流程 | `smsCode`(可选,短信验证码) | | `douyin_probe` | 探测页面各元素状态 | 无 | | `douyin_screenshot` | 对当前页面截图保存 | 无 | ### 页面操作 | 工具名 | 说明 | 入参 | |--------|------|------| | `douyin_navigate_to` | 打开指定抖音页面 URL(仅 douyin.com 域名) | `url`, `timeout` | | `douyin_reload_page` | 刷新页面 | `timeout` | | `douyin_browser_info` | 获取浏览器连接信息(兜底接管用) | 无 | ## 典型使用流程 ### 1. 登录(多次调用 `douyin_check_login` 推进) ``` 第1次调用 → phase: qrcode → 用户扫码 第2次调用 → phase: sms_verification → 自动点击接收短信 第3次调用 → phase: sms_code_input → 用户告知验证码 第4次调用(smsCode="123456") → phase: logged_in → 登录完成 ``` ### 2. 发布视频 ``` 调用 douyin_publish_video: filePath: "C:/videos/test.mp4" title: "我的视频" description: "视频简介 #标签" ``` ### 3. 发布图文 ``` 调用 douyin_publish_imagetext: filePaths: ["C:/images/1.png", "C:/images/2.png"] title: "我的图文" description: "图文简介 #标签" ``` ## MCP 客户端配置 ```json { "mcpServers": { "douyin": { "command": "node", "args": ["<项目绝对路径>/src/mcp-server.js"] } } } ``` 也可通过 `npm run mcp` 手动启动。 ## 架构 ``` MCP Client → mcp-server.js → index.js → browser.js → Daemon ↓ douyin-ops.js → operator.js → CDP → Chrome → douyin.com ``` - **Daemon**(独立进程):管理浏览器生命周期,闲置 30 分钟自动销毁 - **browser.js**:Skill 侧连接器,按需自启 Daemon - **operator.js**:纯 CDP 底层原子操作 - **douyin-ops.js**:抖音业务编排层 - **mcp-server.js**:MCP 工具协议层 ### 端口配置(与 gemini-skill 共享同一浏览器实例) | 配置项 | 默认值 | 说明 | |--------|--------|------| | CDP 端口 | 40821 | 与 gemini-skill 共享 | | Daemon 端口 | 40225 | 与 gemini-skill 共享 | 多个 skill 共用同一个浏览器实例 + 同一个 Daemon,各 skill 各用各的 tab。
View on GitHub