Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

XCut AI – Viral Content Research

REMOTE · MCP.XCUT.AI

Find viral posts, outliers, hooks and ads on Instagram, TikTok, YouTube and Facebook, then write.

Available components

+4 this week 72 Trust /100

Last scanned (14 hours ago)

Scores higher than 63% of remote servers

Reachable. Last reached 18 Oct 2026.

Category Marketing and SEO

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability83
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 5957 tokens (~152/item across 39 items; 39 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 Management27
  • Stability observed for 8 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 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 40 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Changelog

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.

  • 18 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 15 Oct 26 +1
    • Tool “xcut_find_outliers” rewrote its description, which is the text the model reads security
    • Tool “xcut_generate_image” rewrote its description, which is the text the model reads security
    • Tool “xcut_get_playbook” rewrote its description, which is the text the model reads security
    • Tool “xcut_import_meta_ad” rewrote its description, which is the text the model reads security
    • Tool “xcut_import_post” rewrote its description, which is the text the model reads security
    • Tool “xcut_import_profile” rewrote its description, which is the text the model reads security
    • Tool “xcut_import_website” rewrote its description, which is the text the model reads security
    • Tool “xcut_run_playbook” rewrote its description, which is the text the model reads security
    • Tool “xcut_scan_watchlist” rewrote its description, which is the text the model reads security
    • Tool “xcut_search_viral” rewrote its description, which is the text the model reads security
    • Tool “xcut_write_content” rewrote its description, which is the text the model reads security
  • 13 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

  • 12 Oct 26 +1
    • Stability: unverified → 0.07 ▲ functional
  • 10 Oct 26 68

    First indexed and scored.

Diagnostics

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 18 Oct 2026 · Probed https://mcp.xcut.ai/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=mcp.xcut.ai CN=YE2,O=Let's Encrypt,C=US 7 Oct 2026 5 Jan 2027 ECDSA 256 ECDSA-SHA384 5f2d3da55f8fe06fb2c3409c1ed699ce620
SANs: mcp.xcut.ai
CN=YE2,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 4df3b15dd6c0784c507cd37b58e6f115
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of mcp.xcut.ai. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
ai. present 3799 8 Verified
xcut.ai. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000
x-content-type-options nosniff
referrer-policy no-referrer

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.xcut.ai/mcp Verified 200
http (plaintext) http://mcp.xcut.ai/mcp HTTPS enforced 301 https://mcp.xcut.ai/mcp
MCP tools · 39 exposed · ~5,743 tokens

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 →

Tool Tokens
xcut_add_note ~135

Use this when the user wants a script, hook list, plan or other text saved to XcutAI. Accepts Markdown; with no canvas named it goes to the user's "From AI apps" canvas. Free. Do not use for calendar posts (use xcut_add_to_calendar).

NameTypeReqDescription
canvas_id––Optional. Leave it out unless the user names a canvas: XcutAI then uses their "From AI apps" canvas. Ids come from xcut_list_canvases.
textstringyesMarkdown text.
title––Optional note title, e.g. "Week 1 scripts".

No output schema declared.

No examples provided.

xcut_add_to_calendar ~240

Use this when the user wants a planned post saved to their XcutAI content calendar: title, platform, type, date, and optionally caption and hashtags. Saved as a draft unless a status is given. Free. Do not use to publish: XcutAI never posts to social media.

NameTypeReqDescription
canvas_id––Canvas (UUID) the post belongs to. Optional.
caption––Full caption or script text, if written.
hashtags––Hashtags without spaces, e.g. ["#skincare", "#retinol"]. Up to 30.
platformstringyesWhere it will be posted: instagram, facebook, tiktok, youtube or meta (Meta ads).
post_typestring–Format: post, image, video, carousel, reel, story, idea, script or ad. Default post.
scheduled_atstringyesISO date or date-time.
statusstring–draft, in_review, approved, scheduled or published. Default draft. Setting it never publishes anything.
titlestringyesShort working title, e.g. "3 myths about retinol".

No output schema declared.

No examples provided.

xcut_analyze_script ~95

Use this when the user wants a script scored on its hook, pacing, retention risk and CTA. Free; no sign-in. Output is generic: for work based on the user's own posts, canvases or brand, use the signed-in XcutAI tools. Do not use for writing unrelated to social media or marketing content.

NameTypeReqDescription
scriptstringyesThe full script to score (at least 50 characters).

No output schema declared.

No examples provided.

xcut_audit_content ~127

Use this when the user wants a consistency check across 3 to 10 of their past titles or captions. Free; no sign-in. Output is generic: for work based on the user's own posts, canvases or brand, use the signed-in XcutAI tools. Do not use for writing unrelated to social media or marketing content.

NameTypeReqDescription
platformstring–Platform they were posted on, e.g. "instagram"; "general" if mixed.
titles_or_captionsarrayyes3 to 10 past titles or captions, one per item.

No output schema declared.

No examples provided.

xcut_check_niche ~94

Use this when the user wants to know whether a niche is viable before committing to it. Free; no sign-in. Output is generic: for work based on the user's own posts, canvases or brand, use the signed-in XcutAI tools. Do not use for writing unrelated to social media or marketing content.

NameTypeReqDescription
niche_descriptionstringyesThe niche to check, described in a sentence or two.

No output schema declared.

No examples provided.

xcut_competitor_gaps ~103

Use this when the user wants content gaps versus named competitors in their niche. Free; no sign-in. Output is generic: for work based on the user's own posts, canvases or brand, use the signed-in XcutAI tools. Do not use for writing unrelated to social media or marketing content.

NameTypeReqDescription
competitor_namesarrayyes1 to 5 competitor names or handles.
nichestringyesThe niche to compare in.

No output schema declared.

No examples provided.

xcut_create_canvas ~83

Use this when the user asks for a new, separate XcutAI canvas for a project, client or campaign. Returns its id. Free. Do not use just to import or write: those tools pick a canvas automatically.

NameTypeReqDescription
namestringyesName for the new canvas, e.g. "Q4 launch" or "Client: Glow Skincare".

No output schema declared.

No examples provided.

xcut_delete_calendar_post ~70

Use this when the user explicitly asks to remove a post from their XcutAI content calendar. Do not use to reschedule or edit (use xcut_update_calendar_post).

NameTypeReqDescription
post_idstringyesId (UUID) of the calendar post to remove, from xcut_list_calendar.

No output schema declared.

No examples provided.

xcut_delete_memory ~95

Use this when the user asks to remove a saved brand memory fact from XcutAI. Needs the fact's id from xcut_get_brand. Do not use to change a fact (use xcut_update_memory).

NameTypeReqDescription
canvas_idstringyesCanvas id (a UUID) from xcut_list_canvases.
memory_idstringyesId of the memory fact to remove, from xcut_get_brand.

No output schema declared.

No examples provided.

xcut_find_hooks ~173

Use this when the user wants hooks, opening lines or first sentences for a post, Reel, TikTok, Short, YouTube video or ad. Returns proven hook templates matched to the topic, from XcutAI's library of about 1,000 hooks taken from posts that performed, each with slots for the user's subject. The library and topic search are in English. Free; no sign-in. Do not use for formats, script structures or platform facts (use xcut_get_playbook) or for a finished caption (use xcut_write_caption).

NameTypeReqDescription
category––Optional hook family to restrict to.
limitinteger–How many templates (default 8).
topicstringyesWhat the post is about, in English. e.g. 'pricing mistakes for small bakeries'

No output schema declared.

No examples provided.

xcut_find_outliers ~217

Use this when the user asks which of a creator's, competitor's or their own posts performed best or beat the account's normal, or what works for an account before writing. Scores the latest 20, 30, 50 or 100 posts against that account's own median and says by how much each beat it. About 1-2 credits for 30 posts. Longer runs return a `job_id` for xcut_get_job. Do not use for a full metrics table (use xcut_profile_analytics) or for a topic across many accounts (use xcut_search_viral).

NameTypeReqDescription
canvas_id––Canvas (UUID) that owns the thumbnails. Optional. The results are returned here, not placed on the canvas.
platformstringyesinstagram, tiktok, youtube or facebook.
postsinteger–How many recent posts to analyse: 20, 30, 50 or 100. Default 30.
profilestringyesProfile link or @handle.

No output schema declared.

No examples provided.

xcut_generate_image ~187

Use this when the user wants a social media image made or edited: post graphic, carousel slide, thumbnail or ad visual, from a prompt and optional reference image links. Needs the Starter plan or higher; about 14 credits per image. Do not use for images unrelated to the user's content or marketing.

NameTypeReqDescription
aspect_ratiostring–1:1, 4:5, 9:16, 16:9, 3:4 or 4:3. Default 1:1 (use 4:5 for Instagram feed, 9:16 for Reels and Stories).
promptstringyesWhat to make or change, e.g. "bold carousel cover: '3 retinol myths', pink gradient, large serif headline".
reference_image_urls––Up to 5 public https image links to guide style or to edit.

No output schema declared.

No examples provided.

xcut_get_account ~67

Use this when the user asks about their XcutAI plan, credit balance, monthly allowance, next refill date or trial, or before starting an import or analysis that costs credits. Free. Do not use for usage history (that is in XcutAI Settings, not available here).

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

xcut_get_brand ~116

Use this when you are about to write for the user's brand and need its voice, niche, audience and offer, or the user asks what XcutAI knows about their brand. Returns the canvas's brand profile and saved memory facts with ids. Free. Do not use for public creators the user does not own (use xcut_find_outliers or xcut_search_viral).

NameTypeReqDescription
canvas_idstringyesCanvas id (a UUID) from xcut_list_canvases. The brand attached to this canvas is returned.

No output schema declared.

No examples provided.

xcut_get_breakouts ~96

Use this when the user asks what is breaking out or trending in their own niche right now: XcutAI's breakout alerts from the accounts on their watchlist, plus trending keywords, from the last scan. Free. Do not use for a topic or creator outside their watchlist (use xcut_search_viral).

NameTypeReqDescription
limitinteger–Most breakout alerts to return, 1-50. Default 20.

No output schema declared.

No examples provided.

xcut_get_canvas ~164

Use this when the user asks what is on one of their XcutAI canvases: its items (imported posts, notes, chats, groups, Meta ads, analytics tables, websites, media) with ids, counts by type and short previews. Filter with `item_type`; paginate with `offset`. Free. Do not use to read an item in full (use xcut_get_content).

NameTypeReqDescription
canvas_idstringyesCanvas id (a UUID) from xcut_list_canvases.
item_type––Only list this kind of item.
limitinteger–Most items to return, 1-100. Default 50.
offsetinteger–Items to skip, for paging through a large canvas. Default 0.

No output schema declared.

No examples provided.

xcut_get_content ~158

Use this when you need the full content of an item on the user's XcutAI canvas, by canvas id and item id (from xcut_get_canvas): a post or video's transcript and stats, a note, a chat's messages (paginate with `before`), a website's text, an analytics table, a Meta ad, or a group's contents. Free. Do not use to list a canvas (use xcut_get_canvas).

NameTypeReqDescription
before––Chats only: message id to page back from.
canvas_idstringyesCanvas id (a UUID) from xcut_list_canvases.
item_idstringyesItem id from xcut_get_canvas, or the `item_id` an import returned.

No output schema declared.

No examples provided.

xcut_get_job ~94

Use this when another XcutAI tool returned a `job_id`: it returns status `running` with a suggested wait, or the finished result (outlier analysis, profile analytics, imports with their transcript, agent replies). Free. Do not use without a `job_id` from an XcutAI tool.

NameTypeReqDescription
job_idstringyesThe `job_id` an XcutAI tool returned, unchanged.

No output schema declared.

No examples provided.

xcut_get_playbook ~201

Use this when the user asks how to structure a Reel, TikTok, Short, YouTube video, carousel, caption, content plan, offer or ad, or how a platform's algorithm, hashtags or profile setup work. Call it before writing so the answer follows formats that performed. Returns a short summary of each matching video format, storytelling or retention principle, hook family, paid-ad framework or platform fact. Free; no sign-in. Describe the goal in plain English with platform and format. Do not use for hook templates (use xcut_find_hooks).

NameTypeReqDescription
goalstringyesWhat is being made or decided, in English, with platform and format. e.g. 'instagram carousel that gets saved', 'tutorial reel structure', 'how many hashtags on instagram'
kind––Optional: structure (formats), principle, hook_type, ad_framework or platform_fact.
limitinteger–How many entries (default 3).

No output schema declared.

No examples provided.

xcut_hook_ideas ~143

Use this when the user wants 10 new hook variations written for their niche and topic on YouTube, TikTok or Instagram. For proven hook templates from posts that performed, use xcut_find_hooks. Free; no sign-in. Output is generic: for work based on the user's own posts, canvases or brand, use the signed-in XcutAI tools. Do not use for writing unrelated to social media or marketing content.

NameTypeReqDescription
nichestringyesThe creator's niche, e.g. "fitness for busy moms".
platformstringyesWhere the hooks will be used.
topicstringyesWhat the post is about.

No output schema declared.

No examples provided.

xcut_import_meta_ad ~146

Use this when the user shares a Meta Ad Library link (facebook.com/ads/library) and wants the ad's copy, media and video transcript to study or remix. Holds up to 18 credits and charges the real cost. May return a `job_id` for xcut_get_job. Do not use for organic Facebook posts (use xcut_import_post).

NameTypeReqDescription
canvas_id––Optional. Leave it out unless the user names a canvas: XcutAI then uses their "From AI apps" canvas. Ids come from xcut_list_canvases.
urlstringyesMeta Ad Library link (facebook.com/ads/library/?id=…).

No output schema declared.

No examples provided.

xcut_import_post ~197

Use this when the user shares an Instagram, TikTok, YouTube or Facebook post or video link and wants its transcript, a breakdown of why it worked, or their own version of it. XcutAI transcribes the video and reads the caption, visuals and stats. Don't ask which canvas: with none named it goes to the user's "From AI apps" canvas. A fraction of a credit plus transcription (1-2 credits for a short video). Returns a `job_id`; xcut_get_job returns the transcript when done. Do not use for website links (use xcut_import_website) or Meta Ad Library links (use xcut_import_meta_ad).

NameTypeReqDescription
canvas_id––Optional. Leave it out unless the user names a canvas: XcutAI then uses their "From AI apps" canvas. Ids come from xcut_list_canvases.
urlstringyesPost or video link.

No output schema declared.

No examples provided.

xcut_import_profile ~174

Use this when the user wants to study a creator's or brand's recent posts in depth (Instagram, TikTok, YouTube or Facebook): it adds them to a canvas as a group and transcribes and analyses each. About 1-15 credits plus transcription. Returns a `job_id` while the profile is read. Do not use just to rank posts (use xcut_find_outliers).

NameTypeReqDescription
canvas_id––Optional. Leave it out unless the user names a canvas: XcutAI then uses their "From AI apps" canvas. Ids come from xcut_list_canvases.
platformstringyesinstagram, tiktok, youtube or facebook.
postsinteger–How many recent posts (default 6).
profilestringyesProfile link or @handle.

No output schema declared.

No examples provided.

xcut_import_website ~129

Use this when the user shares a web page (product page, landing page, article) to use as context for writing their content. XcutAI reads the page and stores its text on a canvas. Up to about 3 credits. Returns a short preview. Do not use for social media post links (use xcut_import_post).

NameTypeReqDescription
canvas_id––Optional. Leave it out unless the user names a canvas: XcutAI then uses their "From AI apps" canvas. Ids come from xcut_list_canvases.
urlstringyesPage link.

No output schema declared.

No examples provided.

xcut_list_calendar ~151

Use this when the user asks what content is planned or scheduled: posts on their XcutAI content calendar between two dates, optionally for one canvas, with status (draft, in review, approved, scheduled, published). Free. Do not use for posts already live on social media (use xcut_profile_analytics).

NameTypeReqDescription
canvas_id––Only posts planned for this canvas (UUID). Omit for all canvases.
end––ISO date, e.g. 2026-10-31.
limitinteger–Most posts to return, 1-200. Default 60.
start––ISO date, e.g. 2026-10-01.

No output schema declared.

No examples provided.

xcut_list_canvases ~113

Use this when you need a canvas id or the user asks what XcutAI canvases (projects) they have, including ones shared with them, newest first. Free. Do not call it just to import a post or write: those tools use the user's "From AI apps" canvas when no canvas is named.

NameTypeReqDescription
include_sharedboolean–Also list canvases shared with the user.
limitinteger–Most canvases to return, 1-100. Default 30.

No output schema declared.

No examples provided.

xcut_posting_plan ~165

Use this when the user wants a posting plan drafted from a niche, posting frequency and content pillars. It is a text plan only; to put posts on the user's XcutAI calendar use xcut_add_to_calendar. Free; no sign-in. Output is generic: for work based on the user's own posts, canvases or brand, use the signed-in XcutAI tools. Do not use for writing unrelated to social media or marketing content.

NameTypeReqDescription
content_pillarsarrayyes1 to 5 themes the account posts about.
nichestringyesThe creator's niche.
platformstringyesWhich platform the plan is for.
posting_frequencystringyese.g. '3x/week', '1x/day'

No output schema declared.

No examples provided.

xcut_profile_analytics ~179

Use this when the user wants an account's per-post metrics (views, likes, comments, shares, engagement) over the last N posts or days, for a performance review or to compare accounts on Instagram, TikTok, YouTube or Facebook. Credit cost depends on platform and post count. Longer runs return a `job_id` for xcut_get_job. Do not use to find standout posts (use xcut_find_outliers).

NameTypeReqDescription
canvas_id––Canvas (UUID) that owns the thumbnails. Optional. The table is returned here, not placed on the canvas.
days––Or: posts from the last N days.
platformstringyesinstagram, tiktok, youtube or facebook.
posts––Last N posts (default 20).
profilestringyesProfile link or @handle.

No output schema declared.

No examples provided.

xcut_repurpose_content ~111

Use this when the user wants one piece of content turned into TikTok, Reel, LinkedIn, X and email angles. Free; no sign-in. Output is generic: for work based on the user's own posts, canvases or brand, use the signed-in XcutAI tools. Do not use for writing unrelated to social media or marketing content.

NameTypeReqDescription
description––What the piece covers, optional but gives better angles.
titlestringyesTitle of the piece to repurpose.

No output schema declared.

No examples provided.

xcut_rewrite_bio ~126

Use this when the user wants their profile bio rewritten for Instagram, YouTube, TikTok, X or LinkedIn. Free; no sign-in. Output is generic: for work based on the user's own posts, canvases or brand, use the signed-in XcutAI tools. Do not use for writing unrelated to social media or marketing content.

NameTypeReqDescription
current_biostringyesThe bio as it reads today.
niche––The creator's niche, if not obvious from the bio.
platformstringyesWhich profile the bio is for.

No output schema declared.

No examples provided.

xcut_run_playbook ~247

Use this when the user wants a ready-made content deliverable from what is on their canvas: a month or week content plan, 25 hooks, 3 scripts, breakout remix, competitor teardown or benchmark, prospect audit, ad-angle gap map, ad creatives, carousel or thumbnail concepts. Token-billed (a month plan is roughly 60-90 credits). Longer runs return a `job_id`. Do not use for a single custom request (use xcut_write_content).

NameTypeReqDescription
canvas_id––Optional. Leave it out unless the user names a canvas: XcutAI then uses their "From AI apps" canvas, where imports also land. Ids come from xcut_list_canvases.
days––Plan length, for month/week plans.
notes––Extra instructions from the user.
platform––The platform to write for, when the playbook follows one.
playbookstringyesmonth or week (content plan), hooks (25 hooks), scripts (3 scripts), remix (breakout remix), teardown, benchmark, audit (prospect audit), angles (ad-angle gap map), adcreatives, carousel or thumbnail…

No output schema declared.

No examples provided.

xcut_save_memory ~146

Use this when the user states a lasting fact about their brand (voice, audience, offer, constraint, posting schedule) so every XcutAI agent uses it from now on. Adds a new fact; never changes or removes one. Free. Do not use to change an existing fact (use xcut_update_memory) or for one-off instructions that apply only to the current request.

NameTypeReqDescription
canvas_idstringyesCanvas id (a UUID) from xcut_list_canvases. The fact is saved to this canvas's brand.
categorystring–What kind of fact it is.
textstringyesThe fact, in one or two sentences.

No output schema declared.

No examples provided.

xcut_scan_watchlist ~100

Use this when the user wants fresh breakouts now instead of waiting for the daily scan. Rescans the accounts on their XcutAI watchlist; allowed once an hour; about 1 credit or less. Set `estimate` to true to get the cost without scanning. Do not use to read the latest results (use xcut_get_breakouts).

NameTypeReqDescription
estimateboolean–true returns the credit cost without scanning. Default false.

No output schema declared.

No examples provided.

xcut_search_viral ~248

Use this when the user asks what is going viral, trending or performing right now on Instagram, TikTok, YouTube or Facebook for a topic or niche, what a creator posts that works, or what ads run in the Meta Ad Library. `mode` is keyword (a topic) or profile (an account). Returns posts with views, engagement, links and captions, plus `next_cursor` for more. A fraction of a credit per page (cached pages free). Do not use for general web or news search, or for one profile's outliers versus its own normal (use xcut_find_outliers).

NameTypeReqDescription
cursor––next_cursor from the previous page.
limitinteger–Posts per page, 1-30. Default 15.
modestring–keyword to search a topic (e.g. "meal prep"), or profile to see an account's top posts (query = @handle). Default keyword. Facebook supports profile only.
platformstringyesinstagram, tiktok, youtube, facebook, or meta_ads for the Meta Ad Library.
querystringyesA topic, or a handle when mode is profile.

No output schema declared.

No examples provided.

xcut_update_calendar_post ~214

Use this when the user wants to change a post on their XcutAI calendar: date, caption, hashtags, title, type or status (for example mark it approved). Only the fields given change; their old values are not kept. Free. Do not use to publish: XcutAI never posts to social media.

NameTypeReqDescription
caption––New caption or script text.
hashtags––New hashtag list; replaces the old one. Up to 30.
post_idstringyesId (UUID) of the calendar post, from xcut_list_calendar.
post_type––New format: post, image, video, carousel, reel, story, idea, script or ad.
scheduled_at––New date and time in ISO 8601, e.g. "2026-11-03T18:00:00Z".
status––New status: draft, in_review, approved, scheduled or published. Never publishes anything.
title––New title.

No output schema declared.

No examples provided.

xcut_update_memory ~138

Use this when the user asks to change a saved brand memory fact. Replaces that fact's text and category (the old text is not kept). Needs the fact's id from xcut_get_brand. Free. Do not use to add a new fact (use xcut_save_memory).

NameTypeReqDescription
canvas_idstringyesCanvas id (a UUID) from xcut_list_canvases.
category––New kind of fact. Omit to keep the current one.
memory_idstringyesId of the fact to change, from xcut_get_brand.
textstringyesThe fact's new text.

No output schema declared.

No examples provided.

xcut_write_caption ~148

Use this when the user wants a finished caption (hook, body, CTA and hashtags) for an Instagram, TikTok or YouTube Shorts post from a short concept. Free; no sign-in. Output is generic: for work based on the user's own posts, canvases or brand, use the signed-in XcutAI tools. Do not use for writing unrelated to social media or marketing content.

NameTypeReqDescription
conceptstringyesWhat the post shows or says, in a sentence or two.
platformstringyesWhere the caption will be posted.
tonestring–Voice of the caption, e.g. "engaging", "funny", "calm".

No output schema declared.

No examples provided.

xcut_write_content ~251

Use this when the user wants XcutAI's agents to write for their brand: Reels, TikTok and Shorts scripts, YouTube scripts, Facebook posts, Meta ad copy, hooks, captions or plans, using their brand memory, imported posts and XcutAI's library of formats that performed. The conversation is saved to their canvas. Pick `agent` for the platform, or auto. Token-billed (typically 1-26 credits). Longer turns return a `job_id`. Do not use for writing unrelated to the user's social media or marketing content.

NameTypeReqDescription
agentstring–Which XcutAI writer to use: auto (picks from the request), instagram, tiktok, youtube_script, youtube_shorts, facebook, meta_ad or general. Default auto.
canvas_id––Optional. Leave it out unless the user names a canvas: XcutAI then uses their "From AI apps" canvas, where imports also land. Ids come from xcut_list_canvases.
item_ids––Only use these canvas items (default: the whole canvas).
requeststringyesWhat to write, as the user would ask in the canvas chat.

No output schema declared.

No examples provided.

xcut_youtube_titles ~102

Use this when the user wants YouTube title options, with thumbnail ideas, for a video topic. Free; no sign-in. Output is generic: for work based on the user's own posts, canvases or brand, use the signed-in XcutAI tools. Do not use for writing unrelated to social media or marketing content.

NameTypeReqDescription
niche––The channel's niche, optional.
topicstringyesWhat the YouTube video is about.

No output schema declared.

No examples provided.

Install

How do I install the XCut AI – Viral Content Research MCP server?

XCut AI – Viral Content Research is a hosted endpoint at https://mcp.xcut.ai/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mcp.xcut.ai

# add to Claude Code
claude mcp add --transport http ai-xcut-xcutai 'https://mcp.xcut.ai/mcp'
Common questions

What is the XCut AI – Viral Content Research MCP server?

XCut AI – Viral Content Research is an MCP server listed in the public MCP registry as ai.xcut/xcutai. Find viral posts, outliers, hooks and ads on Instagram, TikTok, YouTube and Facebook, then write. This page covers its hosted endpoint (https://mcp.xcut.ai/mcp).

Is the XCut AI – Viral Content Research MCP server safe to use?

XCut AI – Viral Content Research scores 72 out of 100 on VerifyMCP. 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 XCut AI – Viral Content Research MCP server expose?

XCut AI – Viral Content Research exposes 39 tools: xcut_find_hooks, xcut_get_playbook, xcut_hook_ideas, xcut_write_caption, xcut_rewrite_bio, and 34 more. Their descriptions and schemas cost roughly 5,743 tokens of context every time the server is loaded.

Does the XCut AI – Viral Content Research MCP server require authentication?

No. We connected to XCut AI – Viral Content Research without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the XCut AI – Viral Content Research MCP server still maintained?

XCut AI – Viral Content Research is still listed as active in the MCP registry. We last reached this channel on 18 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.