Skip to main content
Glama
panwenda

Douyin Publish MCP

by panwenda

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SAU_UVNouv 可执行文件路径(默认 uv)。uv
SAU_CMDNosau 可执行文件绝对路径(最稳),如 %USERPROFILE%\.local\bin\sau.exe。与 SAU_DIR 二选一。
SAU_DIRNosocial-auto-upload 项目根目录 → 用 `uv run --directory <dir> sau` 调起。与 SAU_CMD 二选一。
AUTH_TOKENNoHTTP 形态可选。填了就要求 Authorization: Bearer <token>;绑定非本机地址时必填。
SAU_ACCOUNTNo读取工具的默认账号名(默认 main);状态页也用它做预填。main
SAU_NO_SYNCNo1 = uv run --no-sync(更快,但要求事先 uv sync 过)。
SAU_TIMEOUTNo单次调用超时秒数,默认 900(上传慢,别调太小)。900
SAU_HEADLESSNo1(默认)无头 / 0 有头 —— 只管发布;登录由工具的 headed 参数控制,默认 true 弹真窗口。1
DOUYIN_COOKIENo直接给整串 cookie(容器 / 临时调试用)。与 DOUYIN_COOKIE_FILE 二选一,显式配置优先。
SAU_MEDIA_DIRNo允许发布的素材根目录(默认取 SAU_DIR)。给的素材路径必须落在它里面。发布工具必填。
DOUYIN_COOKIE_FILENo读取用的凭据文件(storage_state 或裸 Cookie 串)。不填就用 sau 的凭据文件。与 DOUYIN_COOKIE 二选一,显式配置优先。
SAU_VERIFY_CODE_FILENo短信验证码文件,默认 <SAU_DIR>/verify_code.txt。<SAU_DIR>/verify_code.txt

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
douyin_account_statusA

查询某个抖音账号在 social-auto-upload 里的登录态(本地 cookie 是否还有效)。发布/登录前先查一次,避免发到一半才发现没登录。account 是登录时用的账号名(不是抖音昵称)。

douyin_account_loginA

让用户扫码登录抖音。★ 会弹出一个真浏览器窗口:登录这一步必须用真窗口 —— 抖音的反自动化会挑无头浏览器,而且可能要求短信二次验证,那只能在窗口里手动输。二维码同时也会作为图片返回(和窗口里是同一个码),展示给用户扫也行。扫码成功后窗口会自动关闭(sau 存完 cookie 就关掉浏览器并退出,约 2 秒后消失);若一直没人扫,窗口最多活 2 分钟也会自己关,不会一直挂在用户屏幕上。调用会等一段(wait_seconds):扫得快就一次拿到结论;还在等就返回「会话仍在等待扫码」,此时再调一次本工具即可继续查,不要重复发起新登录。若发布时触发短信二次验证,把验证码写进项目根目录的 verify_code.txt 再重试发布。

douyin_account_logoutA

重置某个账号的登录态(相当于小红书 MCP 的 delete_cookies)。本服务只删一个文件:<项目>/cookies/douyin_<账号>.json —— 那是 sau 的登录凭据。★ 两步:不传 confirm 时只回报「将要删除的路径」,什么都不删;用户明确同意后才传 confirm=true。删完该账号变回未登录,发布前要重新扫码。注意这是「退出登录」不是「卸载」:项目目录、素材、已发布的作品都不受影响。

douyin_publish_videoA

发布一条抖音视频。【必须先确认】不传 confirm 调用时,本工具不会发布任何东西,只返回一份待发布计划;请把这份计划(账号、素材、标题、正文、标签、发布时间)原样念给用户,得到用户明确同意后,再用同一个 plan_id 加上 confirm=true 调用一次。不要自己替用户决定发布,也不要跳过确认直接传 confirm。

douyin_publish_noteA

发布一条抖音图文(多图 + 标题 + 正文)。【必须先确认】不传 confirm 调用时,本工具不会发布任何东西,只返回一份待发布计划;请把这份计划(账号、素材、标题、正文、标签、发布时间)原样念给用户,得到用户明确同意后,再用同一个 plan_id 加上 confirm=true 调用一次。不要自己替用户决定发布,也不要跳过确认直接传 confirm。

douyin_search_videosA

按关键词搜索抖音视频(需要已登录)。返回每条作品的 aweme_id、文案、作者(昵称 + sec_user_id)、互动数据和无水印直链。★ 直链有时效(几小时),要保存就当场下载;本工具只返回地址,不落盘。搜到的 aweme_id 可以喂给 douyin_video_detail 看详情,sec_user_id 可以喂给 douyin_user_profile。

douyin_video_detailA

取单条抖音作品的详情:文案、作者、发布时间、互动数据、封面、无水印播放直链、以及分享页地址(需要已登录)。aweme_id 从 douyin_search_videos / douyin_user_profile / 分享链接里拿。

douyin_user_profileA

看某个抖音用户的主页信息:昵称、抖音号、简介、IP 属地、性别、粉丝/关注/获赞/作品数,并按需返回他最近的作品列表(需要已登录)。sec_user_id 从 douyin_search_videos / douyin_video_detail 的作者字段里拿(形如 MS4wLjABAAAA…)。

douyin_my_profileA

看当前登录账号自己的主页信息与作品列表(不需要传 sec_user_id)。适合回答「我发了多少条、最近的播放/点赞如何」「这个号登录的是谁」。

douyin_parse_share_linkA

把用户给你的抖音分享文本/链接(形如「7.32 复制打开抖音… https://v.douyin.com/xxxx/」)解析成作品详情 + 无水印直链。内部就是「跟随短链拿 aweme_id → 读详情」,所以同样需要已登录;短链打不开时会退化成提示用户直接给作品 id。

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.2/5.0

Scored across 10 tools

Disambiguation4/5

Each tool has a distinct purpose (account ops, publishing, browsing), and descriptions clarify tricky pairs like my_profile vs user_profile (self vs other) and publish_video vs publish_note (video vs image post). Minor overlap remains: douyin_parse_share_link internally duplicates douyin_video_detail's behavior, and the two profile tools could be momentarily confused, but the text disambiguates well.

Naming Consistency4/5

All names share the douyin_ prefix and snake_case, grouped logically into account_*, publish_*, and entity lookups. The pattern is not uniform though: verb_noun (publish_video, search_videos, parse_share_link), noun_noun (account_status, video_detail, user_profile), and noun_verb (account_login, account_logout) all mix, which is readable but not a single predictable convention.

Tool Count5/5

10 tools is well-scoped for a publish-and-browse server, with each tool earning its place: account lifecycle (3), publishing (2), and content/user browsing (5). No redundancy and no thinness.

Completeness4/5

Covers the full core lifecycle: login status/login/logout, publish video and image-note (with a safe plan/confirm flow), and rich browsing (search, detail, user/self profiles, share-link parsing). Gaps are minor—no management of already-published works (delete/edit), comments, or interactions—but core agent workflows are covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues