XCut AI – Viral Content Research
by xcut.ai · remote · no sign-in to list tools · v1.0.0 · published by ai.xcut
Find viral posts, outliers, hooks and ads on Instagram, TikTok, YouTube and Facebook, then write.
39 tools: 4 can delete or cancel things, 27 change things and 8 only read.
Scanned Oct 21, 2026
- Deletes or cancels4Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things27Claude Code: ask: see these tools
- Only reads8Claude Code: allow: see these tools
6 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http xcutai https://mcp.xcut.ai/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "xcut_write_caption" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "xcut_write_caption" says "write": a word for a change.
The server marks "xcut_analyze_script" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "xcut_analyze_script" says "analyze": a word for reading.
The server marks "xcut_search_viral" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "xcut_search_viral" says "search": a word for reading.
The server marks "xcut_find_outliers" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "xcut_find_outliers" says "find": a word for reading.
- Warnxcut_get_job
The server marks "xcut_get_job" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "xcut_get_job" says "get": a word for reading.
- Warnxcut_get_content
The server marks "xcut_get_content" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "xcut_get_content" says "get": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
39 tools
Deletes or cancels 4Claude Code: deny
xcut_delete_calendar_postUse this when the user explicitly asks to remove a post from their XcutAI content calendar.No findings
Why it is in this group
- The name "xcut_delete_calendar_post" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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).
Annotations the server declares
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: false
- title: Delete a calendar post
xcut_delete_memoryUse this when the user asks to remove a saved brand memory fact from XcutAI.No findings
Why it is in this group
- The name "xcut_delete_memory" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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).
Annotations the server declares
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: false
- title: Delete a brand memory fact
xcut_update_calendar_postUse 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).No findings
Why it is in this group
- The name "xcut_update_calendar_post" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: false
- title: Update a calendar post
xcut_update_memoryUse this when the user asks to change a saved brand memory fact.No findings
Why it is in this group
- The name "xcut_update_memory" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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).
Annotations the server declares
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: false
- title: Update a brand memory fact
Changes things 27Claude Code: ask
xcut_add_noteUse this when the user wants a script, hook list, plan or other text saved to XcutAI.No findings
Why it is in this group
- The name "xcut_add_note" says "add": a word for a change.
Description, as the server wrote it 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).
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Add a note to a canvas
xcut_add_to_calendarUse this when the user wants a planned post saved to their XcutAI content calendar: title, platform, type, date, and optionally caption and hashtags.No findings
Why it is in this group
- The name "xcut_add_to_calendar" says "add": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Add a post to the calendar
xcut_analyze_scriptUse this when the user wants a script scored on its hook, pacing, retention risk and CTA.1 finding
Why it is in this group
- The name "xcut_analyze_script" says "analyze": a word for reading.
- The input takes a statement or command to run (input.script), which can change anything it can reach.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "xcut_analyze_script" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "xcut_analyze_script" says "analyze": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Analyze script
xcut_audit_contentUse this when the user wants a consistency check across 3 to 10 of their past titles or captions.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Audit content
xcut_check_nicheUse this when the user wants to know whether a niche is viable before committing to it.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Check niche
xcut_competitor_gapsUse this when the user wants content gaps versus named competitors in their niche.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Competitor gaps
xcut_create_canvasUse this when the user asks for a new, separate XcutAI canvas for a project, client or campaign.No findings
Why it is in this group
- The name "xcut_create_canvas" says "create": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Create a canvas
xcut_find_outliersUse 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.1 finding
Why it is in this group
- The name "xcut_find_outliers" says "find": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "xcut_find_outliers" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "xcut_find_outliers" says "find": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: false
- title: Find a profile's outlier posts
xcut_generate_imageUse 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.No findings
Why it is in this group
- The name "xcut_generate_image" says "generate": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
- title: Generate an image
xcut_get_contentUse 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 c…1 finding
Why it is in this group
- The name "xcut_get_content" says "get": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "xcut_get_content" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "xcut_get_content" says "get": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: false
- title: Read an imported item
xcut_get_jobUse 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 …1 finding
Why it is in this group
- The name "xcut_get_job" says "get": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "xcut_get_job" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "xcut_get_job" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: false
- title: Check a job
xcut_hook_ideasUse this when the user wants 10 new hook variations written for their niche and topic on YouTube, TikTok or Instagram.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Hook ideas
xcut_import_meta_adUse 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.No findings
Why it is in this group
- The name "xcut_import_meta_ad" says "import": a word for a change.
Description, as the server wrote it 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).
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
- title: Import a Meta ad
xcut_import_postUse 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.No findings
Why it is in this group
- The name "xcut_import_post" says "import": a word for a change.
Description, as the server wrote it 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).
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
- title: Import a social post
xcut_import_profileUse 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…No findings
Why it is in this group
- The name "xcut_import_profile" says "import": a word for a change.
Description, as the server wrote it 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).
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
- title: Import a profile's recent posts
xcut_import_websiteUse this when the user shares a web page (product page, landing page, article) to use as context for writing their content.No findings
Why it is in this group
- The name "xcut_import_website" says "import": a word for a change.
Description, as the server wrote it 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).
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
- title: Import a website
xcut_posting_planUse this when the user wants a posting plan drafted from a niche, posting frequency and content pillars.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Posting plan
xcut_profile_analyticsUse 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 accoun…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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).
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: false
- title: Get profile analytics
xcut_repurpose_contentUse this when the user wants one piece of content turned into TikTok, Reel, LinkedIn, X and email angles.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Repurpose content
xcut_rewrite_bioUse this when the user wants their profile bio rewritten for Instagram, YouTube, TikTok, X or LinkedIn.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Rewrite bio
xcut_run_playbookUse 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 o…No findings
Why it is in this group
- The name "xcut_run_playbook" says "run": a word for a change.
Description, as the server wrote it 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).
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Run an XcutAI playbook
xcut_save_memoryUse 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.No findings
Why it is in this group
- The name "xcut_save_memory" says "save": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Save a brand memory fact
xcut_scan_watchlistUse this when the user wants fresh breakouts now instead of waiting for the daily scan.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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).
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
- title: Scan watched accounts now
xcut_search_viralUse 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, o…1 finding
Why it is in this group
- The name "xcut_search_viral" says "search": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "xcut_search_viral" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "xcut_search_viral" says "search": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: false
- title: Search the viral library
xcut_write_captionUse 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.1 finding
Why it is in this group
- The name "xcut_write_caption" says "write": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "xcut_write_caption" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "xcut_write_caption" says "write": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Write caption
xcut_write_contentUse 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, us…No findings
Why it is in this group
- The name "xcut_write_content" says "write": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Write with an XcutAI agent
xcut_youtube_titlesUse this when the user wants YouTube title options, with thumbnail ideas, for a video topic.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Youtube titles
Only reads 8Claude Code: allow
xcut_find_hooksUse this when the user wants hooks, opening lines or first sentences for a post, Reel, TikTok, Short, YouTube video or ad.No findings
Why it is in this group
- The name "xcut_find_hooks" says "find": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Find proven hooks
xcut_get_accountUse 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.No findings
Why it is in this group
- The name "xcut_get_account" says "get": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Get account and credits
xcut_get_brandUse 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.No findings
Why it is in this group
- The name "xcut_get_brand" says "get": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Get brand memory
xcut_get_breakoutsUse 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, fr…No findings
Why it is in this group
- The name "xcut_get_breakouts" says "get": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Get breakout alerts and trends
xcut_get_canvasUse 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 …No findings
Why it is in this group
- The name "xcut_get_canvas" says "get": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Get a canvas
xcut_get_playbookUse 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 …No findings
Why it is in this group
- The name "xcut_get_playbook" says "get": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Get a content playbook
xcut_list_calendarUse 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…No findings
Why it is in this group
- The name "xcut_list_calendar" says "list": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: List calendar posts
xcut_list_canvasesUse this when you need a canvas id or the user asks what XcutAI canvases (projects) they have, including ones shared with them, newest first.No findings
Why it is in this group
- The name "xcut_list_canvases" says "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: List canvases
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http xcutai https://mcp.xcut.ai/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__xcutai__xcut_find_hooks",
"mcp__xcutai__xcut_get_playbook",
"mcp__xcutai__xcut_get_account",
"mcp__xcutai__xcut_list_canvases",
"mcp__xcutai__xcut_get_canvas",
"mcp__xcutai__xcut_get_brand",
"mcp__xcutai__xcut_list_calendar",
"mcp__xcutai__xcut_get_breakouts"
],
"ask": [
"mcp__xcutai__xcut_hook_ideas",
"mcp__xcutai__xcut_write_caption",
"mcp__xcutai__xcut_rewrite_bio",
"mcp__xcutai__xcut_youtube_titles",
"mcp__xcutai__xcut_analyze_script",
"mcp__xcutai__xcut_audit_content",
"mcp__xcutai__xcut_posting_plan",
"mcp__xcutai__xcut_competitor_gaps",
"mcp__xcutai__xcut_check_niche",
"mcp__xcutai__xcut_repurpose_content",
"mcp__xcutai__xcut_create_canvas",
"mcp__xcutai__xcut_save_memory",
"mcp__xcutai__xcut_add_to_calendar",
"mcp__xcutai__xcut_scan_watchlist",
"mcp__xcutai__xcut_search_viral",
"mcp__xcutai__xcut_find_outliers",
"mcp__xcutai__xcut_profile_analytics",
"mcp__xcutai__xcut_get_job",
"mcp__xcutai__xcut_import_post",
"mcp__xcutai__xcut_import_website",
"mcp__xcutai__xcut_import_meta_ad",
"mcp__xcutai__xcut_import_profile",
"mcp__xcutai__xcut_add_note",
"mcp__xcutai__xcut_get_content",
"mcp__xcutai__xcut_write_content",
"mcp__xcutai__xcut_run_playbook",
"mcp__xcutai__xcut_generate_image"
],
"deny": [
"mcp__xcutai__xcut_update_memory",
"mcp__xcutai__xcut_delete_memory",
"mcp__xcutai__xcut_update_calendar_post",
"mcp__xcutai__xcut_delete_calendar_post"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as xcutai. Review it before you use it.