Socialclaw

io.github.ndesv21由 GitHub 帳號 ndesv21 發布v0.1.20更新於 Oct 25, 2026

Connect any AI agent to 11+ social platforms: schedule, publish & track posts via hosted MCP.

已驗證Streamable HTTP可網頁執行溝通與協作商業與電商

概覽

AI 產生的概覽

SocialClaw 讓助理透過託管工作區在 11 個以上社群平台排程、發布與追蹤貼文,並提供 Instagram 留言與私訊工具。

可以做什麼
列出已連接的社群帳號、其發布能力與平台規則,並透過登入連結或 Telegram、Discord 的機器人權杖開始連接使用者自己的帳號。上傳圖片與影片到工作區媒體庫,列出素材並查看匯入狀態。驗證與預覽排程文件,再以冪等鍵建立發布任務,發布草稿,並列出、檢視、重試或取消貼文及其發布嘗試。讀取貼文、帳號與任務的統計快照,並從支援的平台重新整理資料。處理 Instagram:列出媒體,讀取、回覆、隱藏或刪除留言,查看貼文與帳號洞察,以及讀取、回應或傳送私訊。
適用情境
適合需要在單一工作區跨多個平台規劃與執行社群發布,或處理 Instagram 留言與私訊的助理,而不必逐一登入各平台後台手動操作。
執行需求
需要一個已連接社群帳號且試用或付費方案仍有效的 SocialClaw 工作區;API 金鑰透過 SOCIALCLAW_API_KEY 或 Authorization bearer 標頭傳入。可作為託管遠端端點執行,也可用 npx 在本機執行(需 Node.js),並需能連線至 SocialClaw 服務的網路。
安裝前請注意
工作區 API 金鑰是授予已連接帳號發布權限的機密。此伺服器會建立、發布、重試、取消與刪除貼文,回覆、隱藏與刪除 Instagram 留言,並傳送私訊,這些動作對真實受眾可見。Instagram 私訊僅在收件人最後一則訊息後 24 小時內允許傳送,除非提供訊息標籤。媒體與貼文資料會傳送到託管的 SocialClaw 服務,再轉送至各社群平台。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Socialclaw,將其新增到工作區。
  2. 連接 Authorization token 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.ndesv21%2Fsocialclaw/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "socialclaw": {
      "type": "http",
      "url": "https://getsocialclaw.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

[SocialClaw logo]

SocialClaw

Social media scheduling CLI and OpenClaw skill for AI agents posting to X, LinkedIn, Instagram, Facebook Pages, TikTok, Discord, Telegram, YouTube, Reddit, WordPress, and Pinterest.

Official Website: getsocialclaw.com · Dashboard · npm · Skill Bundle

[SocialClaw turns prompts, workflows, and AI agents into scheduled publishing, retries, inspection, and analytics across social channels.]

getsocialclaw.com is the official SocialClaw website — the hosted dashboard, API, and account sign-up all live there.

This repo is the public home for:

  • the socialclaw npm CLI
  • the OpenClaw and ClawHub skill bundle
  • the Claude Code plugin and /socialclaw command asset
  • public usage docs, provider notes, and schedule examples

Install

bash
npm install -g socialclawsocialclaw loginsocialclaw accounts list --json

Install as an AI agent skill (Claude Code, Cursor, Cline, Codex, and more):

bash
npx skills add ndesv21/socialclaw

What the CLI covers

  • workspace API key login and hosted dashboard bootstrap
  • browser OAuth connect plus manual Discord and Telegram connect
  • hosted asset upload and deletion
  • schedule validation, campaign preview, apply, inspect, clone, and draft publishing
  • post, run, attempt, analytics, job, usage, and health inspection
  • provider-side deletion for supported published posts
  • Claude Code command installation through socialclaw install --claude

CLI at a glance

bash
socialclaw loginsocialclaw accounts list --jsonsocialclaw assets upload --file ./image.png --jsonsocialclaw validate -f schedule.json --jsonsocialclaw apply -f schedule.json --jsonsocialclaw posts delete --post-id <post-id> --json
Current help surface
text
____             _       _      ____ _/ ___|  ___   ___(_) __ _| |    / ___| | __ ___      __\___ \ / _ \ / __| |/ _` | |   | |   | |/ _` \ \ /\ / / ___) | (_) | (__| | (_| | |   | |___| | (_| |\ V  V /|____/ \___/ \___|_|\__,_|_|    \____|_|\__,_| \_/\_/
socialclaw loginsocialclaw accounts list --jsonsocialclaw assets upload --file <path> --jsonsocialclaw campaigns preview -f <schedule.(yaml|yml|json)> --jsonsocialclaw validate -f <schedule.(yaml|yml|json)> --jsonsocialclaw apply -f <schedule.(yaml|yml|json)> --jsonsocialclaw posts get --post-id <id> --jsonsocialclaw posts delete --post-id <id> --jsonsocialclaw status --run-id <id> --jsonsocialclaw analytics post --post-id <id> --json

Watch the Demo

[Watch the SocialClaw demo video]

Click the image to open the demo video.

Built for Agent-Driven Publishing

[SocialClaw connects AI agents to social publishing across major channels.]

Authentication and access

Running socialclaw login without an API key opens the hosted dashboard so the user can:

  • sign in with Google
  • connect social accounts
  • create or copy a workspace API key
  • activate a trial or paid plan for CLI and API access

Important:

  • the CLI works against a deployed SocialClaw workspace via API key auth
  • an API key alone is not enough for agent execution; the workspace must also have an active trial or paid plan
  • if a command returns plan_required or subscription_*, go to https://getsocialclaw.com/pricing or https://getsocialclaw.com/dashboard

Quick start

bash
socialclaw loginsocialclaw login --api-key <workspace-key> --base-url https://getsocialclaw.comsocialclaw accounts list --jsonsocialclaw accounts capabilities --provider pinterest --jsonsocialclaw accounts connect --provider pinterest --opensocialclaw accounts connect --provider discord --webhook-url <webhook-url> --jsonsocialclaw accounts connect --provider telegram --bot-token <bot-token> --chat-id @yourchannel --jsonsocialclaw assets upload --file ./image.png --jsonsocialclaw campaigns preview -f schedule.json --jsonsocialclaw validate -f schedule.json --jsonsocialclaw apply -f schedule.json --jsonsocialclaw posts delete --post-id <post-id> --jsonsocialclaw workspace health --jsonsocialclaw usage --json

Agent integrations

MCP server

The package ships a Model Context Protocol server. Any MCP client (Claude Code, Claude Desktop, Cursor, and others) gets 17 validation-first publishing tools over your connected workspace accounts: list accounts and capabilities, upload media, validate and preview schedules, apply with idempotency keys, publish drafts, and inspect posts, attempts, runs, analytics, usage, and health.

Claude Code:

bash
claude mcp add socialclaw \  --env SOCIALCLAW_API_KEY=sc_live_your_key \  -- npx -y socialclaw mcp

Claude Desktop, Cursor, and other JSON-configured clients:

json
{  "mcpServers": {    "socialclaw": {      "command": "npx",      "args": ["-y", "socialclaw", "mcp"],      "env": {        "SOCIALCLAW_API_KEY": "sc_live_your_key"      }    }  }}

If you have already run socialclaw login --api-key <key>, the server reuses the saved credentials and the env block is unnecessary. See getsocialclaw.com/mcp for the full tool list.

Claude Code plugin

Install the packaged Claude Code plugin from inside Claude Code:

shell
/plugin marketplace add ndesv21/socialclaw/plugin install socialclaw@socialclaw

This installs the marketplace plugin from skills/socialclaw/ with metadata from .claude-plugin/. It is the cleanest option if you want Claude to auto-invoke SocialClaw when a user asks to connect accounts, upload media, schedule posts, inspect delivery, or check analytics.

Claude slash command and skill file

If you want the explicit /socialclaw command instead of the full plugin flow:

bash
socialclaw install --claude

That installs the bundled command file from skill/claude/socialclaw.md into ~/.claude/commands/socialclaw.md.

Use this path when you want a lightweight Claude Code setup that:

  • exposes one clear SocialClaw command
  • keeps the workspace API key flow explicit
  • still lets Claude use the same hosted SocialClaw API and CLI workflow

OpenClaw and ClawHub

The OpenClaw-compatible skill bundle lives in skill/.

It is designed for OpenClaw and other compatible agent runtimes that can load a SKILL.md, work from a workspace API key, and call either:

  • the SocialClaw HTTP API directly
  • the socialclaw CLI as a client for the hosted service

This is the bundle to publish to ClawHub for OpenClaw discovery.

Other agents

SocialClaw is not limited to one agent framework. The repo also includes an agent manifest in skill/agents/openai.yaml, and the CLI works well for any runtime that can execute shell commands or make HTTP requests.

That makes SocialClaw a good fit for:

  • Codex and terminal-native agent workflows
  • Claude Code via plugin or command file
  • OpenClaw and ClawHub skills
  • custom internal agents that need one stable publishing surface for social channels

In practice, all of these share the same model:

  • connect customer accounts inside SocialClaw
  • create a workspace API key
  • upload media, validate, apply, inspect, analyze, and optionally delete supported posts through the hosted service

Supported providers

  • X
  • Facebook Pages
  • Instagram Business
  • Instagram standalone professional accounts
  • LinkedIn profile
  • LinkedIn page
  • Pinterest
  • TikTok
  • Discord
  • Telegram
  • YouTube
  • Reddit
  • WordPress

Pinterest is exposed as the pinterest provider in the public CLI and skill bundle. Its main publish target is board-centric, with support for standard pins, video pins, multi-image pins, board creation and section or catalog discovery, plus pin and account analytics. Product, collection, and idea surfaces should be treated as capability-gated or beta rather than assumed for every workspace.

TikTok supports one video or one photo gallery per post. Photo galleries can include up to 35 images and expose autoAddMusic plus photoCoverIndex; selecting a specific TikTok song or sound is not available through TikTok's Content Posting API. For photo galleries, normalize images before upload, preferably to 1080x1920 JPEGs for vertical slides or another standard TikTok-compatible aspect/size. Oversized or unusual image dimensions may pass SocialClaw validation and initial TikTok acceptance, then fail later with picture_size_check_failed; reconcile photo posts after publish to confirm TikTok reports PUBLISH_COMPLETE.

Publishing

Bump the version with npm version:

bash
npm version patchgit push && git push --tagsnpm publish --access public

To sync reference files manually after editing skill/references/:

bash
npm run sync:references

Notes

  • Users connect accounts inside the hosted SocialClaw dashboard.
  • The dashboard and API live at https://getsocialclaw.com.
  • The npm package ships the CLI, skill docs, Claude Code plugin, and command asset.

來源:README.md,提交 2071b10

工具

34

list_accounts

List accounts

List connected social accounts in the SocialClaw workspace. Optionally filter by provider (x, facebook, instagram_business, instagram, threads, linkedin, linkedin_page, pinterest, tiktok, telegram, discord, youtube, reddit, wordpress).

輸入參數provider

account_capabilities

Account capabilities

Get publish capabilities and provider rules for connected accounts: what media is allowed, text limits, and whether publishing is currently possible. Pass accountId for one account, or provider to filter, or neither for all.

輸入參數provideraccountId

connect_account

Connect account

Start connecting one of the user's own social accounts to their SocialClaw workspace. For most providers this returns an authorizeUrl; give it to the user so they sign in with the provider themselves (SocialClaw never sees their password). Telegram and Discord have no sign-in page: Telegram takes the bot token and chat id of a bot the user created and made admin of their channel, and Discord takes a webhook URL the user created for their channel. Only pass values the user gave you for this purpose.

輸入參數chatIdbotTokenprovider必填webhookUrl

upload_asset

Upload asset

Add an image or video to the user's SocialClaw media library so it can be attached to a post. Pass exactly one of: file (a file the user attached in this chat), sourceUrl (a direct public http(s) link to the image or video file, not a web page), or contentBase64 (small files only). Files up to 1 GB are supported through file or sourceUrl. The result is the asset: when status is ready, use its publicUrl as media_link in validate_schedule/apply_schedule. Large videos may come back with status uploading; then call get_asset with the asset id until status is ready (or failed) before scheduling.

輸入參數filefilenamesourceUrlcontentBase64

get_asset

Get asset

Get one media asset from the user's SocialClaw library by id, including its status (uploading, ready, or failed), import progress, and publicUrl. Use it after upload_asset returns status uploading, until the asset is ready.

輸入參數assetId必填

validate_schedule

Validate schedule

Validate a schedule document against provider rules, media limits, account state, and publish times WITHOUT creating any posts. Always run this before apply_schedule.

輸入參數schedule必填

preview_campaign

Preview campaign

Preview how a campaign schedule document expands into concrete posts and steps without creating anything.

輸入參數schedule必填

apply_schedule

Apply schedule

Create a publishing run from a schedule document. Posts are scheduled or published through connected accounts. Send an idempotencyKey so retries do not create duplicate runs.

輸入參數schedule必填idempotencyKey

publish_draft

Publish draft

Publish a previously created draft run, optionally at a given ISO-8601 start time.

輸入參數runId必填startAt

list_posts

List posts

List posts in the workspace with optional filters.

輸入參數limitrunIdoffsetstatusaccountprovidercampaignId

list_assets

List assets

List media (images/videos) the user has uploaded to their SocialClaw library, newest first. Each asset includes a publicUrl usable directly as media_link in validate_schedule/apply_schedule. Use this to find a previously uploaded file (e.g. from the dashboard) to post. Optionally filter by kind (image/video), mime, or a text query over filename/id.

輸入參數kindmimesortlimitquery

get_post

Get post

Get one post including its delivery state and provider identifiers.

輸入參數postId必填

post_attempts

Post attempts

List publish attempts for a post, including provider errors. Use this to debug failed posts.

輸入參數postId必填

retry_post

Retry post

Retry a failed post.

輸入參數postId必填

cancel_post

Cancel post

Cancel a scheduled post before it publishes.

輸入參數postId必填

run_status

Run status

Get the status summary of a publishing run and its posts.

輸入參數runId必填

get_analytics

Get analytics

Get analytics snapshots for a post, an account, or a run. scope must be post, account, or run; id is the matching identifier.

輸入參數id必填scope必填window

refresh_analytics

Refresh analytics

Fetch fresh analytics for a published post from the provider and store a new snapshot, then return it. Supported providers: Instagram, TikTok, YouTube, Reddit, X, Pinterest, Snapchat (others return an unsupported snapshot). Call this before get_analytics when you need current numbers rather than the last stored snapshot.

輸入參數postId必填window

list_instagram_media

List Instagram media

List an Instagram account's recent posts (caption, permalink, timestamp, comment count) so you can find one to read or moderate comments on. account is the connected-account id or handle.

輸入參數afterlimitaccount必填

get_instagram_comments

Get Instagram comments

Read the comments and replies people left on one of the user's own Instagram posts, so the user can review and answer them. Use list_instagram_media first to get a mediaId.

輸入參數afterlimitaccount必填mediaId必填

reply_instagram_comment

Reply Instagram comment

Reply to an Instagram comment on the user's media.

輸入參數account必填message必填commentId必填

hide_instagram_comment

Hide Instagram comment

Hide or unhide an Instagram comment on the user's media. Set hidden=false to unhide.

輸入參數hiddenaccount必填commentId必填

delete_instagram_comment

Delete Instagram comment

Permanently delete an Instagram comment on the user's media. Prefer hide_instagram_comment when unsure.

輸入參數account必填commentId必填

get_instagram_media_insights

Get Instagram media insights

Get analytics for one Instagram post (reach, likes, comments, saved, shares, views). Use list_instagram_media for the mediaId.

輸入參數account必填mediaId必填mediaProductType

get_instagram_profile

Get Instagram profile

Get an Instagram account's profile stats: followers, follows, media count, bio.

輸入參數account必填

get_instagram_account_insights

Get Instagram account insights

Get an Instagram account's insight trend (a daily time series, e.g. reach) over the last N days.

輸入參數daysmetricaccount必填

react_instagram_message

React Instagram message

React to a received Instagram direct message (e.g. love).

輸入參數account必填reactionmessageId必填recipientId必填conversationId必填

list_instagram_mentions

List Instagram mentions

List recent @mentions of the workspace's Instagram accounts (captured from Instagram mention webhooks).

輸入參數limit

list_instagram_conversations

List Instagram conversations

List the Instagram direct-message conversations for an account, most recent first. Each conversation includes `counterpart` (the other person's {id, username}) — use its id as the recipientId when replying; `participants` also lists the account itself.

輸入參數afterlimitaccount必填

get_instagram_messages

Get Instagram messages

Read the messages in an Instagram direct-message conversation.

輸入參數afterlimitaccount必填conversationId必填

send_instagram_message

Send Instagram message

Send an Instagram direct message — a text reply, or an image/video attachment via attachment_url. Only allowed within 24 hours of the recipient's last message unless a message tag (e.g. HUMAN_AGENT) is supplied.

輸入參數tagtextaccount必填recipientId必填attachment_urlconversationId必填attachment_type

workspace_usage

Workspace usage

Get workspace usage counters and plan entitlement consumption.

無需輸入參數。

workspace_health

Workspace health

Get workspace health, including connection state across providers. Pass provider to check one provider's connections.

輸入參數provider

get_profile

Get profile

Identify the connected SocialClaw workspace: its stable id, name, and plan. Use it to confirm which workspace you are acting on.

無需輸入參數。

版本歷史

1
  1. v0.1.20最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分