io.github.ndesv21/socialclaw
REMOTE · GETSOCIALCLAW.COM · 2 COMPONENTS · SCANNED SEP 20
Connect any AI agent to 11+ social platforms: schedule, publish & track posts via hosted MCP.
Available components
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. How we score → Why this is hard to score →
Endpoint Security60
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 32 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability76
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 2667 tokens (~83/item across 32 items; 32 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage93
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 80% of tool parameters carry a description.Partial
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "publish_draft" implies "publish" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 33 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the io.github.ndesv21/socialclaw MCP server?
io.github.ndesv21/socialclaw is a hosted endpoint at https://getsocialclaw.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · getsocialclaw.com
claude mcp add --transport http ndesv21-socialclaw 'https://getsocialclaw.com/mcp'
{
"mcpServers": {
"ndesv21-socialclaw": {
"url": "https://getsocialclaw.com/mcp"
}
}
} {
"servers": {
"ndesv21-socialclaw": {
"type": "http",
"url": "https://getsocialclaw.com/mcp"
}
}
} [mcp_servers.ndesv21-socialclaw] url = "https://getsocialclaw.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ndesv21-socialclaw": {
"type": "remote",
"url": "https://getsocialclaw.com/mcp",
"enabled": true
}
}
} openclaw mcp add ndesv21-socialclaw --url 'https://getsocialclaw.com/mcp' --transport streamable-http
mcp_servers:
ndesv21-socialclaw:
url: "https://getsocialclaw.com/mcp" {
"McpServers": {
"ndesv21-socialclaw": {
"Transport": "http",
"Url": "https://getsocialclaw.com/mcp"
}
}
} assistant mcp add ndesv21-socialclaw -t streamable-http -u 'https://getsocialclaw.com/mcp'
{
"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.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 19 Sept 26 0
- HSTS header: unverified → fail ▼ security
- DNSSEC: unverified → pass ▲ security
- Injection markers: unverified → pass ▲ security
- Stability: unverified → pass ▲ security
- TLS certificate: unverified → pass ▲ security
- Transport: fail → pass ▲ security
- Authorization: Authorisation not fully verified: no authorisation is required to call this server, and 32 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. security
- Endpoint reachability: unreachable → reachable ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- 18 Sept 26 0
- Endpoint reachability: reachable → unreachable ▼ security
- HSTS header: fail → unverified ▼ security
- Stability: pass → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- TLS certificate: pass → unverified ▼ security
- DNSSEC: pass → unverified ▼ security
- Transport: pass → fail ▼ security
- Authorization: Authorisation not yet verified: we couldn't confirm whether this endpoint requires it. security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- 10 Sept 26 +1
- Stability: 0.97 → pass security
- 9 Sept 26 0
- Tool “list_accounts” rewrote its description, which is the text the model reads security
- Stability: pass → 0.97 functional
- 7 Sept 26 +1
- DNSSEC: unverified → pass ▲ security
- 6 Sept 26 −1
- DNSSEC: pass → unverified ▼ security
- 26 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Aug 26 −1
- DNSSEC: pass → fail ▼ security
- Stability: 0.97 → pass security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Probed https://getsocialclaw.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=getsocialclaw.com | CN=YR2,O=Let's Encrypt,C=US | 15 Sept 2026 | 14 Dec 2026 | RSA 2048 | SHA256-RSA | 6964876992a7644f56d23b10110cb4337f4 |
| SANs: getsocialclaw.com | ||||||
| CN=YR2,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | 4ebd24947e24d394802d84a52fd5b319 |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of getsocialclaw.com. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| getsocialclaw.com. | present | 7835 | 13 | Verified |
| getsocialclaw.com. | Verified address RRset verified with the apex keys |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://getsocialclaw.com/mcp | Verified | 200 | |
| http (plaintext) | http://getsocialclaw.com/mcp | HTTPS enforced | 301 | https://getsocialclaw.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
account_capabilities ~72
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.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | – | Optional account id. |
| provider | string | – | Optional provider filter. |
No output schema declared.
No examples provided.
apply_schedule ~155
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.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | – | Stable key to deduplicate retries. |
| schedule | object | yes | SocialClaw schedule document. Minimal shape: { timezone, posts: [{ account, name, description, publish_at, media_link? }] }. Campaign documents use { timezone, campaigns: [...] }. Per-post provider s… |
No output schema declared.
No examples provided.
cancel_post ~24
Cancel a scheduled post before it publishes.
| Name | Type | Req | Description |
|---|---|---|---|
| postId | string | yes | – |
No output schema declared.
No examples provided.
connect_account ~104
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.
| Name | Type | Req | Description |
|---|---|---|---|
| botToken | string | – | Telegram bot token (telegram only). |
| chatId | string | – | Telegram chat target, e.g. @yourchannel (telegram only). |
| provider | string | yes | Provider to connect. |
| webhookUrl | string | – | Discord channel webhook URL (discord only). |
No output schema declared.
No examples provided.
delete_instagram_comment ~50
Permanently delete an Instagram comment on the user's media. Prefer hide_instagram_comment when unsure.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Instagram connected-account id or handle. |
| commentId | string | yes | – |
No output schema declared.
No examples provided.
get_analytics ~70
Get analytics snapshots for a post, an account, or a run. scope must be post, account, or run; id is the matching identifier.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| scope | string | yes | – |
| window | string | – | Optional analytics window, e.g. 7d. |
No output schema declared.
No examples provided.
get_instagram_account_insights ~91
Get an Instagram account's insight trend (a daily time series, e.g. reach) over the last N days.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Instagram connected-account id or handle. |
| days | number | – | Window in days (2-30, default 14). |
| metric | string | – | Account metric, default reach (e.g. reach, profile_views, accounts_engaged). |
No output schema declared.
No examples provided.
get_instagram_comments ~97
Read the comments (and replies) on an Instagram post. Use list_instagram_media first to get a mediaId.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Instagram connected-account id or handle. |
| after | string | – | Pagination cursor from a previous response. |
| limit | number | – | Max comments to return (default 25, capped at 100). |
| mediaId | string | yes | The IG media id from list_instagram_media. |
No output schema declared.
No examples provided.
get_instagram_media_insights ~88
Get analytics for one Instagram post (reach, likes, comments, saved, shares, views). Use list_instagram_media for the mediaId.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Instagram connected-account id or handle. |
| mediaId | string | yes | – |
| mediaProductType | string | – | Optional: FEED, REELS, or STORY — refines which metrics are requested. |
No output schema declared.
No examples provided.
get_instagram_messages ~80
Read the messages in an Instagram direct-message conversation.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Instagram connected-account id or handle. |
| after | string | – | Pagination cursor from a previous response. |
| conversationId | string | yes | Conversation id from list_instagram_conversations. |
| limit | number | – | Max messages (default 25, capped at 100). |
No output schema declared.
No examples provided.
get_instagram_profile ~40
Get an Instagram account's profile stats: followers, follows, media count, bio.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Instagram connected-account id or handle. |
No output schema declared.
No examples provided.
get_post ~27
Get one post including its delivery state and provider identifiers.
| Name | Type | Req | Description |
|---|---|---|---|
| postId | string | yes | – |
No output schema declared.
No examples provided.
hide_instagram_comment ~67
Hide or unhide an Instagram comment on the user's media. Set hidden=false to unhide.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Instagram connected-account id or handle. |
| commentId | string | yes | – |
| hidden | boolean | – | true to hide (default), false to unhide. |
No output schema declared.
No examples provided.
list_accounts ~66
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).
| Name | Type | Req | Description |
|---|---|---|---|
| provider | string | – | Optional provider filter. |
No output schema declared.
No examples provided.
list_assets ~178
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.
| Name | Type | Req | Description |
|---|---|---|---|
| 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. |
No output schema declared.
No examples provided.
list_instagram_conversations ~105
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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Instagram connected-account id or handle. |
| after | string | – | Pagination cursor from a previous response. |
| limit | number | – | Max conversations (default 25, capped at 100). |
No output schema declared.
No examples provided.
list_instagram_media ~94
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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Instagram connected-account id or handle. |
| after | string | – | Pagination cursor from a previous response. |
| limit | number | – | Max media to return (default 25, capped at 100). |
No output schema declared.
No examples provided.
list_instagram_mentions ~47
List recent @mentions of the workspace's Instagram accounts (captured from Instagram mention webhooks).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max mentions (default 30, capped at 100). |
No output schema declared.
No examples provided.
list_posts ~104
List posts in the workspace with optional filters.
| Name | Type | Req | Description |
|---|---|---|---|
| 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, action_required, failed, canceled. |
No output schema declared.
No examples provided.
post_attempts ~35
List publish attempts for a post, including provider errors. Use this to debug failed posts.
| Name | Type | Req | Description |
|---|---|---|---|
| postId | string | yes | – |
No output schema declared.
No examples provided.
preview_campaign ~123
Preview how a campaign schedule document expands into concrete posts and steps without creating anything.
| Name | Type | Req | Description |
|---|---|---|---|
| schedule | object | yes | SocialClaw schedule document. Minimal shape: { timezone, posts: [{ account, name, description, publish_at, media_link? }] }. Campaign documents use { timezone, campaigns: [...] }. Per-post provider s… |
No output schema declared.
No examples provided.
publish_draft ~54
Publish a previously created draft run, optionally at a given ISO-8601 start time.
| Name | Type | Req | Description |
|---|---|---|---|
| runId | string | yes | Draft run id. |
| startAt | string | – | Optional ISO-8601 publish start time. |
No output schema declared.
No examples provided.
react_instagram_message ~84
React to a received Instagram direct message (e.g. love).
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Instagram connected-account id or handle. |
| conversationId | string | yes | – |
| messageId | string | yes | – |
| reaction | string | – | Reaction name, default love. |
| recipientId | string | yes | The other participant's Instagram-scoped user id (IGSID). |
No output schema declared.
No examples provided.
refresh_analytics ~106
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.
| Name | Type | Req | Description |
|---|---|---|---|
| postId | string | yes | The published post id to refresh. |
| window | string | – | Optional analytics window, e.g. 7d (default lifetime). |
No output schema declared.
No examples provided.
reply_instagram_comment ~51
Reply to an Instagram comment on the user's media.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Instagram connected-account id or handle. |
| commentId | string | yes | – |
| message | string | yes | The reply text. |
No output schema declared.
No examples provided.
retry_post ~21
Retry a failed post.
| Name | Type | Req | Description |
|---|---|---|---|
| postId | string | yes | – |
No output schema declared.
No examples provided.
run_status ~28
Get the status summary of a publishing run and its posts.
| Name | Type | Req | Description |
|---|---|---|---|
| runId | string | yes | – |
No output schema declared.
No examples provided.
send_instagram_message ~179
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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Instagram connected-account id or handle. |
| attachment_type | string | – | Attachment type: image (default), video, or audio. |
| attachment_url | string | – | Public URL of an image/video to send as an attachment. |
| conversationId | string | yes | Conversation id (for routing/storage). |
| recipientId | string | yes | The recipient's Instagram-scoped user id (IGSID). |
| tag | string | – | Optional message tag, e.g. HUMAN_AGENT, to reply outside the 24h window. |
| text | string | – | Message body (omit when sending an attachment). |
No output schema declared.
No examples provided.
upload_asset ~105
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.
| Name | Type | Req | Description |
|---|---|---|---|
| contentBase64 | string | – | Base64-encoded file content (alternative to sourceUrl). |
| filename | string | yes | Filename including extension, e.g. launch.png. |
| sourceUrl | string | – | Public URL to download the media from. |
No output schema declared.
No examples provided.
validate_schedule ~136
Validate a schedule document against provider rules, media limits, account state, and publish times WITHOUT creating any posts. Always run this before apply_schedule.
| Name | Type | Req | Description |
|---|---|---|---|
| schedule | object | yes | SocialClaw schedule document. Minimal shape: { timezone, posts: [{ account, name, description, publish_at, media_link? }] }. Campaign documents use { timezone, campaigns: [...] }. Per-post provider s… |
No output schema declared.
No examples provided.
workspace_health ~41
Get workspace health, including connection state across providers. Pass provider to check one provider's connections.
| Name | Type | Req | Description |
|---|---|---|---|
| provider | string | – | Optional provider to check connection health for. |
No output schema declared.
No examples provided.
workspace_usage ~17
Get workspace usage counters and plan entitlement consumption.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
What is the io.github.ndesv21/socialclaw MCP server?
io.github.ndesv21/socialclaw is an MCP server listed in the public MCP registry as io.github.ndesv21/socialclaw. Connect any AI agent to 11+ social platforms: schedule, publish & track posts via hosted MCP. This page covers its hosted endpoint (https://getsocialclaw.com/mcp).
Is the io.github.ndesv21/socialclaw MCP server safe to use?
io.github.ndesv21/socialclaw scores 78 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.ndesv21/socialclaw MCP server expose?
io.github.ndesv21/socialclaw exposes 32 tools: list_accounts, account_capabilities, connect_account, upload_asset, validate_schedule, and 27 more. Their descriptions and schemas cost roughly 2,539 tokens of context every time the server is loaded.
Does the io.github.ndesv21/socialclaw MCP server require authentication?
No. We connected to io.github.ndesv21/socialclaw without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the io.github.ndesv21/socialclaw MCP server still maintained?
io.github.ndesv21/socialclaw is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.