# io.github.ndesv21/socialclaw (remote · getsocialclaw.com)

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

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

## Components

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

## Channel facts

- Endpoint: `https://getsocialclaw.com/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `0.1.18`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, 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.

- **Endpoint Security**: 60/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 18 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 75/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 1492 tokens (~82/item across 18 items; 18 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 91/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 73% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http ndesv21-socialclaw https://getsocialclaw.com/mcp
```

### Codex

```toml
[mcp_servers.ndesv21-socialclaw]
url = "https://getsocialclaw.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ndesv21-socialclaw": {
      "type": "remote",
      "url": "https://getsocialclaw.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ndesv21-socialclaw --url https://getsocialclaw.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  ndesv21-socialclaw:
    url: "https://getsocialclaw.com/mcp"
```

### Other

```json
{
  "mcpServers": {
    "ndesv21-socialclaw": {
      "type": "http",
      "url": "https://getsocialclaw.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## 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 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 66, +1)

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

### 2026-07-30 (score 65, +1)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-28 (score 64, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 63, +1)

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

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

First indexed and scored.

## MCP tools (18)

### `list_accounts` (~64 tokens)

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)

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)

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` (~105 tokens)

Upload media (image or video) to SocialClaw hosted storage. Provide either sourceUrl (a public URL the server downloads) or contentBase64. Returns an asset id and a public URL usable as media_link in schedules.

Input parameters:

- `contentBase64` (string): Base64-encoded file content (alternative to sourceUrl).
- `filename` (string, required): Filename including extension, e.g. launch.png.
- `sourceUrl` (string): Public URL to download the media from.

### `validate_schedule` (~139 tokens)

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 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` (~158 tokens)

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.

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 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 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 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 one post including its delivery state and provider identifiers.

Input parameters:

- `postId` (string, required)

### `post_attempts` (~35 tokens)

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 a failed post.

Input parameters:

- `postId` (string, required)

### `cancel_post` (~24 tokens)

Cancel a scheduled post before it publishes.

Input parameters:

- `postId` (string, required)

### `run_status` (~28 tokens)

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

Input parameters:

- `runId` (string, required)

### `get_analytics` (~70 tokens)

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)

Get workspace usage counters and plan entitlement consumption.

### `workspace_health` (~41 tokens)

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: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/ndesv21-socialclaw/getsocialclaw#diagnostics

## Score history

- 2026-08-03: 67
- 2026-08-02: 67
- 2026-08-01: 66
- 2026-07-31: 66
- 2026-07-30: 65
- 2026-07-29: 64
- 2026-07-28: 64
- 2026-07-27: 63
- 2026-07-26: 62

## Links

- Remote endpoint: https://getsocialclaw.com/mcp
- Authorisation metadata: https://getsocialclaw.com/.well-known/oauth-protected-resource/mcp
- Repository: https://github.com/ndesv21/socialclaw
- Changelog RSS feed: https://verifymcp.io/servers/ndesv21-socialclaw/getsocialclaw/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/ndesv21-socialclaw/getsocialclaw/changelog.json
- HTML version of this page: https://verifymcp.io/servers/ndesv21-socialclaw/getsocialclaw
