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 分