Nearly every lookup is paired: one tool takes the identifier, the other takes what a person actually has — a share link, a short link, or the block of text Douyin puts on the clipboard. That is what makes it usable from a conversation, where the input is normally something pasted rather than an aweme_id. The read-only boundary is the other deliberate decision: no login and no account actions at all, so an agent connected to this cannot act in your name. Two mechanics decide whether it behaves — pagination continues only when the returned page_token is passed back, and a transcript is a job you poll on the same job_id rather than a call that returns the text.
A hosted MCP service for Douyin (抖音) content research at https://mcp.socialdatax.com/douyin/mcp. The surface reads only — hot search, works, creators, comments and video transcripts — with no login, posting, liking or commenting anywhere in it. This repository carries the connection docs and metadata; the implementation is hosted.
- douyin_get_hot_search_list returns the current main hot search list
- douyin_search_videos searches works by term and douyin_search_users searches creators and accounts, both continuing through pages with page_token
- Work details from either end: douyin_get_video_detail_by_aweme_id when you already have the ID, douyin_get_video_detail_by_url when all you have is a link, a short link or pasted share text
- Comments the same way — douyin_get_video_comments_by_aweme_id and douyin_get_video_comments_by_url — with douyin_get_video_comment_replies_by_comment_id for the replies underneath, which needs both aweme_id and comment_id
- Creator profiles three ways: by sec_user_id, by the public douyin_id, or resolved from a profile link, short link or share text
- Their output too: douyin_get_user_posted_videos_by_sec_user_id or by profile URL for published works, and douyin_get_user_series_by_sec_user_id or by profile URL for short-drama and series lists
- Video transcripts: submit with douyin_submit_video_speech_text_by_video_url or by aweme_id, then poll douyin_get_video_speech_text_job with the job_id it returned — each poll waits up to 240 seconds and this surface returns transcript plus content context rather than a summary
- socialdatax_get_points_balance reports what is left on the key
The endpoint is https://mcp.socialdatax.com/douyin/mcp over streamable HTTP with Authorization: Bearer <SOCIALDATAX_API_KEY>, and keys come from socialdatax.com. Clients that speak only stdio reach it through mcp-remote carrying the same header. Usage is metered in points. The files in this repository are MIT; that does not extend to the hosted service.
One command plus a key — npx -y mcp-remote https://mcp.socialdatax.com/douyin/mcp --header "Authorization: Bearer ${SOCIALDATAX_API_KEY}", then supply credentials
