# io.github.ndesv21/socialclaw (npm · socialclaw)

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

- Trust score: 68/100 (medium)
- Change this week: +21
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `getsocialclaw.com`: 67/100, [markdown](https://verifymcp.io/servers/ndesv21-socialclaw/getsocialclaw.md), [page](https://verifymcp.io/servers/ndesv21-socialclaw/getsocialclaw)
- npm · `socialclaw`: 68/100 (this document), [markdown](https://verifymcp.io/servers/ndesv21-socialclaw/socialclaw.md), [page](https://verifymcp.io/servers/ndesv21-socialclaw/socialclaw)

## Channel facts

- Registry: `npm`
- Package: `socialclaw`
- Version: `0.1.18`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - No production dependencies, so there is no dependency health to assess.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 6 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 75/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 1392 tokens (~77/item across 18 items; 18 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 90/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 71% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add ndesv21-socialclaw -- npx -y socialclaw
```

### Codex

```bash
codex mcp add ndesv21-socialclaw -- npx -y socialclaw
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ndesv21-socialclaw": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "socialclaw"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ndesv21-socialclaw --command npx --arg -y --arg socialclaw
```

### Hermes

```yaml
mcp_servers:
  ndesv21-socialclaw:
    command: "npx"
    args: ["-y", "socialclaw"]
```

### Other

```json
{
  "mcpServers": {
    "ndesv21-socialclaw": {
      "command": "npx",
      "args": [
        "-y",
        "socialclaw"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 68, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-07-31 (score 53, −20)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-28 (score 73, +26)

- [security regression] Source repository: pass → fail
- [functional regression] Security disclosure: fail → unverified
- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Tool coverage: 71
- [functional] First check of Schema quality: pass
- [functional] First check of Schema quality: good
- [functional] First check of Schema quality: fail

### 2026-07-27 (score 47, 0)

- [functional] Package version: 0.1.16 → 0.1.18

### 2026-07-26 (score 47)

First indexed and scored.

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

## MCP tools (18)

### `list_accounts` (~64 tokens)

List accounts

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

Input parameters:

- `provider` (string): Optional provider filter.

### `account_capabilities` (~72 tokens)

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.

Input parameters:

- `accountId` (string): Optional account id.
- `provider` (string): Optional provider filter.

### `connect_account` (~104 tokens)

Connect account

Start connecting a new social account. For OAuth providers this returns an authorizeUrl the user must open in a browser. Telegram requires botToken and chatId; Discord requires webhookUrl.

Input parameters:

- `botToken` (string): Telegram bot token (telegram only).
- `chatId` (string): Telegram chat target, e.g. @yourchannel (telegram only).
- `provider` (string, required): Provider to connect.
- `webhookUrl` (string): Discord channel webhook URL (discord only).

### `upload_asset` (~59 tokens)

Upload asset

Upload a local media file (image or video) to SocialClaw hosted storage. Returns an asset id and a public URL that can be used as media_link in schedules.

Input parameters:

- `filePath` (string, required): Absolute or relative path to the media file.

### `validate_schedule` (~139 tokens)

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.

Input parameters:

- `schedule` (object, required): SocialClaw schedule document. Minimal shape: { timezone, posts: [{ account, name, description, publish_at, media_link? }] }. Campaign documents use { timezone, campaigns: [...] }. Per-post provider s…

### `preview_campaign` (~126 tokens)

Preview campaign

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

Input parameters:

- `schedule` (object, required): SocialClaw schedule document. Minimal shape: { timezone, posts: [{ account, name, description, publish_at, media_link? }] }. Campaign documents use { timezone, campaigns: [...] }. Per-post provider s…

### `apply_schedule` (~164 tokens)

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; one is generated when omitted.

Input parameters:

- `idempotencyKey` (string): Stable key to deduplicate retries.
- `schedule` (object, required): SocialClaw schedule document. Minimal shape: { timezone, posts: [{ account, name, description, publish_at, media_link? }] }. Campaign documents use { timezone, campaigns: [...] }. Per-post provider s…

### `publish_draft` (~54 tokens)

Publish draft

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

Input parameters:

- `runId` (string, required): Draft run id.
- `startAt` (string): Optional ISO-8601 publish start time.

### `list_posts` (~101 tokens)

List posts

List posts in the workspace with optional filters.

Input parameters:

- `account` (string): Account handle filter.
- `campaignId` (string)
- `limit` (number): Maximum posts to return. Defaults to 20 and is capped at 50.
- `offset` (number): Offset for paging through results.
- `provider` (string)
- `runId` (string)
- `status` (string): e.g. scheduled, published, failed, canceled.

### `list_assets` (~178 tokens)

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.

Input parameters:

- `kind` (string): Filter by media kind: image or video.
- `limit` (number): Maximum assets to return. Defaults to 24, capped at 48.
- `mime` (string): Optional mime prefix filter, e.g. video/mp4.
- `query` (string): Optional text match over filename, id, kind, mime, or url.
- `sort` (string): created_desc (default, newest first) or created_asc.

### `get_post` (~27 tokens)

Get post

Get one post including its delivery state and provider identifiers.

Input parameters:

- `postId` (string, required)

### `post_attempts` (~35 tokens)

Post attempts

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

Input parameters:

- `postId` (string, required)

### `retry_post` (~21 tokens)

Retry post

Retry a failed post.

Input parameters:

- `postId` (string, required)

### `cancel_post` (~24 tokens)

Cancel post

Cancel a scheduled post before it publishes.

Input parameters:

- `postId` (string, required)

### `run_status` (~28 tokens)

Run status

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

Input parameters:

- `runId` (string, required)

### `get_analytics` (~70 tokens)

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.

Input parameters:

- `id` (string, required)
- `scope` (string, required)
- `window` (string): Optional analytics window, e.g. 7d.

### `workspace_usage` (~17 tokens)

Workspace usage

Get workspace usage counters and plan entitlement consumption.

### `workspace_health` (~41 tokens)

Workspace health

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

Input parameters:

- `provider` (string): Optional provider to check connection health for.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/ndesv21-socialclaw/socialclaw#diagnostics

## Score history

- 2026-08-03: 68
- 2026-08-02: 68
- 2026-08-01: 53
- 2026-07-31: 53
- 2026-07-30: 73
- 2026-07-29: 73
- 2026-07-28: 73
- 2026-07-27: 47
- 2026-07-26: 47

## Links

- npm package: https://www.npmjs.com/package/socialclaw
- Socket report: https://socket.dev/npm/package/socialclaw
- Repository: https://github.com/ndesv21/socialclaw
- Changelog RSS feed: https://verifymcp.io/servers/ndesv21-socialclaw/socialclaw/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/ndesv21-socialclaw/socialclaw/changelog.json
- HTML version of this page: https://verifymcp.io/servers/ndesv21-socialclaw/socialclaw
