MCP Tools Reference
Posts
| Tool | Description |
|---|---|
posts_create | Creates a (parent) post with one or more social account (child) posts. |
posts_validate | Validates a post without creating one. This tool applies the same validation rules as posts_create, including social account resolution, platform-specific validation, and media validation for referenced media library items. |
posts_get | Returns one post with its social account posts inline. |
posts_delete | Deletes one scheduled post by post ID. |
social_account_posts_list | Returns standalone social account posts for the API key’s organization. |
social_account_posts_delete | Deletes one social account post by ID. |
Projects
| Tool | Description |
|---|---|
projects_create | Creates a project in the API key’s organization. |
projects_list | Returns projects that belong to the same organization as the API key. A project corresponds to a “Business Profile” in the UI. |
projects_delete | Permanently deletes one project and its related data, including connected social accounts, OAuth grants, media references, and posts. |
Social Accounts
| Tool | Description |
|---|---|
oauth_create_authorization | Generates a browser authorization URL for connecting a new social account to a project. Flow: 1. Call this tool with the projectId and target platform. Omit redirectUrl unless the user asks for one. 2. Give the returned url to the user and ask them to open it in their browser and complete the authorization. 3. Once the user says they are done, call social_accounts_list with the projectId to confirm the connected account. For Facebook, WoopSocial shows a page-selection screen after authorization. The selected pages are connected to the projectId. |
social_accounts_list | Returns social accounts that can currently be used for publishing. |
social_accounts_delete | Deletes one social account connection by ID. |
social_accounts_get_platform_inputs | Returns platform-specific input options for a connected social account. |
Media
| Tool | Description |
|---|---|
media_list | Returns media library items that belong to the API key’s organization. |
media_delete | Deletes one media item by ID. |
media_uploads_create_session | This endpoint can be used to upload both smaller and larger files (up to 5GB) in a chunked manner. Calling this creates an upload session and returns presigned URLs for uploading the file in parts. Upload the file in partCount parts by sending an HTTP PUT with the raw bytes of each part to the matching parts[n].uploadUrl. Every part except the last must be exactly partSizeInBytes bytes. The last part may be smaller. After all parts have been uploaded, call media_uploads_complete_session to finalize the upload and create the media item. The presigned URLs expire at expiresAt. Uploading the parts requires making HTTP requests yourself (for example with curl in a shell or code execution tool). If you cannot make HTTP requests, tell the user the upload is not possible from this client. The presigned URLs are hosted on Cloudflare R2 (<account-id>.r2.cloudflarestorage.com). If a network allowlist blocks the PUT, ask the user to allow *.r2.cloudflarestorage.com: - claude.ai / Claude Desktop chat: Settings > Capabilities, in the code execution network settings. - Claude Code: the sandbox’s allowed network domains in settings.json. |
media_uploads_get_session | Get media upload session status |
media_uploads_complete_session | Completes the upload session started by media_uploads_create_session. |
Webhooks
| Tool | Description |
|---|---|
webhooks_create_endpoint | Registers a URL to receive webhook events for the specified event types. |
webhooks_list_endpoints | Returns all registered webhook endpoints for the organization. The signingSecret field is omitted. |
webhooks_delete_endpoint | Delete webhook endpoint |
Health
| Tool | Description |
|---|---|
health_get | Returns a minimal response proving the WoopSocial API is reachable. |