Upload-Post
ภาพรวม
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Social media MCP: publish, schedule & analyze posts on TikTok, Instagram, YouTube, LinkedIn & X
สามเสาของ PopNx MCP
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
- เสียงผู้ใช้iยังไม่มีรีวิวรีวิวเปิดพร้อมระบบบัญชีในขั้นถัดไป
- ผลตรวจเบื้องต้นของเราiผ่าน 1 จาก 1 ข้อตรวจจากข้อมูลที่เปิดอยู่ ยังไม่ได้สแกนโค้ด
- การใช้งานiยังใหม่มาก★ –
ใช้ทำอะไรได้
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
- การเชื่อมต่อ: รันบนคลาวด์
- ช่องทาง (transport): Streamable HTTP
- หมวด: การตลาดและโซเชียล
- ต้องใส่ค่าเหล่านี้: Authorization
ติดตั้ง
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ก่อนติดตั้ง
- ผลตรวจเบื้องต้น: ผ่าน 1 จาก 1 ข้อ
- รันบนเครื่องของผู้ทำ สิ่งที่คุณถามจะผ่านเครื่องของเขา
- ค่าที่คุณต้องใส่เอง:
Authorization
ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
- รันบนคลาวด์ไม่ต้องลงโปรแกรมเพิ่ม ต่อผ่านอินเทอร์เน็ตได้เลย
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน
พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http upload-post https://mcp.upload-post.com/mcp --header 'Authorization: ใส่ค่าของคุณ'เติมค่าที่เว้นว่างไว้ก่อนรัน
หรือคัดลอกค่าตั้งเอง
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"upload-post": {
"url": "https://mcp.upload-post.com/mcp",
"headers": {
"Authorization": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
หรือคัดลอกค่าตั้งเอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"upload-post": {
"type": "http",
"url": "https://mcp.upload-post.com/mcp",
"headers": {
"Authorization": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าที่ต้องใส่เอง
Authorizationความลับ HTTP headerOptional. Your Upload-Post API key as 'ApiKey ' (or 'Bearer '). Omit to use the OAuth flow instead.
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ทำอะไรได้บ้าง
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
ผลตรวจเบื้องต้นi
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569
- ✓ ผ่าน
ตัวตนผู้ทำตรงกับ repo
ชื่อใน registry ยืนยันโดเมน upload-post.com แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
- … ยังไม่ตรวจ
ยังมีคนดูแล
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
- … ยังไม่ตรวจ
มีสัญญาอนุญาต (license)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
- … ยังไม่ตรวจ
endpoint ตอบ
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
- … ยังไม่ตรวจ
ล็อกอินแบบ OAuth
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
- … ยังไม่ตรวจ
คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับตัวอื่นในหมวด การตลาดและโซเชียลi
- ดาวมากกว่า 0% ของอีก 3593 ตัวในหมวดนี้
- ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 30% ของอีก 3593 ตัวในหมวดนี้
- ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 3593 ตัวในหมวดนี้
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
คำถามที่พบบ่อย
Upload-Post ปลอดภัยไหม?
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใช้กุญแจหรือรหัสอะไรบ้าง?
ต้องใส่ค่าเหล่านี้: Authorization
ตัวนี้รันบนเครื่องหรือบนคลาวด์?
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
ยังมีคนดูแลอยู่ไหม?
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.10.0) เข้า registry 2 เดือนที่ผ่านมา
ใช้กับโปรแกรมไหนได้บ้าง?
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
มีตัวไหนใช้แทนได้บ้าง?
ในหมวดเดียวกันมี 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 รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
@upload-post/mcp
Official Model Context Protocol (MCP) server for Upload-Post.
Lets any MCP-compatible AI agent (ChatGPT, Claude Desktop, Claude Code, Cursor, …) publish, schedule, analyze and manage social media across TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, X, Google Business, Discord, Telegram and more with a single API key.
Built on top of the official
upload-postSDK and the public Upload-Post REST API.
Use it in ChatGPT (no setup)
Upload-Post is a plugin reviewed by OpenAI, listed in ChatGPT's Plugins (formerly Apps). Open Upload-Post in ChatGPT or search for *Upload-Post* in Plugins, click Install, then Connect, and sign in with OAuth. There is no MCP URL to paste, and you get the Upload Studio widget for publishing video files, photos and carousels straight from your computer. OpenAI dots use the same plugin: select it in your dot's Customize → Plugins and review its permissions.
Prefer to wire it up by hand? In ChatGPT on the web, open Plugins, click +, choose Add custom MCP server, point it at https://mcp.upload-post.com/mcp and set authentication to OAuth. Custom MCP servers get write actions on Business, Enterprise and Edu workspaces.
Use it in Claude (no setup)
Upload-Post is an official connector in Claude's connector directory. Add Upload-Post to Claude, or in claude.ai, Claude Desktop or Claude Cowork open Customize → Connectors, browse the directory and search for *Upload-Post*, then click Connect and sign in with OAuth. There is no MCP URL to paste. On Team and Enterprise an owner may need to allow it first in Organization settings.
Prefer to wire it up by hand? Open Customize → Connectors, click + Add, then Add custom connector, paste https://mcp.upload-post.com/mcp, click Continue and sign in with OAuth. Custom connectors work on every Claude plan (the Free plan allows one). In Claude Code: claude mcp add --transport http upload-post https://mcp.upload-post.com/mcp, or install the official Upload-Post plugin from the Claude directory.
Use it in Perplexity Computer
Open Plugins in the sidebar (or Customize → Connectors), then Add custom → Connector → Add MCP connector → Remote. Use https://mcp.upload-post.com/mcp with the Streamable HTTP transport and OAuth (or your Upload-Post API key), click Add, then click the Upload-Post card to sign in.
Use it in Gemini CLI
Install the extension and sign in with OAuth the first time Gemini calls a tool:
gemini extensions install https://github.com/Upload-Post/upload-post-mcp
Two ways to run it yourself
A) Local stdio (single-user) — simplest
The server runs on your machine, spawned by the MCP client. Add to ~/.claude/mcp.json (or Cursor settings, etc.):
{
"mcpServers": { "upload-post": { "command": "npx", "args": ["-y", "@upload-post/mcp"], "env": { "UPLOAD_POST_API_KEY": "YOUR_API_KEY" } } } }
Get your API key at https://app.upload-post.com → *API Keys*. Restart the client — you should see 58 upload-post tools.
B) Hosted HTTP (multi-tenant) — share one server with many users
Run the server on any Docker-capable host (Fly, Railway, Cloud Run, your own box…) and let each user connect with their own Upload-Post API key. The server stores nothing per user.
{
"mcpServers": { "upload-post": { "url": "https://mcp.your-domain.com/mcp", "headers": { "Authorization": "ApiKey YOUR_OWN_UPLOAD_POST_API_KEY" } } } }
Authorization: Bearer is also accepted, for clients that only allow Bearer.
What can the agent do?
The server exposes Upload-Post API tools plus one ChatGPT App UI launcher.
| Group | Tools |
|---|---|
| Upload | upload_video, upload_photos, upload_text, upload_document, open_upload_studio |
| Media staging | create_media_upload, complete_media_upload, get_media_upload, delete_media_upload |
| Status | get_status, get_job_status, get_history, get_media |
| Schedule | list_scheduled, cancel_scheduled, edit_scheduled |
| Analytics | get_analytics, get_total_impressions, get_post_analytics, get_cached_post_analytics, get_platform_metrics |
| Audience | get_audience, get_suggestions |
| Users | get_account_info, list_users, get_connect_link, create_user, delete_user, generate_jwt, validate_jwt |
| Pages/boards | get_facebook_pages, get_linkedin_pages, get_pinterest_boards, get_google_business_locations, get_google_business_reviews, reply_to_google_business_review, get_reddit_detailed_posts |
| Posts | retry_post, unpublish_post |
| Comments | get_post_comments, create_comment, delete_comment, reply_to_comment, public_reply_to_comment, hide_comment, like_comment, pin_comment, edit_comment, hold_comment, approve_comment, ignore_comment, set_post_comments, comment_action |
| TikTok | tiktok_music_trending, tiktok_music_search, tiktok_location_search, tiktok_publishing_settings |
| DMs | send_dm, list_dm_conversations, start_autodm (Instagram DM or public auto-reply on TikTok, YouTube, Facebook, Threads, Bluesky), list_autodms, get_autodm_logs, pause_autodm, resume_autodm, stop_autodm, delete_autodm, manage_autodms |
| FFmpeg | submit_ffmpeg_job, get_ffmpeg_job, download_ffmpeg_result, get_ffmpeg_consumption |
| Queue | get_queue_settings, update_queue_settings, preview_queue |
Async uploads return a request_id. The agent should poll get_status until success: true.
Per-platform: TikTok / YouTube / Instagram / LinkedIn / Facebook
One server covers every network; this is what each of the big five uses. Publishing always goes through the same upload tools with a platform list, so a single call can post one video to TikTok, Reels and Shorts at once.
| Platform | Publish | Network-specific helpers | Engage and measure |
|---|---|---|---|
| TikTok | upload_video (videos, drafts), upload_photos (photo carousels) | tiktok_publishing_settings, tiktok_music_trending, tiktok_music_search, tiktok_location_search | get_post_comments, create_comment, comment_action, get_post_analytics, get_audience, start_autodm (public auto-reply) |
| YouTube | upload_video (videos and Shorts, with title, description and tags) | get_post_comments, comment_action (hide / hold), get_post_analytics, get_analytics, start_autodm (public auto-reply) | |
upload_video (Reels, Stories), upload_photos (posts, carousels, Stories) | get_post_comments, reply_to_comment, comment_action, send_dm, list_dm_conversations, start_autodm (comment-to-DM), get_post_analytics | ||
upload_text, upload_photos, upload_video, upload_document (PDF, PPT, DOCX documents) | get_linkedin_pages (post as a company page) | get_post_comments, get_post_analytics, get_analytics | |
upload_video, upload_photos, upload_text | get_facebook_pages (pick the page) | get_post_comments, comment_action (hide / like / edit), start_autodm (public auto-reply), get_post_analytics |
Search terms people use for these: TikTok MCP server, YouTube MCP server / YouTube uploader MCP, Instagram MCP server, LinkedIn MCP server, Facebook MCP server.
One tool per question, not per network
The Upload-Post API has no endpoint per social network: it has an endpoint per question, and a platform parameter saying who is being asked. get_post_comments, get_post_analytics, get_audience, get_suggestions and comment_action all work that way, so an agent learns one shape and reuses it for every network. Only the four tiktok_* tools are network-specific, because what they return (the Commercial Music Library, TikTok places, TikTok's per-account publishing settings) exists only on TikTok.
get_audience— who follows the profile, where they are, when they are online, what they tap. Alsobenchmark_categories, and the niche averages to compare against whenbenchmarkCategoryis set. The server clamps the window to at most 60 days ending before today, so a wider range is trimmed rather than rejected, andrangein the response says which window was used.get_suggestions— hashtags (withview_count) or related keyword searches, told apart bytype, not by a different tool.get_post_comments— top-level comments on a post, or, withcommentId, the replies under one of them. Reads are cached for up to 60 seconds (up to 2 minutes on X); a comment created or deleted through Upload-Post by the same account shows up on the next read.create_commenton X — links are removed unless the account is allowed links on X (reported inwarnings); a message that was only links fails with 400x_links_not_allowed. Replies, post edits and reposts on X share a daily limit per X account (20 on the free plan, 200 on paid plans, reset at 00:00 UTC); past it the API answers 429x_daily_write_limitwithretry_afterand aRetry-Afterheader.hide_comment,like_comment,pin_comment,edit_comment,hold_comment,approve_comment,ignore_comment,set_post_comments— one tool per moderation operation.comment_actiondoes the same through a singleactionargument and stays available everywhere except ChatGPT, which only gets the one-operation tools (the same goes formanage_autodms).comment_action— moderate a comment on TikTok (hide / like / pin), Facebook (hide / like / edit), Instagram (hide, or enable / disable comments on a post), YouTube (hide / hold) and Threads (hide / approve / ignore). Each value carries its own inverse, so nothing is permanent.get_post_analytics— per-post metrics.post_metricsis whatever the platform reports, so its shape varies: on TikTok it addsretention,impression_sources,audience_types,new_followers,reachand the watch times (average_time_watched,total_time_watched,full_video_watched_rate).
Errors are shared too: platform_not_supported (400, with the list of the networks that can answer), invalid_parameter (400), tiktok_reconnect_required (400), reauth_required (409) and 502 when the upstream network fails.
TikTok capabilities
get_post_comments, create_comment, delete_comment and comment_action accept platform: "tiktok", and firstComment works on TikTok like on every other network.
What a TikTok account can do depends on how it is connected. list_users returns a capabilities array on each TikTok account — music, location, cover_image, cover_timestamp, draft, video_privacy, photo_privacy, profile_analytics, comments, trend_search — and each tool's description names the one it needs. They are granted when the user connects TikTok, so an account connected before a capability existed has to reconnect before the matching tools answer; that is what a tiktok_reconnect_required error means.
get_media and get_cached_post_analytics are cursor-paginated: feed the response's next_cursor back as `curs
ตัดมาแค่ช่วงต้น อ่านต่อใน repo