Skip to main content

Enabled Tools (v1)

Mallary MCP currently exposes these tool names:
  • mallary_create_upload_url
  • mallary_create_post
  • mallary_get_job
  • mallary_attach_tiktok_post_url
  • mallary_list_posts
  • mallary_get_post
  • mallary_update_scheduled_post
  • mallary_list_comments
  • mallary_reply_to_comment
  • mallary_delete_post
  • mallary_get_analytics
  • mallary_get_audience
  • mallary_list_profiles
  • mallary_create_profile
  • mallary_rename_profile
  • mallary_list_platforms
  • mallary_disconnect_platform
  • mallary_get_settings
  • mallary_update_settings
  • mallary_list_webhooks
  • mallary_create_webhook
  • mallary_delete_webhook

Upload a Video with Standard MCP

The standard MCP endpoint at https://mallary.ai/mcp exposes mallary_create_upload_url for images and videos. It uses the same presigned upload flow as the REST API.
  1. Call mallary_create_upload_url with {"filename":"launch.mp4","type":"video/mp4"}.
  2. Send the video bytes to the returned uploadUrl with HTTP PUT. Use the returned headers without changing them.
  3. Wait for the upload to finish, then pass mediaUrl to mallary_create_post in media[].url.
Your MCP client must be able to read the file and send the HTTP PUT request. The upload tool returns a URL; it does not copy a local file by itself. Mallary’s current ChatGPT plugin uses a separate tool set and does not expose this flow.

ChatGPT Tool Set

The current public ChatGPT plugin connects through /mcp/openai. This smaller endpoint does not expose profile management, settings, webhooks, account disconnects, pending-post deletion, or scheduled-post editing. Its currently approved tool set includes:
  • mallary_upload_image
  • mallary_create_post
  • mallary_get_job
  • mallary_list_posts
  • mallary_list_comments
  • mallary_reply_to_comment
  • mallary_get_analytics
  • mallary_get_audience
  • mallary_list_profiles
  • mallary_list_platforms
mallary_upload_image accepts one image that the user chose or made in ChatGPT. Mallary checks the file bytes, accepts JPEG, PNG, WebP, or GIF images up to 25 MB, stores the image at files.mallary.ai, and returns the media_url used by mallary_create_post. Do not use the ChatGPT image tool for private customer files, health records, ID records, card details, passwords, API keys, or access tokens.

Tool Surface

These tools cover:
  • uploads
  • post creation
  • job lookup
  • TikTok final URL attachment
  • post listing
  • scheduled-post detail and editing
  • comment listing and supplied comment replies
  • post deletion
  • post analytics and account audience retrieval
  • profile listing
  • profile creation and rename
  • profile settings retrieval and update
  • connected platform listing
  • platform disconnects
  • webhook listing
  • webhook creation
  • webhook deletion

Connected Platforms

mallary_list_platforms returns Mallary’s supported public platform set and marks which of those platforms are currently connected for the authenticated account. The response includes:
  • platforms: every supported public platform with a connected boolean
  • connected: the connected subset
  • disconnected: the remaining supported platforms
  • counts: connected and supported totals
  • profiles, profile_id, default_profile_id, and limits for connection profile context

Connection profiles

MCP tools use the default Mallary profile unless you send profile_id. Use mallary_list_profiles to list each profile’s random public ID, then pass that string as profile_id when targeting a non-default profile. Use mallary_create_profile to create a new profile and mallary_rename_profile to rename an existing profile. mallary_get_audience returns the latest follower or subscriber count for every connected account in the selected profile. Mallary updates supported counts once every 24 hours. TikTok returns followers when the connection includes audience stats access. LinkedIn reports permission_required until Mallary adds the permission it needs. The following tools accept profile_id:
  • mallary_create_post
  • mallary_list_posts
  • mallary_update_scheduled_post (inside destinations when moving a post group)
  • mallary_list_comments
  • mallary_get_analytics
  • mallary_get_audience
  • mallary_list_platforms
  • mallary_get_settings
  • mallary_update_settings
  • mallary_disconnect_platform

Settings

mallary_get_settings reads profile settings, business profile fields, auto-reply status, warnings, and plan capabilities. mallary_update_settings updates only the fields you send. Supported fields include auto_reply_enabled, brand_profile, business_name, business_description, website_url, services, features, contact_info, pricing, and faq.

Comment Engagement

mallary_list_comments and mallary_reply_to_comment are available on all Mallary plans. Use mallary_list_comments with a Mallary post_id/job ID to read comments on a published post. Then you or your AI agent can write a reply and pass that exact text to mallary_reply_to_comment. Supported platforms are Facebook, Instagram, Threads, LinkedIn, X, YouTube, and Bluesky. The MCP tool does not generate the reply. If you want auto-generated replies, use the Mallary AI auto reply feature.

Scheduling

mallary_create_post uses the same scheduling contract as the Mallary API:
  • send an absolute scheduled_at like 2026-04-06T18:30:00Z
  • or send a local scheduled_at like 2026-04-06T14:30 together with scheduled_timezone: "America/New_York"
  • scheduled_timezone must be a valid IANA timezone

Edit a Scheduled Post

Use mallary_get_post with the stable numeric Mallary post ID from mallary_list_posts. It returns the saved content, schedule, destination accounts, editable status, and revision. Only a post group whose destinations have not started publishing can be edited. Use mallary_update_scheduled_post with that ID, expected_revision, and only the fields to change. You can edit the message, media, comments under the post, platform options, auto-reply setting, date, time, time zone, destination platforms, and connection profile. media, comments_under_post, and platform_options replace their saved values when supplied, so send the complete final value or leave the field out. If another edit or publishing starts first, the update returns a conflict. Read the post again before deciding what to do; do not repeat the old update automatically. One connection profile applies to the whole post group. To change its profile or platforms, send both destinations.profile_id and the complete final destinations.platforms list. Get the target profile ID from mallary_list_profiles, then check its accounts with mallary_list_platforms. Mallary validates every selected destination. A platform omitted from the final list is removed, so list every platform the user wants to keep. Leaving destinations out keeps the existing profile and platforms.
Use an empty media or comments_under_post array to clear those fields. Use platform_options: null to clear all platform overrides, or scheduled_timezone: null to clear the saved time zone when changing to an absolute scheduled time. Mallary checks account-specific options, such as a Pinterest board, against the final destination accounts. The ChatGPT tool accepts a strict set of platform option fields. If the saved post has an option that ChatGPT cannot send back, leave platform_options out to keep it. Use the dashboard or API if that option itself must change.

Publish Results

mallary_create_post returns Mallary job IDs immediately. After each platform finishes publishing, mallary_get_job and mallary_list_posts include platform_post_id and platform_post_url when the platform returns or exposes them.

Platform-specific options

mallary_create_post uses the same underlying post payload as the Mallary API, including platform_options for platform-specific behavior. For the exact supported platform_options fields and examples, use the API reference here: Platform options reference

Platform-specific media rules

mallary_create_post also uses the same platform media validation rules as the Mallary API. LinkedIn accepts one MP4 video up to 1 GB (1,073,741,824 bytes), from 3 seconds to 30 minutes long. Use mallary_create_upload_url to upload the video to Mallary, then pass the returned media URL to mallary_create_post with platforms: ["linkedin"]. No video-specific platform option is needed. Do not mix images and video. Examples:
  • Threads supports platform_options.threads.post_type with text, image, video, or carousel. Its media shapes are text-only, one image, one video, or a 2 to 20 item carousel.
  • Instagram Reels support platform_options.instagram.shareToFeed. It defaults to true; set it to false to keep the Reel off the profile feed.
  • Instagram Trial Reels support platform_options.instagram.trialParams.graduationStrategy. Use MANUAL or SS_PERFORMANCE. Do not send shareToFeed with trialParams.
  • Instagram feed posts, Reels, and carousels support platform_options.instagram.isPaidPartnership and up to two brandedContentSponsors. This needs an Instagram account connected through Facebook Login. Sponsors can be usernames or numeric Instagram user IDs.
  • YouTube requires exactly one video.
  • TikTok video posts require one video, and TikTok photo posts support up to 35 JPEG/WebP images.
  • TikTok uses DIRECT_POST by default. Use MEDIA_UPLOAD only when you want to finish the post in TikTok. Inbox uploads stay action_required until you add the final TikTok post URL.
  • Pinterest requires exactly one image or GIF, or exactly one video, plus boardId.
  • Reddit image posts require one image or GIF. The current public API path does not support Reddit video upload.
  • X allows up to 4 images, or 1 video, or 1 GIF.
For the full per-platform matrix and current runtime caveats, see: Platform-specific media rules

Video thumbnails

mallary_create_post accepts thumbnail_url on media items, using the same contract as the REST API:
The thumbnail URL must already point to https://files.mallary.ai/.... YouTube regular videos, Facebook feed videos, and Instagram videos/Reels can use custom thumbnails or covers. For a YouTube Short, YouTube may store the image but show a video frame instead. Mallary returns a warning when this happens. TikTok video posts use a frame from the video instead of a separate image. TikTok photo posts can use thumbnail_url only when it matches one of the supplied photo URLs, and that image becomes the photo cover. All media URLs used with mallary_create_post must point to https://files.mallary.ai/.... For another file, call mallary_create_upload_url, upload the file with the returned PUT URL, and then use the returned Mallary media URL. Mallary rejects outside media URLs because they may be private or expire before a post is published. For YouTube, set platform_options.youtube.playlist_id to add the new video to an existing playlist owned by the connected channel. Set platform_options.youtube.tags to a list of video tags. Each tag can use up to 100 characters, and the full tag list can use up to 500 characters after YouTube counts separators. Set platform_options.youtube.containsSyntheticMedia to true when the video contains realistic AI-generated or altered content that could look real.
Last modified on September 29, 2026