ai.social-api/socialapi
NPM · MCP-SOCIALAPI · SCANNED SEP 20
MCP server for SocialAPI — manage social media comments, DMs, reviews, and mentions across platforms
Available components
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. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 31 of 96 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency19
- Repository check failed: the declared repository URL returned HTTP 404. See how to fix → View diagnostics → Fail
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 140 days ago).Pass
- Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability83
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 7864 tokens (~104/item across 75 items; 75 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management93
- Stability observed for 28 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 14 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 75 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 ai.social-api/socialapi MCP server?
ai.social-api/socialapi runs locally as an npm package, launched with npx -y mcp-socialapi. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · mcp-socialapi
claude mcp add ai-social-api-socialapi -- npx -y mcp-socialapi
{
"mcpServers": {
"ai-social-api-socialapi": {
"command": "npx",
"args": [
"-y",
"mcp-socialapi"
]
}
}
} {
"servers": {
"ai-social-api-socialapi": {
"command": "npx",
"args": [
"-y",
"mcp-socialapi"
]
}
}
} codex mcp add ai-social-api-socialapi -- npx -y mcp-socialapi
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ai-social-api-socialapi": {
"type": "local",
"command": [
"npx",
"-y",
"mcp-socialapi"
],
"enabled": true
}
}
} openclaw mcp add ai-social-api-socialapi --command npx --arg -y --arg mcp-socialapi
mcp_servers:
ai-social-api-socialapi:
command: "npx"
args: ["-y", "mcp-socialapi"] {
"McpServers": {
"ai-social-api-socialapi": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"mcp-socialapi"
]
}
}
} assistant mcp add ai-social-api-socialapi -t stdio -c npx -a -y mcp-socialapi
{
"mcpServers": {
"ai-social-api-socialapi": {
"command": "npx",
"args": [
"-y",
"mcp-socialapi"
]
}
}
} 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 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Sept 26 −2
- Stability: pass → 0.83 functional
- 16 Sept 26 0
- Stability: 0.97 → pass security
- 15 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 9 Sept 26 −3
- Stability: pass → 0.77 functional
- 8 Sept 26 0
- 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 · Analysed npm/mcp-socialapi@1.2.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 96 packages
| Packages resolved | 96 |
|---|---|
| Stale | 31 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
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 →
social_api_list_webhooks List Webhooks ~72
List all registered webhook endpoints for the authenticated user. Returns endpoint details including id, url, subscribed event types, is_active status, and created_at. Available event types: comment.received, dm.received, review.received, mention.received, post.published, post.failed, post.scheduled.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
social_api_mark_conversation_read Mark Conversation Read ~71
Mark all messages in a conversation as read, resetting the unread count to zero. Idempotent -- calling on an already-read conversation has no effect. Use social_api_list_conversations to find the conversation_id.
| Name | Type | Req | Description |
|---|---|---|---|
| conversation_id | string | yes | Conversation ID (from social_api_list_conversations) |
No output schema declared.
No examples provided.
social_api_moderate_comment Moderate Comment ~126
Moderate a comment by hiding, unhiding, or deleting it. The interaction_id must be a comment ID starting with sapi_cmt_. Actions: 'hide' removes from public view (reversible), 'unhide' restores a hidden comment, 'delete' permanently removes it (irreversible). Returns 501 for platforms without moderation support.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | yes | Connected account ID |
| action | string | yes | Moderation action: hide, unhide, or delete |
| interaction_id | string | yes | Comment ID (must start with sapi_cmt_) |
No output schema declared.
No examples provided.
social_api_patch_me Update Profile ~74
Update the authenticated user's profile. Currently only supports marking onboarding complete by setting onboarding=false. Setting onboarding=true returns an error. Returns the updated user profile. Idempotent -- calling with onboarding=false when already false has no effect.
| Name | Type | Req | Description |
|---|---|---|---|
| onboarding | boolean | yes | Set to false to mark onboarding complete (only false is allowed) |
No output schema declared.
No examples provided.
social_api_private_reply_to_comment Private Reply to Comment ~117
Send a private reply (DM) in response to a comment, visible only to the commenter. Max 1000 characters. Consumes 1 interaction credit. Supported on Instagram and Facebook. Returns 501 for platforms that do not support private replies.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | yes | Connected account ID |
| comment_id | string | yes | Platform comment ID to privately reply to |
| post_id | string | yes | Platform post ID containing the comment |
| text | string | yes | Message text (max 1000 characters) |
No output schema declared.
No examples provided.
social_api_reply_to_comment Reply to Comment ~136
Reply publicly to a post or a specific comment. Provide account_id and post_id; optionally also comment_id to target a specific comment thread. The reply appears publicly on the post. Max 2200 characters. Consumes 1 interaction credit. Returns the created reply ID.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | yes | Connected account ID |
| comment_id | string | – | Platform comment ID to reply to (optional — replies to a specific comment) |
| post_id | string | yes | Platform post ID to reply to (or omit to use comment_id only) |
| text | string | yes | Reply text (max 2200 characters) |
No output schema declared.
No examples provided.
social_api_reply_to_review Reply to Review ~96
Reply to a review as the business. The reply appears publicly as the business response. Requires account_id and the platform review_id. Max 2200 characters. Consumes 1 interaction credit. Returns the created reply ID.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | yes | Connected account ID |
| review_id | string | yes | Platform review ID to reply to |
| text | string | yes | Reply text (max 2200 characters) |
No output schema declared.
No examples provided.
social_api_retry_post Retry Post ~63
Retry publishing a post that previously failed. Only posts in 'failed' or 'partial' status can be retried -- re-enqueues only the failed platform deliveries. Consumes 1 post credit.
| Name | Type | Req | Description |
|---|---|---|---|
| post_id | string | yes | Failed post ID to retry |
No output schema declared.
No examples provided.
social_api_retry_webhook_delivery Retry Webhook Delivery ~94
Manually retry a failed webhook delivery. Re-sends the original payload to the endpoint URL with a fresh attempt count. Use this after fixing an endpoint that was returning errors. Use social_api_list_webhook_deliveries (filtered by status=failed) to find the delivery_id.
| Name | Type | Req | Description |
|---|---|---|---|
| delivery_id | string | yes | Delivery attempt ID to retry |
| webhook_id | string | yes | Webhook endpoint ID |
No output schema declared.
No examples provided.
social_api_revoke_invite Revoke Invite ~54
Revoke an active platform invite, making the invite URL immediately invalid. This is irreversible. Use social_api_list_invites to find the invite_id.
| Name | Type | Req | Description |
|---|---|---|---|
| invite_id | string | yes | Invite ID to revoke |
No output schema declared.
No examples provided.
social_api_revoke_key Revoke API Key ~86
Permanently deactivate an API key. This is irreversible -- the key immediately stops working for all API requests. Use social_api_list_keys to find the key_id. Revoking an already-revoked key is a no-op (idempotent). Does not affect other active keys for the same user.
| Name | Type | Req | Description |
|---|---|---|---|
| key_id | string | yes | ID of the API key to revoke |
No output schema declared.
No examples provided.
social_api_send_dm Send DM ~128
Send a direct message in an existing inbox conversation. The conversation_id comes from social_api_list_conversations. Specify the account_id to send from. Max 1000 characters. Consumes 1 interaction credit. On Facebook Messenger, messages can only be sent within 24 hours of the user's last message to you (platform policy). Supported on Instagram and Facebook.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | yes | Connected account ID to send from |
| conversation_id | string | yes | Conversation ID (from social_api_list_conversations) |
| text | string | yes | Message text (max 1000 characters) |
No output schema declared.
No examples provided.
social_api_send_feedback Send Feedback ~109
Send feedback to the SocialAPI team. Use when a user wants to report a bug, request a feature, or share general feedback. Type must be one of: 'bug', 'feature_request', or 'general'. The feedback is stored in the database and the team is notified. This is the preferred way to reach the team from within an MCP conversation.
| Name | Type | Req | Description |
|---|---|---|---|
| message | string | yes | The feedback message |
| type | string | yes | Feedback type: bug, feature_request, or general |
No output schema declared.
No examples provided.
social_api_test_webhook Test Webhook ~130
Send a test event to a webhook endpoint to verify it is reachable and correctly configured. Takes an event_type (e.g. comment.received) and a raw JSON payload. Returns the delivery result including HTTP response code and any error. Does not charge the user's event quota. Use this during setup to confirm your endpoint validates the signature correctly.
| Name | Type | Req | Description |
|---|---|---|---|
| event_type | string | yes | Event type to simulate (e.g. comment.received) |
| payload | object | yes | JSON payload to send as the event body |
| webhook_id | string | yes | Webhook endpoint ID to send test payload to |
No output schema declared.
No examples provided.
social_api_unhide_comment Unhide Comment ~65
Restore a previously hidden comment to public view. Supported on Instagram, Facebook, and Threads.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | yes | Connected account ID |
| comment_id | string | yes | Platform comment ID to unhide |
| post_id | string | yes | Platform post ID |
No output schema declared.
No examples provided.
social_api_unlike_comment Unlike Comment ~74
Remove a like from a comment previously liked by the connected account. Supported on Facebook and Twitter. Returns 501 for platforms without like support.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | yes | Connected account ID |
| comment_id | string | yes | Platform comment ID to unlike |
| post_id | string | yes | Platform post ID |
No output schema declared.
No examples provided.
social_api_unpublish_post Unpublish Post ~98
Unpublish a post from one or all platforms. Removes the post from the social media platform but keeps the post record in SocialAPI. Optionally specify account_id to unpublish from a single platform only; omit to unpublish from all. This is irreversible on the platform side.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | – | Account ID to unpublish from (omit for all) |
| post_id | string | yes | Post ID to unpublish |
No output schema declared.
No examples provided.
social_api_update_account_page Update Account Page ~133
Update a page's default or active status for a connected account. Set is_default=true to make this the default page for publishing and inbox operations. Set is_active=false to deactivate a page (it will no longer receive events or appear in default listings). Idempotent -- setting the current value has no effect. Use social_api_list_account_pages to find the page_id first.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | yes | Connected account ID |
| is_active | boolean | – | Activate or deactivate page |
| is_default | boolean | – | Set as default page |
| page_id | string | yes | Page ID to update |
No output schema declared.
No examples provided.
social_api_update_brand Update Brand ~78
Rename a brand. Only the name can be changed; connected accounts are not affected. Idempotent -- setting the same name has no effect. Use social_api_list_brands to find the brand_id first.
| Name | Type | Req | Description |
|---|---|---|---|
| brand_id | string | yes | ID of the brand to rename |
| name | string | yes | New name for the brand |
No output schema declared.
No examples provided.
social_api_update_conversation Update Conversation ~95
Update a conversation's status. Set status to 'archived' to move it out of the active inbox, or 'active' to restore it. Idempotent -- setting the current status has no effect. Use social_api_list_conversations to find the conversation_id.
| Name | Type | Req | Description |
|---|---|---|---|
| conversation_id | string | yes | Conversation ID (from social_api_list_conversations) |
| status | string | yes | New status: active or archived |
No output schema declared.
No examples provided.
social_api_update_post Update Post ~154
Update the content of a draft, scheduled, or failed post. Only posts in 'draft', 'scheduled', or 'failed' status can be updated. Provide the post_id. Does not consume additional credits.
| Name | Type | Req | Description |
|---|---|---|---|
| first_comment | string | – | Updated first comment |
| hidden | boolean | – | Hide or unhide the post |
| media_ids | array | – | Updated media IDs |
| post_id | string | yes | Post ID to update |
| scheduled_at | string | – | Updated schedule time (RFC3339) |
| targets | array | – | Replace targets (full list) |
| text | string | – | Updated post text |
| title | string | – | Updated title |
| visibility | string | – | Updated visibility |
No output schema declared.
No examples provided.
social_api_update_review_reply Update Review Reply ~96
Update an existing business reply to a review. Requires account_id and the platform review_id. Max 2200 characters. Supported on Google Business. Returns 501 for platforms that do not support updating review replies.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | yes | Connected account ID |
| review_id | string | yes | Platform review ID whose reply should be updated |
| text | string | yes | Updated reply text (max 2200 characters) |
No output schema declared.
No examples provided.
social_api_update_webhook Update Webhook ~111
Update an existing webhook endpoint. Change the URL, subscribed event types, or enable/disable it (is_active). At least one field must be provided. Idempotent -- setting the same values has no effect. Use social_api_list_webhooks to find the webhook_id.
| Name | Type | Req | Description |
|---|---|---|---|
| events | array | – | New event types |
| is_active | boolean | – | Enable or disable the webhook |
| url | string | – | New HTTPS URL |
| webhook_id | string | yes | Webhook endpoint ID |
No output schema declared.
No examples provided.
social_api_validate_post Validate Post ~166
Validate post content against platform-specific constraints before creating a post. Checks text length, media counts, file types, aspect ratios, and other platform rules. Returns valid (bool), errors (blocking issues), and warnings (non-blocking). Provide either platforms (by name) or account_ids (resolved to platforms). Use this before social_api_create_post to catch issues early.
| Name | Type | Req | Description |
|---|---|---|---|
| account_ids | array | – | Connected account IDs — platforms are resolved from these. Provide either platforms or account_ids. |
| media_ids | array | – | Media IDs to validate (from social_api_get_media_upload_url) |
| platforms | array | – | Platform names to validate against (e.g. instagram, facebook). Provide either platforms or account_ids. |
| text | string | yes | Post text content to validate |
No output schema declared.
No examples provided.
social_api_verify_media_upload Verify Media Upload ~82
Confirm that a media file was successfully uploaded to the presigned URL. Call this after uploading the file via HTTP PUT to the URL from social_api_get_media_upload_url. Once verified, the media_id can be included in social_api_create_post's media_ids array.
| Name | Type | Req | Description |
|---|---|---|---|
| media_id | string | yes | Media ID returned by social_api_get_media_upload_url |
No output schema declared.
No examples provided.
What is the ai.social-api/socialapi MCP server?
ai.social-api/socialapi is an MCP server listed in the public MCP registry as ai.social-api/socialapi. MCP server for SocialAPI, manage social media comments, DMs, reviews, and mentions across platforms. This page covers its npm package (mcp-socialapi).
Is the ai.social-api/socialapi MCP server safe to use?
ai.social-api/socialapi scores 79 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. 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 ai.social-api/socialapi MCP server expose?
ai.social-api/socialapi exposes 75 tools: social_api_list_accounts, social_api_connect_account, social_api_exchange_oauth, social_api_disconnect_account, social_api_get_creator_info, and 70 more. Their descriptions and schemas cost roughly 7,864 tokens of context every time the server is loaded.
Is the ai.social-api/socialapi MCP server still maintained?
ai.social-api/socialapi 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.
What licence is the ai.social-api/socialapi MCP server under?
ai.social-api/socialapi declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.