MCP App Store
by KeenEthics

Overview

ViewsMax helps users manage social media publishing from ChatGPT. Users can list connected accounts and brands, check platform requirements, upload media, create drafts or scheduled posts, update post settings, and review upcoming posts.

Tools

add_outlier_channel

ChatGPT
Add a creator's channel to the outlier database from a profile URL or @handle (YouTube, TikTok, Instagram) and pull in their 10 most recent videos, scored against that channel's own median. Also adds the channel to the user's competitor list. Not for video links — use fetch_outlier for those. Returns status: done with the channel when it was pulled in the last 24 hours; otherwise queued: true with an ingest_id — poll get_outlier_channel_ingest until done, then list_outliers with channels: [channel.id] (and duration_type: shorts for TikTok/Instagram) to see the videos. No AI breakdowns are generated.

create_feature_request

ChatGPT
Submit a feature request to the ViewsMax team on the user's behalf. Don't use this for plan, billing, or purchase requests; tell the user to manage their plan in the ViewsMax app instead. Each call submits a new request, so don't repeat a call that already succeeded.

create_offer

ChatGPT
Create an offer (a promotion to track). Requires offer_url; optional name and goals (conversion events with a conversion_url and value). Subject to the user's plan offer limit. Each call creates a new offer, so don't repeat a call that already succeeded.

create_post

ChatGPT
Compose a social post for one or more platforms (tiktok, youtube, x, linkedin, threads, instagram, bluesky). Target either platforms[] or brand_id (from list_brands, posts to every connected account in the brand) — not both. status "draft" (default) saves without publishing, "posted" publishes immediately, "scheduled" publishes at scheduled_at. TikTok takes a video (with a url) or a photo slideshow (one or more image urls); YouTube requires a video with a path — both come from upload_media. Instagram needs an image or video url. TikTok photo slideshows accept options.tiktok.auto_add_music (boolean, default false) to let TikTok auto-add its recommended background music; there is no music option for video posts or for Instagram. Publishing/scheduling to TikTok requires options.tiktok.privacy_level (one of PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR, SELF_ONLY) — there is no default; branded_content cannot be SELF_ONLY. Ask the user which TikTok privacy_level to use and wait for their answer; never choose it for them. Ask the user which YouTube privacy_status to use (public, unlisted, or private) and wait for their answer; without it the video is public. Caption character limits: tiktok: 2200, youtube: 5000, x: 280, linkedin: 3000, threads: 500, instagram: 2200, bluesky: 300. Publishing is asynchronous: check per-platform results with get_post. Each call creates a new post, so don't repeat a call that already succeeded.

delete_offer

ChatGPT
Delete an offer and stop tracking it.

delete_post

ChatGPT
Delete a post and its platform targets. Does not remove content already published to the platforms.

disconnect_account

ChatGPT
Disconnect a social account by platform (e.g. x, youtube, tiktok). Fully disconnects it — nothing is left half-connected — and any pending posts targeting that platform will fail to publish.

fetch_outlier

ChatGPT
Pull a specific video into the outlier database from its URL so it can be analysed (get_outlier, generate_outlier_breakdown, save_outlier). If the video is already known it is returned immediately; otherwise ingestion is queued (queued: true) — poll get_outlier with the returned platform + video_id.

generate_outlier_breakdown

ChatGPT
Queue an AI breakdown of an outlier video (transcript + analysis of the hook, structure and why it over-performed). Generation runs in the background and takes up to a couple of minutes — poll get_outlier_breakdown until status is completed. Re-running for a video that already has a breakdown returns the existing one instead of regenerating.

get_connect_url

ChatGPT
Get the URL of the ViewsMax Connections page where the user can connect a social platform. The user must open the page in a browser and click Connect there — the OAuth approval happens on that page and cannot be completed inside this conversation.

get_offer

ChatGPT
Fetch one offer by id, with its tracking links and goals.

get_offer_stats

ChatGPT
Aggregated analytics across the user's offers: video views, clicks, calls booked, email signups, and sales revenue. Optional from/to window.

get_outlier

ChatGPT
Fetch one outlier video by platform + video id (as returned by list_outliers or fetch_outlier), including its channel, views, outlier score and engagement.

get_outlier_breakdown

ChatGPT
Read the AI breakdown of an outlier video (hook, structure, why it worked, how to replicate it). status is none (never generated — call generate_outlier_breakdown), pending/processing (poll again), completed (payload holds the analysis) or failed (error).

get_outlier_channel_ingest

ChatGPT
Poll a channel add started by add_outlier_channel. status is queued, processing, done (then channel is set and videos_added says how many videos landed — use channel.id in list_outliers channels), or failed (then error explains why). Pulls take ~10-60 seconds; poll every 5-10 seconds.

get_post

ChatGPT
Fetch one post by id, including each platform target's publish status (pending, publishing, published, failed) and error message.

get_stats_timeseries

ChatGPT
Daily time-series of clicks and attributed revenue (one bucket per day, gaps zero-filled). Defaults to the last 28 days; filter with from/to and optionally a single offer via event_id.

list_brands

ChatGPT
List the user's brands — named groups of connected accounts (e.g. a brand holding a TikTok, an X and a YouTube account). Pass a brand id to create_post as brand_id to post to every connected account in the brand at once. Accounts with a status other than "connected" are skipped when posting.

list_connected_accounts

ChatGPT
List every social account the user has connected, plus a Beehiiv newsletter connection if there is one — a platform can appear more than once when several accounts are connected on it. Each entry carries social_account_id or connection_id (matching list_brands) plus its store. Posts can only publish to connected platforms; use get_connect_url for anything missing. Beehiiv is connected via an API key on the Connections page, not get_connect_url, and is used for newsletter reach, not posting.

list_offers

ChatGPT
List the user's offers (tracked promotions) with their tracking links, goals, and per-offer click/conversion stats. Optional from/to date filter. Returns one page at a time (25 by default); when has_more is true, ask for the next page.

list_outliers

ChatGPT
Browse outlier videos — content that massively over-performed its channel's average (outlier_score = views ÷ channel average views) across YouTube, TikTok and Instagram. Without query this is the curated/featured feed; with query it returns title matches already in the database. If the response status is "queued" or "in_progress" no scrape has finished for that query yet — call search_outliers to start one, then re-run this tool. Filter by platform, score, views, subscribers, publish date, duration (long/shorts), channel ids or ISO country codes. Paginated (per_page ≤ 50).

list_posts

ChatGPT
List the user's posts, newest first, with per-platform publish status. Filter by status (draft, scheduled, posted) and/or a scheduled_at date window (from/to, ISO-8601). Returns one page at a time (25 by default); when has_more is true, ask for the next page.

list_saved_outliers

ChatGPT
The user's saved-outliers library (videos they bookmarked with save_outlier), newest first, with tags and the video snapshot taken when saved. Filter by a title/channel query, tag names, platforms, or creator name. Returns one page at a time (25 by default); when has_more is true, ask for the next page.

remove_saved_outlier

ChatGPT
Remove a saved video from the user's outlier library by its saved id (from list_saved_outliers / save_outlier). The video itself stays in the outlier database.

save_outlier

ChatGPT
Bookmark an outlier video into the user's library, optionally with tags (created on demand). Saving the same video again replaces its tags. The video must already be in the outlier database (list_outliers / fetch_outlier).

search_outliers

ChatGPT
Start a background YouTube search (YouTube Data API) for outlier videos matching a keyword/topic. Returns immediately with status "queued"; results land in the shared outlier database over the next minute or two — poll list_outliers with the same query until its status is "done". Use exact_match to require the whole phrase. This search covers YouTube only: for TikTok and Instagram, add a single video by its link with fetch_outlier, or add a creator's channel with add_outlier_channel to pull in their recent videos.

update_offer

ChatGPT
Update an offer's name, offer_url, goals, or links.

update_post

ChatGPT
Edit a draft or scheduled post: caption, media, platforms, schedule, or status. Setting status to "posted" publishes immediately. Posts that have already been published cannot be edited. Ask the user which TikTok privacy_level to use and wait for their answer; never choose it for them. Ask the user which YouTube privacy_status to use (public, unlisted, or private) and wait for their answer; without it the video is public. Caption character limits: tiktok: 2200, youtube: 5000, x: 280, linkedin: 3000, threads: 500, instagram: 2200, bluesky: 300.

upload_media

ChatGPT
Download a file from a URL and host it on ViewsMax storage for use in posts. Returns a media entry ({type, url, path}) to pass to create_post. Supports jpeg/png/webp/gif images and mp4/mov video. Each call stores a new copy of the file, so don't repeat a call that already succeeded.

add_outlier_channel

Claude

create_feature_request

Claude

create_offer

Claude

create_post

Claude

delete_offer

Claude

delete_post

Claude

disconnect_account

Claude

fetch_outlier

Claude

generate_outlier_breakdown

Claude

get_connect_url

Claude

get_offer

Claude

get_offer_stats

Claude

get_outlier

Claude

get_outlier_breakdown

Claude

get_outlier_channel_ingest

Claude

get_post

Claude

get_stats_timeseries

Claude

list_brands

Claude

list_connected_accounts

Claude

list_offers

Claude

list_outliers

Claude

list_posts

Claude

list_saved_outliers

Claude

remove_saved_outlier

Claude

save_outlier

Claude

search_outliers

Claude

update_offer

Claude

update_post

Claude

upload_media

Claude

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

App Stats

60

Tools

3

Prompts

ChatGPT, Claude

Platforms

Works with

ChatGPT
Claude

Data refreshed daily