Skip to main content
Glama
758,837 tools. Updated 2026-11-08 04:19

"A server for texting on social media" matching MCP tools:

  • Read live X/Twitter data: look up a single tweet or user profile, batch-read up to 100 tweets or users at once, check whether one account follows another, fetch trending topics by region, extract a long-form article, or download tweet media. Pay per call in USDC — no API key, no signup; failed calls are never charged. Guidance: resource=get-tweet|get-user (id), batch-tweets|batch-users (ids array, ≤100), check-follower (source+target usernames), trends (optional woeid/count), article (tweet id), followers-you-know (id + mandatory resultsLimit), download-media (id or ids ≤50 — returns media file URLs on THIS origin; links live 7 days). Fixed-price per call/id except followers-you-know which is per-result.
    ConnectorNo auth
  • Attach the owner's OWN media from the brand Library to a planned post, exactly as it is, replacing the post's media: one picture, up to 10 pictures as a carousel (in the order given), or one video. Ids come from list_brand_assets (uploads) or list_creations (finished creations). For a Video Studio film use attach_video_to_post; for a just-generated visual, attach_visual_to_post. A cover picture the post already has is kept (pass `keep_cover: false` to clear it). Free.
    Connector
    Destructive
    OAuth
  • Score landing-page copy for conversion: 0-100 with a 5-part breakdown (headline, value proposition, social proof, CTA, friction), the top 3 issues, and 3 quick-win rewrites. Use for a page's text. URLs are not fetched; paste the text. For social posts, use predict-viral-potential. Pay-per-call: $0.06 USDC on Base via x402. Without a payment-signature header the call returns an error whose data carries the payment terms.
    ConnectorNo auth
  • Draft a change to the link behind the listing's Book button. Links set by a booking provider cannot be changed here. Social media and Google links are refused because they are not booking pages. Creates a DRAFT only — nothing on Google changes. Show the owner the draft this returns, word for word, and publish it with publish_change only after they say yes.
    ConnectorNo auth
  • Returns all groups of the organization the user can access, ordered by name, each with the number of social accounts. Groups are workspaces (brands, clients, projects) that hold social accounts, posts and labels. Call it first to find group IDs for other tools. Use get_social_accounts with group_id to list the accounts of a group. A null approval_workflow means the group inherits the organization approval_workflow from get_organization, it does not mean no approval.
    ConnectorOAuth
  • Text-to-image generation with FLUX.1 schnell. Send a prompt, get a 1024x1024 JPEG back as base64 in a few seconds. Use for illustrations, thumbnails, mockups, avatars and social media images. Optional steps parameter (1-8, default 4) trades speed for detail. Example: prompt=a lighthouse on a cliff at sunset, watercolor. Price $0.03/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
    ConnectorNo auth

Matching MCP Servers

Matching MCP Connectors

  • Asks the user to attach a folder of THEIR OWN source footage to the project — opens a dialog in Frapea with a 'Connect folder' button. Only a human can do this (browser security gesture): tell the user IN YOUR REPLY to click it, then call await_user_action with the returned actionId; on 'granted', get_media will list the folder's files. Use when get_media comes back empty and the user has footage somewhere on their disk. NEVER call it for files YOU made or fetched. The project folder's `media/` folder is scanned: any media file placed there joins the pool by itself (within a second, or when the user returns to the tab), with no dialog. `reason` is shown in the dialog word for word — say which footage you need and what you will do with it, so the user knows what to pick.
    ConnectorNo auth
  • With post_id and remove: true, remove a finished or canceled post from Kuro's calendar and Needs attention only. Published social-media posts and analytics remain intact. Cancel scheduled posts first; sending posts cannot be removed until they finish. Removal cannot be combined with other edits. Create, edit or withdraw a post to the reader's connected social accounts. Without `post_id` it creates one from a ready image, clip or image set in the account (`generation_id`) or a verified upload (`upload_id`) — exactly one — with a `caption`, one target per account and the reader's IANA `timezone`; `title` is required when a target is YouTube. With `post_id` it edits that post — send only what changes — and with `post_id` and `cancel: true` it withdraws a draft or a scheduled post. Timing is one of three. `scheduled_for` (an ISO time, two minutes to ninety days ahead) schedules it. Neither `scheduled_for` nor `post_now` makes a DRAFT on create — nothing goes out, and the reader finds it in the calendar's drafts; on an edit it leaves the timing alone, and `draft: true` takes a scheduled post's time away. `post_now: true` sends it immediately and needs the social.publish_now permission, which a connection holds only when the reader granted it; use it only when the reader asked for the post to go out now. Draft and propose; schedule on the reader's go-ahead. A post to three accounts is ONE post with three targets. Each target carries that platform's `options` (start from the account's `last_options` in list_social_accounts, the reader's previous answers) and may carry its own `caption` when the platforms want different words. An edit's `targets` replaces the whole list. Accounts are connected only in the app, at /settings/social.
    Connector
    Destructive
    API key
  • Text-to-image generation with FLUX.1 schnell. Send a prompt, get a 1024x1024 JPEG back as base64 in a few seconds. Use for illustrations, thumbnails, mockups, avatars and social media images. Optional steps parameter (1-8, default 4) trades speed for detail. Example: prompt=a lighthouse on a cliff at sunset, watercolor. Price $0.03/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
    ConnectorNo auth
  • Text-to-image generation with FLUX.1 schnell. Send a prompt, get a 1024x1024 JPEG back as base64 in a few seconds. Use for illustrations, thumbnails, mockups, avatars and social media images. Optional steps parameter (1-8, default 4) trades speed for detail. Example: prompt=a lighthouse on a cliff at sunset, watercolor. Price $0.03/call via x402 USDC or a card key (/credits); failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.
    ConnectorNo auth
  • Create 1-12 new photo-post drafts in Soclo from supplied content: each a new draft id, an owned Library image assetId and its mediaUri, a caption and scheduledFor (kept only as a proposed time). Without confirm:true, previews and saves nothing; with confirm:true, saves the batch once and returns its receipt. Does not overwrite a draft, generate media or captions, schedule, publish or contact social accounts. Keep batchId, draftRevision and clientRequestId for soclo_posts_recover_drafts. Free; needs plan:create.
    ConnectorOAuth
  • Set what screens play by default until it is changed again. When to use: - Putting a playlist, schedule, app, media file or creative on one screen, a list, or every screen under a location. When NOT to use: - A takeover that ends by itself: use start_takeover. - Changing what a playlist contains: use update_items (every screen playing it follows). What to know: - Screens update within seconds. In a bulk call, screens the content is not shared to or whose location needs approval for it are skipped and counted (notShared, needsApproval); the rest change. Needs screen.cast. Parameters: - screenId, screenIds and nodeId (every screen at and under it, up to 1000): give at least one; they combine into one set. - contentKind: playlist, schedule, app, media or creative. null clears what plays and needs exactly one screen and no nodeId. - contentId: the playlist, schedule, app, media or creative id from list_items; omit only with contentKind null. - Example: {nodeId:"on_ca", contentKind:"playlist", contentId:"pl_spring"}.
    Connector
    Destructive
    OAuth
  • [writes flayr data · `write` scope] Step 1 of attaching a LOCAL file (video or image) to a draft. Returns a single-use, short-lived `uploadUrl`. Step 2: POST the raw file bytes to it with the file's Content-Type, e.g. `curl -X POST -H "Content-Type: video/mp4" --data-binary @clip.mp4 "<uploadUrl>"` — the JSON response has a `storageId`. Step 3: pass it as `videoStorageId` or `imageStorageId` on create_content or update_content. For media already on the web, skip this and pass `videoUrl` / `imageUrl` instead. Returns 413 when the account's storage is full. (Wraps POST /api/v2/media/upload-url.)
    ConnectorOAuth
  • Shows what Xyla would post for an online store, with no Xyla account. Give it the store's web address (Shopify or WooCommerce). Xyla reads the store's brand (logo, colours, niche) and makes 3 sample social media posts from the store's own product photos, with captions. Returns a preview token at once; the posts take about 3 minutes and the card shows them as they finish. A store previewed in the last 7 days gets its earlier samples back. When no card is shown, call preview_status with the token to follow it. A store that already uses Xyla gets a sign-in link instead.
    ConnectorNo auth
  • Delete a post, page or entry of any post type: into the trash by default, for good with force=true. Trashing also hides its comments; a trashed entry comes back when wp_update_post gives it a status. An entry already in the trash, a media file, and any entry on a site without a trash are refused without force=true, so a repeated call does not delete for good by itself. Deleting for good also removes its revisions, comments, custom fields and term assignments and cannot be undone. Needs the right to delete the entry. Returns {deleted: true, permanent, id}; an unknown id returns a not-found error. Media files are deleted with wp_delete_media. Forwarded by AlphaBridge Connect to the one site this connection reaches.
    Connector
    Destructive
    OAuth
  • Look up one social media placement by id and return its frame size, aspect ratio, first-party safe-area insets in px, usable box, and the official page the figures came from. Pass sourceWidth and sourceHeight together to also get the centre-crop and letterbox plan that fits your footage to this placement. Use this when you know the target placement; use list_social_media_placements to browse or compare, check_safe_area to test whether an element is clear of the platform UI, and calculate_aspect_ratio for a ratio that is not a platform placement. For TikTok the insets are null with a reason, because TikTok publishes no fixed safe area. Errors on an unknown id (the message lists valid ids) or on only one source dimension.
    ConnectorNo auth
  • Import a video made with Claude Motion into the user's Socialync media library so it can be posted. Use this when the user wants to post, schedule or send a Claude Motion video to Socialync. Call it promptly with the download URL Claude Motion provides (it expires within minutes). Returns a mediaId to pass to publish_scheduled or schedule_post_draft (video posts work on every platform, YouTube also needs a title). Importing does not publish anything. Schedule the video within 12 hours of importing: media that no post uses is cleaned up after that.
    ConnectorOAuth
  • List the DemandBird accounts (companies or billing accounts) the user belongs to: each one's id, name, the user's role on it, and which one is selected. Use select_account to switch. A connection made through the sign-in screen is locked to the account chosen there, and this says so instead of listing others. Not for clients inside an account (that is list_workspaces) or for social channels (that is list_connected_accounts).
    ConnectorOAuth
  • [write] Create a DRAFT post (not live, never auto-published) on one social account (`account_id` or `account_uuid`); the result carries the post's id and uuid. platform = ig|fb|tw|tt|yt|li|th|tg|bsky. caption fills the platform's text field (ig_post_caption, fb_post_message, tw_post_text, tt_post_title, yt_post_description, li_post_text, th_post_text). fields = the rest of the /api/<p>/posts/create body with prefixed keys, e.g. ig: {ig_post_type: SINGLE|CAROUSEL|REELS, ig_post_items: [{type: IMAGE|VIDEO, url}]}; fb: {fb_post_type, fb_post_items, fb_post_link}; tw: {tw_post_type: TEXT|IMAGE|VIDEO|POLL, tw_post_items}; tt: {tt_post_type: VIDEO|PHOTO, tt_post_items, tt_post_privacy_level}; yt: {yt_post_title, yt_post_privacy_status, yt_post_made_for_kids, yt_post_video_url}; li: {li_post_type: TEXT|IMAGE|VIDEO|ARTICLE, li_post_items, li_post_article_url}; th (Threads, caption up to 500 chars): {th_post_type: TEXT|IMAGE|VIDEO|CAROUSEL, th_post_items: [{type: IMAGE|VIDEO, url, alt_text?}] (one for IMAGE/VIDEO, 2-20 for CAROUSEL), th_post_reply_control: everyone|accounts_you_follow|mentioned_only, th_post_topic_tag, th_post_link_attachment (TEXT only)}; bsky (Bluesky, caption up to 300 chars, published at once unless scheduled with schedule_social_post): {bsky_post_type: TEXT|IMAGE, bsky_post_items: [{url, alt?}] (1-4 images for IMAGE), bsky_post_langs: ["tr"]}; tg (a Telegram user account posting to its own channels/groups): {tg_post_type: TEXT|PHOTO|VIDEO|ALBUM, tg_post_items, tg_post_target_ids: [tg_target_id, 1-10 ACTIVE targets that can_post]} - caption is the text (4096 for TEXT, 1024 under media). Media items are public urls. Schedule fields are ignored here - use schedule_social_post after approval.
    Connector
    Destructive
    API key
  • [write] Create a DRAFT post (not live, never auto-published) on one social account (`account_id` or `account_uuid`); the result carries the post's id and uuid. platform = ig|fb|tw|tt|yt|li|th|tg|bsky. caption fills the platform's text field (ig_post_caption, fb_post_message, tw_post_text, tt_post_title, yt_post_description, li_post_text, th_post_text). fields = the rest of the /api/<p>/posts/create body with prefixed keys, e.g. ig: {ig_post_type: SINGLE|CAROUSEL|REELS, ig_post_items: [{type: IMAGE|VIDEO, url}]}; fb: {fb_post_type, fb_post_items, fb_post_link}; tw: {tw_post_type: TEXT|IMAGE|VIDEO|POLL, tw_post_items}; tt: {tt_post_type: VIDEO|PHOTO, tt_post_items, tt_post_privacy_level}; yt: {yt_post_title, yt_post_privacy_status, yt_post_made_for_kids, yt_post_video_url}; li: {li_post_type: TEXT|IMAGE|VIDEO|ARTICLE, li_post_items, li_post_article_url}; th (Threads, caption up to 500 chars): {th_post_type: TEXT|IMAGE|VIDEO|CAROUSEL, th_post_items: [{type: IMAGE|VIDEO, url, alt_text?}] (one for IMAGE/VIDEO, 2-20 for CAROUSEL), th_post_reply_control: everyone|accounts_you_follow|mentioned_only, th_post_topic_tag, th_post_link_attachment (TEXT only)}; bsky (Bluesky, caption up to 300 chars, published at once unless scheduled with schedule_social_post): {bsky_post_type: TEXT|IMAGE, bsky_post_items: [{url, alt?}] (1-4 images for IMAGE), bsky_post_langs: ["tr"]}; tg (a Telegram user account posting to its own channels/groups): {tg_post_type: TEXT|PHOTO|VIDEO|ALBUM, tg_post_items, tg_post_target_ids: [tg_target_id, 1-10 ACTIVE targets that can_post]} - caption is the text (4096 for TEXT, 1024 under media). Media items are public urls. Schedule fields are ignored here - use schedule_social_post after approval.
    Connector
    Destructive
    API key
  • Sets or clears the media (image, video, or file) shown on a step. Pass an attachmentId from uploadMedia (target 'step') to set it — any existing media on the step is replaced — or attachmentId=null to remove the current media. A TriggeredEmail step shows no media and is rejected here. On a draft or scheduled beta project the change is applied immediately. On a running or paused beta project the change is STAGED: testers do not see it until commitTaskChanges publishes all staged changes (revertTaskChanges discards them; getBetaTasks with version 'unpublished' shows the staged state). While staging, these tools accept BOTH the live id and the staged id of a task or step, but always respond with the STAGED row — expect ids you did not pass in, with liveVersionId linking back to the live row. Content of finished or archived beta projects cannot be edited.
    ConnectorOAuth