集成

Social0

试用

Create, schedule, and publish social media posts across Instagram, TikTok, YouTube, X, LinkedIn, Facebook, Pinterest, Threads, and Bluesky via the Social0 CLI (preferred) or MCP. Covers account listing, media upload, drafts, instant publish, scheduling, and per-platform publish status.

它能做什么

Create, schedule, and publish social media posts across Instagram, TikTok, YouTube, X, LinkedIn, Facebook, Pinterest, Threads, and Bluesky via the Social0 CLI (preferred) or MCP. Covers account listing, media upload, drafts, instant publish, scheduling, and per-platform publish status.

技能文档

Social0 Social Media Skill

Autonomously manage social posting via Social0 — draft, publish, and schedule to 9 platforms from chat or the terminal.

Prefer the social0 CLI whenever the agent has a shell (npx social0 or a global social0 install). Use MCP only when the host has no reliable shell (e.g. Claude.ai / ChatGPT connectors). Use the REST API only if both CLI and MCP are unavailable.

Freshness check: If more than 30 days have passed since the last-updated date above, tell the user this skill may be outdated and point them to docs.social0.app/docs/integrations/cli, docs.social0.app/docs/integrations/mcp, or github.com/Abhishek-B-R/social0-cli.

Keeping This Skill Updated

CLI: github.com/Abhishek-B-R/social0-cli · npm social0
MCP: github.com/Abhishek-B-R/social0-mcp · npm @social0/mcp
Docs: CLI · MCP
Product: social0.app

InstallationHow to update
MoltHub / ClawHubRe-publish or pull latest skill version
Cursor / ClaudeRe-copy skills/social0/ or sync from the MCP GitHub repo
ManualPull latest from the repo

Setup

  1. Create a Social0 account at social0.app
  2. Connect social accounts in Dashboard → Connections
  3. Authenticate with the CLI (preferred) or connect MCP (fallback)

A — CLI (preferred)

Needs Node.js 20+ and a key from Dashboard → API keys (sk_live_…):

npm install -g social0
# or: npx social0 …

social0 login          # paste sk_live_… (or: echo "sk_live_…" | social0 login)
social0 whoami
social0 accounts

For CI / headless: set SOCIAL0_API_KEY in the environment (not written to disk).

B — Remote MCP (when no shell)

Works with Claude.ai, ChatGPT, and any host that accepts a remote MCP connector.

https://mcp.social0.app/mcp

User clicks Connect and authorizes on social0.app (OAuth PKCE). No Node.js, no API key in config.

Cursor (HTTP MCP):

{
  "mcpServers": {
    "social0": {
      "url": "https://mcp.social0.app/mcp"
    }
  }
}

C — Local MCP npx (stdio hosts)

{
  "mcpServers": {
    "social0": {
      "command": "npx",
      "args": ["-y", "@social0/mcp"],
      "env": {
        "SOCIAL0_API_KEY": "sk_live_your_key_here"
      }
    }
  }
}
HostWhere to paste
CursorSettings → MCP / .cursor/mcp.json
Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.json
VS CodeCopilot / MCP settings (stdio)

Handling missing auth

  1. CLI: social0 login with a key from https://social0.app/dashboard/api-keys — or set SOCIAL0_API_KEY
  2. Hosted MCP: reconnect at https://mcp.social0.app/mcp and complete OAuth
  3. Local MCP: put the key in the MCP env block, then reload MCP
  4. Stop — do not invent keys or search keychains for secrets
  5. OAuth creates a connector API key (UI may show “Claude MCP Connector”); revoke anytime in Dashboard → API keys

Auth (REST fallback)

If calling the API directly:

Authorization: Bearer 

Base URL: https://api.social0.app/v1
Interactive docs: api.social0.app/docs

CLI commands (preferred)

Run these via shell when available. Use --json when you need machine-readable output.

CommandDescription
social0 accountsList connected accounts (numeric IDs + platforms). Call first when accounts are ambiguous
social0 post createCreate a draft (--content, --platform, interactive wizard)
social0 post list / show / edit / deleteManage drafts and posts
social0 upload Upload media → media ID
social0 publish …Publish flags, draft ID, latest, markdown, or stdin
social0 schedule --time "tomorrow 9am"Schedule with natural language times
social0 drafts / drafts publish / drafts scheduleDraft workflow
social0 status Poll publish job until terminal
social0 whoami / doctorAuth + connectivity checks

Quick CLI examples

social0 accounts
social0 publish --content "Launching today!" --platform twitter linkedin
social0 upload ./hero.png
social0 schedule  --time "tomorrow 9am"
social0 status 

Accounts accept numeric IDs (1, 2) or platform names (twitter, linkedin). Prefer platform names when stable; IDs can reorder after reconnects.

MCP tools (fallback)

Use when the host exposes Social0 as MCP tools and shell/CLI is not available.

ToolDescription
list_accountsConnected accounts (id, platform, username, status). Call first when accounts are ambiguous
create_postCreate a draft (caption, platforms, media IDs, optional platform_options)
update_postUpdate a draft / scheduled post
delete_postDelete a post by ID
list_postsList posts (status, platform, search, limit)
get_postFull post + per-platform publication rows
upload_mediaUpload via url, base64 data, or local file_path → media ID
publish_postPublish an existing draft/scheduled post → tracking_id
schedule_postSchedule an existing post (scheduled_at ISO-8601 UTC)
publish_nowCreate + publish in one step → post_id + tracking_id
schedule_contentCreate + schedule in one step
get_publish_statusPoll by tracking_id until terminal
suggest_best_platformsHeuristic platform suggestions (does not publish)

Media (upload_media)

Provide exactly one of:

ParamWhen to use
urlPublic direct http(s) file URL (best for remote hosts)
dataBase64 or data:image/png;base64,... (+ filename with extension)
file_pathPath on the machine running MCP only

Remote hosts (Claude.ai / ChatGPT / hosted MCP): never pass sandbox paths like /home/claude/.... Use url or data. With the CLI, prefer social0 upload ./local-file.png.

Publish status

After publish (CLI social0 status or MCP get_publish_status), always poll with the returned tracking_id (every 2–5s for video / multi-platform).

overall_statusMeaning
queued / processingStill running
completedAll targets succeeded
failedAll failed
partialSome succeeded, some failed — read errors / platform_statuses
  1. Prefer CLI if social0 / npx social0 works; otherwise use MCP tools
  2. social0 accounts / list_accounts before the first publish in a session
  3. Simple one-shot → social0 publish … or MCP publish_now / schedule_content
  4. User wants to edit first → draft → edit → publish / schedule
  5. With media → upload first (social0 upload or upload_media), then pass media IDs
  6. After publish → return tracking_id and poll status to terminal
  7. On partial → summarize which platforms failed and why
  8. Never invent account UUIDs or tracking IDs
  9. Never claim CLI/MCP can connect Instagram/Facebook/etc. — send users to the dashboard
  10. Schedules: confirm timezone; CLI accepts natural language (tomorrow 9am); MCP expects UTC ISO-8601
  11. Publishing confirmation: unless the user clearly says “post now” / “publish immediately”, confirm before live publish. Drafts are safe; live posts are not.

Platform names

Canonical enums:

  • instagram, tiktok, youtube, twitter_x, linkedin, facebook, pinterest, threads, bluesky

Aliases: x / twittertwitter_x; iginstagram; fbfacebook; ytyoutube; lilinkedin; bskybluesky; pinpinterest.

Rule: one connected account per platform → platform name is fine. Multiple accounts on the same platform → use the ID/UUID from accounts / list_accounts.

Platform gotchas

  • Each platform posts independently. One failure does not roll back others. Always check publish status.
  • Ambiguous accounts return an error listing IDs — list accounts and retry with IDs.
  • Media must be Social0 media IDs on posts — upload first; do not paste Drive/Dropbox share links as media.
  • Non-direct URLs fail quietly for MCP upload_media url — need a direct file URL the server can download.
  • X/Twitter captions are short — keep within ~280 characters when targeting twitter_x.
  • Connecting accounts is dashboard-only — CLI/MCP cannot complete platform OAuth (CLI can open the connect URL via social0 accounts connect).

Out of scope

  • Completing platform OAuth inside the chat (dashboard or accounts connect link)
  • Analytics, inbox, social listening
  • Dashboard-only features not on /v1

REST API (last resort)

Use when CLI and MCP are not available. Same publish pipeline as the dashboard.

curl -s https://api.social0.app/v1/accounts \
  -H "Authorization: Bearer $SOCIAL0_API_KEY"

Full schemas: api.social0.app/docs

Tips

  • Prefer social0 CLI for agents with shell access (Cursor, Claude Code, terminals, CI)
  • Prefer hosted https://mcp.social0.app/mcp only when the AI host supports remote MCP and has no shell
  • Prefer one-shot publish for simple “post this to LinkedIn and X” requests
  • Always poll status after multi-platform or video publishes
  • Use drafts when testing to avoid accidental live posts
  • Keep hashtags modest (about 4–5) unless the user asks otherwise
  • Convert local times to UTC before MCP scheduled_at (CLI natural language handles timezone via config)
  • CLI package is social0; MCP package is @social0/mcp (npx -y @social0/mcp; unscoped social0-mcp is a deprecated alias)

相关技能

Create, schedule, and manage social media posts across Instagram, Facebook, X/Twitter, LinkedIn, and TikTok via the Social by InstantDM API and hosted MCP se...

2 次安装

Publish a social media post right now to one or more connected accounts (X, LinkedIn, Instagram, TikTok, Facebook, Threads, Bluesky, YouTube, Pinterest) through PostLake. Use when the user wants to post immediately.

Schedule social media posts to 13 platforms (Bluesky, Threads, Instagram, LinkedIn, Mastodon, YouTube, Facebook Pages, Pinterest, Telegram, X/Twitter, Nostr)...

通过 AdaptlyPost API 在 9 个社交平台调度、起草或发布帖子,发布前需用户逐项确认。

97 次安装3 星标

List the social accounts connected to PostLake (X, LinkedIn, Instagram, TikTok, Facebook, Threads, Bluesky, YouTube, Pinterest) and their status. Use this first, before publishing, to get the account ids to post to.

Schedule a social media post for a future time through PostLake, and list, reschedule, or cancel scheduled posts. Use when the user wants to post later or plan a calendar.