Skip to main content

Say It Again

ai.sayitagain/sayitagainVersion 1.0.1

AI UGC videos of your store's products: read a product, write 3 scripts, make the video.

Status

Responds383 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 13:33 UTC
Latency
383 ms
Remotes responding
1 of 1
Sign-in
No sign-in
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 22:14 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://app.sayitagain.ai/mcpResponds383 ms
No sign-in

Claude Code

claude mcp add --transport http sayitagain https://app.sayitagain.ai/mcp

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: sayitagain
Remote MCP server URL: https://app.sayitagain.ai/mcp

Cursor

{
  "mcpServers": {
    "sayitagain": {
      "url": "https://app.sayitagain.ai/mcp"
    }
  }
}

VS Code

code --add-mcp '{"name":"sayitagain","type":"http","url":"https://app.sayitagain.ai/mcp"}'

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

25 tools

Tools of Say It Again
Read-only
Idempotent
Open world
another_languageMake one finished video again in another language, into a new video beside it, as the app's Another language does: a UGC video with its own script and presenter, a product video with its voiceover said again over the same picture. This spends the team's credits: the price get_video or get_product_video lists in after_steps as another_language, or its voiced price for a voiced language, refunded if it fails. Only in a language that after_steps lists for it. Answers an id at once: call get_video with it, or get_product_video for a product video's, about once a minute until its status is ready or failed.YesNoNoYes
change_videoChange one finished video as the person asks, made again into a new video beside it, as the app's Change does. This spends the team's credits: the price get_video lists in after_steps as change_video, refunded if it fails. Only for a video whose after_steps offers it. What to change is the person's own words; a change the video cannot be made with at all is answered with why and spends nothing. Answers an id at once: call get_video with it about once a minute until its status is ready or failed.YesNoNoNo
describe_presenterDraw a presenter of the team's own from a description of how they look, as the app's Describe a presenter does: an adult, invented, not a real person or a character. Free, and counted against the team's 5 drawings a day; a description refused, or a drawing that fails, gives its drawing back. Answers an id at once: call get_described with it every few seconds until its status is ready or refused.NoNoNot declaredNo
get_balanceThe team's credits, its plan, and how many write_scripts calls it has left (scripts_left). Free.NoYesNot declaredNo
get_describedHow a drawing from describe_presenter is going: checking, drawing, ready with its 3 pictures, each by its number with a link that works for an hour, and the voice the description said if it said one, or refused with why. The person chooses one of the pictures, which keep_presenter keeps. Free.NoYesNot declaredNo
get_image_adsHow a set from make_image_ads is going: queued, in_progress, ready with each image ad's headline, second line and button, in headline, subhead and cta, and its download_url, or failed with why and whether its credits were refunded. Each image ad's download_url is made new in every answer and works for the next hour: its download_expires_in_seconds is the seconds it has left as that answer is made. For a later download, call get_image_ads again for a new link. Free.NoYesNot declaredNo
get_product_videoHow a product video from make_product_video, or from a step after one, is going: queued, in_progress, ready or failed, with why and whether its credits were refunded. Once ready, it has after_steps, the steps it offers next with their prices in credits. Each ready video's download_url is made new in every answer and works for the next hour: its download_expires_in_seconds is the seconds it has left as that answer is made. For a later download, call get_product_video again for a new link. Free.NoYesNot declaredNo
get_scriptsScripts written by write_scripts: queued, in_progress, ready with each script's shots and lines, the language its lines are in and what it left out of the description, or failed. Free.NoYesNot declaredNo
get_videoHow a video from make_video, or from a step after one, is going: queued, in_progress, ready or failed. Once ready, each video has after_steps, the steps it offers next with their prices in credits. Each ready video's download_url is made new in every answer and works for the next hour: its download_expires_in_seconds is the seconds it has left as that answer is made. For a later download, call get_video again for a new link. Free.NoYesNot declaredNo
keep_presenterKeep one picture of a drawing as one of the team's presenters, with the voice the person chose for them. Answers the presenter's id, for presenters in the other tools. Free.NoNoNot declaredNo
list_adsThe ads the team's store already holds, from the Meta Ad Library and TikTok's, to build a video like one with ad: its Competitors, the Winning ads of its kind and the Meta Ad Library links it pasted, each with its id, library, advertiser, title, days running and whether it is a video, which ad needs. Free, and nothing is looked up.NoYesNot declaredNo
list_presentersThe presenters a video can be made with, by id: ours and the ones the team described. Free.NoYesNot declaredNo
list_videosThe team's UGC videos, newest first. Each ready video's download_url is made new in every answer and works for the next hour: its download_expires_in_seconds is the seconds it has left as that answer is made. For a later download, call get_video again for a new link. Free.NoYesNot declaredNo
make_image_adsMake a set of image ads of a product, as the app's Image ads does: each ad a picture of the product drawn whole, with its own headline, second line and button, made from the product's page and the description. This spends the team's credits: the price quote_image_ads gives for the same count, refunded if the set fails. Answers an id at once: call get_image_ads with it about once a minute until its status is ready or failed.YesNoNoYes
make_longerMake one finished video longer, its take carried on with new lines written from the product page, into a new video beside it, as the app's Make this video 30 seconds does. This spends the team's credits: the price get_video lists in after_steps as make_longer, refunded if it fails. Only for a video whose after_steps offers it. Answers an id at once: call get_video with it about once a minute until its status is ready or failed.YesNoNoYes
make_product_videoMake a product video, as the app's Product video does: the product alone on camera, doing what it does, with a voiceover, a voiceover over music or music alone, and no presenter, written from the product's page and the description. This spends the team's credits: the price quote_product_video gives for the same choices, refunded if the video fails. Answers an id at once: call get_product_video with it about once a minute until its status is ready or failed, which takes a few minutes.YesNoNoYes
make_videoMake a UGC video of a product. This spends the team's credits: the price quote_video gives for the same choices, refunded if the video fails. Answers an id at once, and with languages an id for each language in ids: call get_video with each about once a minute until its status is ready or failed, which takes a few minutes.YesNoNoYes
other_sizesLay one finished video out in another size, the same video cut for that frame, as the app's Other sizes does. Free. Only for a video whose after_steps lists other_sizes, in a size it lists. Answers an id at once: call get_video with it, or get_product_video for a product video's, every few seconds until its status is ready or failed. The same size asked again answers the one already made or being made.NoNoYesNo
quote_image_adsWhat a set of image ads costs in credits, and whether the team's balance covers it. Free.NoYesNot declaredNo
quote_product_videoWhat a product video with these choices costs in credits, and whether the team's balance covers it. Free.NoYesNot declaredNo
quote_videoWhat a video with these choices costs in credits, and whether the team's balance covers it. Free.NoYesNot declaredYes
read_productRead a product's page from its link: its name, price, description, benefits, photos and the angles a video of it can argue, and an id to use in the other tools. Free, and counted against the team's product reads.NoNoYesYes
remake_product_videoMake an eligible finished product video again. quality best, the default, uses the current model: Wan 3.0, or Seedance 2.5 when Wan 3.0 is not offered. quality seedance25 selects Seedance 2.5 explicitly. It uses the video's own script, photos and choices to make a new product video beside it. The app offers the same model choices. This spends the team's credits: the price listed for the selected quality in after_steps.remake_product_video.choices from get_product_video. For the default best, the legacy after_steps.make_in_best price also applies. The step is refunded if it fails. Only for a video whose after_steps offers that remake. Answers an id at once: call get_product_video with it about once a minute until its status is ready or failed.YesNoNoYes
set_presenter_voiceSay or change the voice one of the team's described presenters speaks in, which an Arabic video whose voice is added after filming asks for when its presenter has none: the person's choice, which a picture does not tell. Free.NoNoYesNo
write_scriptsWrite three scripts for a UGC video of a product, to read before making one. Say It Again's own writer writes them from the product read_product read, held to its facts. Free, and counted against the calls get_balance gives as scripts_left. Answers an id at once: call get_scripts with it about once a minute until its status is ready or failed.NoNoNot declaredYes

Details

Registry status
Active
Published
Oct 22, 2026
Updated
Oct 22, 2026
Categories (suggested)
Design and mediaMarketing and SEOSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
GDPR
Not declared

Are you the operator? Claim this listing