UGCfy AI
by ugcfy.ai · remote · no sign-in to list tools · v0.1.0 · published by ai.ugcfy
Break down any TikTok or Reels ad and rewrite it for your product. Hooks, scripts, CPM. No key.
5 tools: 5 change things.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things5Claude Code: ask: see these tools
- Only reads0Claude Code: allow
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http ugcfy https://ugcfy.ai/api/mcpFindings
Matches of fixed checks, with the text they matched.
- Warngenerate_hooks
The server marks "generate_hooks" 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,"openWorldHint":true}; The name "generate_hooks" says "generate": a word for a change.
- Warnwrite_ugc_script
The server marks "write_ugc_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,"openWorldHint":true}; The name "write_ugc_script" says "write": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
5 tools
Changes things 5Claude Code: ask
breakdown_adReverse-engineer a competitor TikTok or Instagram Reels ad: hook type and why it works, the segment-by-segment structure, selling points, call to action, and 2-3 copywriting moves …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 Reverse-engineer a competitor TikTok or Instagram Reels ad: hook type and why it works, the segment-by-segment structure, selling points, call to action, and 2-3 copywriting moves worth reusing. Pass a public video link, or paste the ad text if you already have it. Returns a breakdown_id you can hand to rewrite_ad_for_product.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
estimate_ad_costGive any two of budget (USD), impressions, and CPM, and get the third.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 Give any two of budget (USD), impressions, and CPM, and get the third. Free and unlimited.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
generate_hooksWrite 8 scroll-stopping opening lines for a UGC-style video ad, each labelled with its hook type (problem, curiosity, social proof, POV, before-after, negativity) and the psycholog…1 finding
Why it is in this group
- The name "generate_hooks" says "generate": 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 "generate_hooks" 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,"openWorldHint":true}; The name "generate_hooks" says "generate": a word for a change.
Description, as the server wrote it Write 8 scroll-stopping opening lines for a UGC-style video ad, each labelled with its hook type (problem, curiosity, social proof, POV, before-after, negativity) and the psychology behind it.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
rewrite_ad_for_productTake a reference ad (a breakdown_id from breakdown_ad, a video link, or pasted ad text) and write 1-3 scene-by-scene UGC script variants for a different product that keep the same …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 Take a reference ad (a breakdown_id from breakdown_ad, a video link, or pasted ad text) and write 1-3 scene-by-scene UGC script variants for a different product that keep the same hook type and structure without copying the competitor. Returns an open_url that loads the scripts into UGCfy AI, where the user can render them as videos with AI actors.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
write_ugc_scriptAnalyze a product (link or description) and write 4 complete 20-30 second UGC video ad scripts with different angles, scene by scene, plus the product profile used (benefits, proof…1 finding
Why it is in this group
- The name "write_ugc_script" 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 "write_ugc_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,"openWorldHint":true}; The name "write_ugc_script" says "write": a word for a change.
Description, as the server wrote it Analyze a product (link or description) and write 4 complete 20-30 second UGC video ad scripts with different angles, scene by scene, plus the product profile used (benefits, proof points, objections). Use this when there is no reference ad to copy. Returns an open_url that loads the scripts into UGCfy AI to render as videos.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
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 0.1.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http ugcfy https://ugcfy.ai/api/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [],
"ask": [
"mcp__ugcfy__breakdown_ad",
"mcp__ugcfy__rewrite_ad_for_product",
"mcp__ugcfy__generate_hooks",
"mcp__ugcfy__write_ugc_script",
"mcp__ugcfy__estimate_ad_cost"
],
"deny": []
}
}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 ugcfy. Review it before you use it.