TikTok Agent Publisher
ภาพรวม
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Local-first TikTok Content Posting API for AI agents: OAuth checks, dry-run and live uploads.
สามเสาของ PopNx MCP
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
- เสียงผู้ใช้iยังไม่มีรีวิวรีวิวเปิดพร้อมระบบบัญชีในขั้นถัดไป
- ผลตรวจเบื้องต้นของเราiผ่าน 1 จาก 1 ข้อตรวจจากข้อมูลที่เปิดอยู่ ยังไม่ได้สแกนโค้ด
- การใช้งานiยังใหม่มาก↓ 93/สัปดาห์ · ★ –
ใช้ทำอะไรได้
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
- การเชื่อมต่อ: รันบนเครื่อง
- ช่องทาง (transport): stdio
- หมวด: การตลาดและโซเชียล
- ต้องใส่ค่าเหล่านี้: TIKTOK_CLIENT_SECRET
ติดตั้ง
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ก่อนติดตั้ง
- ผลตรวจเบื้องต้น: ผ่าน 1 จาก 1 ข้อ
- รันในเครื่องคุณด้วยสิทธิ์ของผู้ใช้คุณ (ไฟล์ อินเทอร์เน็ต แอปต่าง ๆ)
- ค่าที่คุณต้องใส่เอง:
TIKTOK_DRY_RUN,TIKTOK_CLIENT_KEY,TIKTOK_CLIENT_SECRET
ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
- npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"tiktok-agent-publisher": {
"command": "npx",
"args": [
"-y",
"tiktok-agent-publisher"
],
"env": {
"TIKTOK_DRY_RUN": "ใส่ค่าของคุณ",
"TIKTOK_CLIENT_KEY": "ใส่ค่าของคุณ",
"TIKTOK_CLIENT_SECRET": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add tiktok-agent-publisher --env TIKTOK_DRY_RUN='ใส่ค่าของคุณ' --env TIKTOK_CLIENT_KEY='ใส่ค่าของคุณ' --env TIKTOK_CLIENT_SECRET='ใส่ค่าของคุณ' -- npx -y tiktok-agent-publisherเติมค่าที่เว้นว่างไว้ก่อนรัน
หรือคัดลอกค่าตั้งเอง
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"tiktok-agent-publisher": {
"command": "npx",
"args": [
"-y",
"tiktok-agent-publisher"
],
"env": {
"TIKTOK_DRY_RUN": "ใส่ค่าของคุณ",
"TIKTOK_CLIENT_KEY": "ใส่ค่าของคุณ",
"TIKTOK_CLIENT_SECRET": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
หรือคัดลอกค่าตั้งเอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"tiktok-agent-publisher": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"tiktok-agent-publisher"
],
"env": {
"TIKTOK_DRY_RUN": "ใส่ค่าของคุณ",
"TIKTOK_CLIENT_KEY": "ใส่ค่าของคุณ",
"TIKTOK_CLIENT_SECRET": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าที่ต้องใส่เอง
TIKTOK_DRY_RUNenvSet to false only when the agent should perform live TikTok upload operations. Defaults to dry-run behavior.TIKTOK_CLIENT_KEYenvTikTok developer app client key. Optional until OAuth or live upload flows are used.- TikTok developer app client secret. Keep local and do not expose it to agents.
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ทำอะไรได้บ้าง
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
ผลตรวจเบื้องต้นi
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569
- ✓ ผ่าน
ตัวตนผู้ทำตรงกับ repo
ชื่อใน registry ยืนยันด้วยบัญชี GitHub davidmosiah ซึ่งเป็นเจ้าของ repo
- … ยังไม่ตรวจ
ยังมีคนดูแล
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
- … ยังไม่ตรวจ
มีสัญญาอนุญาต (license)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
- – ไม่เกี่ยว
endpoint ตอบ
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
- – ไม่เกี่ยว
ล็อกอินแบบ OAuth
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
- … ยังไม่ตรวจ
คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับตัวอื่นในหมวด การตลาดและโซเชียลi
- ดาวมากกว่า 0% ของอีก 3634 ตัวในหมวดนี้
- ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 10% ของอีก 3634 ตัวในหมวดนี้
- ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 3634 ตัวในหมวดนี้
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
คำถามที่พบบ่อย
TikTok Agent Publisher ปลอดภัยไหม?
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใช้กุญแจหรือรหัสอะไรบ้าง?
ต้องใส่ค่าเหล่านี้: TIKTOK_CLIENT_SECRET
ตัวนี้รันบนเครื่องหรือบนคลาวด์?
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
ยังมีคนดูแลอยู่ไหม?
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.5) เข้า registry 5 เดือนที่ผ่านมา
ใช้กับโปรแกรมไหนได้บ้าง?
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
มีตัวไหนใช้แทนได้บ้าง?
ในหมวดเดียวกันมี MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
ตัวที่ใช้แทนได้
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Google Analytics MCP
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
BibiGPT YouTube Video Summarizer
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
README จากผู้ทำ
เปิดอ่าน README
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
TikTok Agent Publisher
Agent-first TikTok Content Posting API CLI + MCP. Dry-run safe, OAuth readiness checks, structured output for any agent runtime.
⭐ If this agent-first tool helps your workflow, please star the repo. Stars make this tooling easier for other builders to discover and help Delx keep shipping open infrastructure.
🧱 Part of the Delx agent stack — 15 open-source MCP servers across body, reach and coordination.
Local-first TikTok Content Posting API tooling for AI agents. It gives Codex, Claude, Cursor, Hermes, OpenClaw and other MCP clients a safe way to check readiness, build OAuth URLs, dry-run publish flows and upload TikTok videos only when live mode is explicitly enabled.
Use it when an agent needs to publish or inspect TikTok content without browser automation, hidden state or token leakage.
Why It Exists
Most social publishing scripts are built for humans at a terminal. Agents need a different contract:
- a manifest that explains install/runtime rules
- a connection status tool before write operations
- privacy boundaries that never return token values
- dry-run by default
- structured JSON outputs for planning, retries and audit trails
This repo packages that contract around TikTok's official Content Posting API.
Install
npm install -g tiktok-agent-publisher
Or run without installing:
npm exec --yes --package=tiktok-agent-publisher -- tiktok-agent-publisher doctor
First Post (Dry-Run) Walkthrough
No TikTok credentials are required to try this. With no .env, dry-run is on by default, so every command below returns structured JSON without touching the live API. This is the exact sequence an agent should follow before its first real post. The outputs are real CLI runs, lightly trimmed.
1. Check readiness. doctor reports mode and what is still missing — never any token values.
$ tiktok-agent-publisher doctor
{ "ok": true, "dry_run": true, "configured": { "client_key": false, "client_secret": false, "access_token": false, "refresh_token": false, "public_media_base_url": false, "supabase_storage": false }, "missing": [ "TIKTOK_CLIENT_KEY", "TIKTOK_CLIENT_SECRET", "TIKTOK_ACCESS_TOKEN", "TIKTOK_REFRESH_TOKEN" ], "ready_for_live_publish": false, "ready_for_direct_video_upload": false, "next_steps": [ "Current mode is dry-run. Use dry-run to validate agent workflow before live posting." ] }
2. Confirm the privacy boundaries. privacy-audit states what stays local and what is sent to TikTok, so the agent can reason about the contract before any write.
$ tiktok-agent-publisher privacy-audit
{ "project": "tiktok-agent-publisher", "secrets_returned_to_agent": false, "token_storage": "Environment variables or local .env with user-only file permissions; tokens are never returned by tools.", "safety_rules": [ "Dry-run is the default.", "Only post content the user owns or has permission to publish.", "Use explicit confirmation before live direct posting." ] }
3. Build the publish payload (dry-run). This validates the job shape and caption without uploading anything. result.platformPostId is a synthetic dryrun_* id and raw.dryRun is true, so you can wire up retries and audit logging safely.
$ tiktok-agent-publisher publish-video \
--video ./short.mp4 \ --caption "First agent post — testing the dry-run flow" \ --title "Hello from an agent" { "ok": true, "dry_run": true, "job": { "id": "tiktok_1780082349025", "platform": "tiktok", "status": "queued", "caption": "First agent post — testing the dry-run flow", "mediaPaths": ["./short.mp4"], "metadata": { "title": "Hello from an agent" } }, "result": { "provider": "tiktok_official", "platformPostId": "dryrun_1780082349025", "raw": { "dryRun": true, "jobId": "tiktok_1780082349025" } } }
4. Poll status (dry-run). publish-status returns a DRY_RUN status so the polling loop can be exercised end to end.
$ tiktok-agent-publisher publish-status --publish-id dryrun_1780082349025
{ "dryRun": true, "publishId": "dryrun_1780082349025", "status": "DRY_RUN" }
5. List recent videos (dry-run). Returns an empty, well-formed list — the same shape the live API returns, so post-publish confirmation code works unchanged.
$ tiktok-agent-publisher list-videos --max-count 5
{ "dryRun": true, "videos": [], "cursor": null, "has_more": false }
Going live. Fill in TIKTOK_CLIENT_KEY / TIKTOK_CLIENT_SECRET (and complete OAuth — see auth-url), confirm doctor reports ready_for_live_publish: true, then set TIKTOK_DRY_RUN=false. The same five commands then operate against the real Content Posting API.
CLI
tiktok-agent-publisher manifest --client codex
tiktok-agent-publisher doctor tiktok-agent-publisher privacy-audit tiktok-agent-publisher auth-url --redirect-uri http://localhost:8787/callback tiktok-agent-publisher publish-video --video ./short.mp4 --caption "Launch copy" tiktok-agent-publisher publish-status --publish-id tiktok-agent-publisher list-videos --max-count 10
Dry-run is enabled by default. Set TIKTOK_DRY_RUN=false only after doctor is clean and you are ready for live API calls.
MCP
Stdio:
tiktok-agent-mcp
HTTP (v2 stateless)
Default is stdio. Optional Streamable HTTP — no session id, JSON responses, loopback only:
npx -y -p tiktok-agent-publisher tiktok-agent-mcp --http
GET http://127.0.0.1:3031/health
POST http://127.0.0.1:3031/mcp (sessionless)
Env: TIKTOK_MCP_HOST, TIKTOK_MCP_PORT, TIKTOK_MCP_TRANSPORT=http.
Hermes-style config:
mcp_servers:
tiktok: command: npx args: ["-y", "tiktok-agent-publisher"] sampling: enabled: false
Recommended first calls:
tiktok_connection_statustiktok_privacy_audittiktok_publish_video
Agent Surfaces
| Tool | Purpose |
|---|---|
tiktok_agent_manifest | Install/runtime guidance for Codex, Claude, Cursor, Hermes and OpenClaw |
tiktok_connection_status | Dry-run, OAuth and media-hosting readiness without token values |
tiktok_privacy_audit | Local file, token and live-publish boundaries |
tiktok_publish_video | Dry-run or live video publish flow |
tiktok_publish_status | Publish-status polling |
tiktok_list_videos | Recent video list for post-publish checks |
Copy-Paste Agent Prompt
Use tiktok-agent-publisher. First call tiktok_connection_status and tiktok_privacy_audit.
If dry-run is enabled, build the publish payload only. Do not request or print token values.
Configuration
Copy .env.example to .env and fill only the values you need. Do not commit .env, token files or .agent-data/.
For video inbox uploads, a local file can be uploaded directly through TikTok's upload URL. Photo and pull-from-url workflows can use Supabase Storage or another public media host.
Safety Model
- Tokens are read from environment or local
.env; tool responses never include token values. - Live publishing is disabled unless
TIKTOK_DRY_RUN=false. - OAuth PKCE verifier is persisted locally in
.agent-data/and not returned in MCP output. - The package uses TikTok's official API surfaces; it does not automate a browser session.
Development
npm install
npm test npm run check
📧 Contact & Support
- 📨 support@delx.ai — general questions, integration help, partnerships
- 🐛 Bug reports / feature requests — GitHub Issues
- 🐦 Updates — @delx369 on X
- 🌐 Site — wellness.delx.ai