Skip to content

AdsTurbo

by AdsTurbo · remote · no sign-in to list tools · v1.0.0 · published by GitHub user AdsTurbo

AI ad creatives: clone reference ads, AI spokesperson videos, video generation, translation, images.

Deletes · 1Changes · 25

31 tools: 1 can delete or cancel things, 25 change things and 5 only read.

Scanned Oct 21, 2026

3 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http adsturbo https://adsturbo.ai/klian/novartapi/mcp

Findings

Matches of fixed checks, with the text they matched.

3 warn
  • The server marks "ad_clone_analyze" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "ad_clone_analyze" says "analyze": a word for reading.

    What this check looks for
  • The server marks "video_analyze" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "video_analyze" says "analyze": a word for reading.

    What this check looks for
  • The server marks "fetch_video_from_link" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "fetch_video_from_link" says "fetch": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

31 tools

Deletes or cancels 1Claude Code: deny
  • persona_delete删除自定义 PersonaNo findings

    Why it is in this group

    • The name "persona_delete" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    删除自定义 Persona

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
Changes things 25Claude Code: ask
  • ad_clone_analyze视频复刻 — 分析1 finding

    Why it is in this group

    • The name "ad_clone_analyze" says "analyze": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "ad_clone_analyze" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "ad_clone_analyze" says "analyze": a word for reading.

      What this check looks for
    Description, as the server wrote it
    视频复刻 — 分析

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • ad_clone_generate视频复刻 — 生成No findings

    Why it is in this group

    • The name "ad_clone_generate" says "generate": a word for a change.
    Description, as the server wrote it
    视频复刻 — 生成

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • ai_actor_perform演员演出(系统演员或 Persona) `actor_id` 既可为系统演员 ID,也可为自定义 Persona 的 `actor_id`,共用同一套演出参数与异步任务响应。No findings

    Why it is in this group

    • The input takes a statement or command to run (input.script), which can change anything it can reach.
    Description, as the server wrote it
    演员演出(系统演员或 Persona) `actor_id` 既可为系统演员 ID,也可为自定义 Persona 的 `actor_id`,共用同一套演出参数与异步任务响应。

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • ai_actor_say系统演员语音生成No findings

    Why it is in this group

    • The input takes a statement or command to run (input.script), which can change anything it can reach.
    Description, as the server wrote it
    系统演员语音生成

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • image_create图片生成 / 编辑 每次调用固定生成 **1 张**。 默认异步:返回 `workspace_id`(`status=pending`,`result_type=image`),用 `work/status` 轮询取 `result_url`; `sync_mod=true` 时同步阻塞到出图,响应里 `result_url` 直接为图片 URL(`stat…No findings

    Why it is in this group

    • The name "image_create" says "create": a word for a change.
    Description, as the server wrote it
    图片生成 / 编辑 每次调用固定生成 **1 张**。 默认异步:返回 `workspace_id`(`status=pending`,`result_type=image`),用 `work/status` 轮询取 `result_url`; `sync_mod=true` 时同步阻塞到出图,响应里 `result_url` 直接为图片 URL(`status=completed`)。

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • image_cutout图片抠图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
    图片抠图

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • image_ecommerce电商产品图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
    电商产品图

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • image_enhance图片增强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
    图片增强

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • image_magic_eraserAI 图片消除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
    AI 图片消除

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • image_poster活动海报图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
    活动海报图

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • persona_create创建自定义 PersonaNo findings

    Why it is in this group

    • The name "persona_create" says "create": a word for a change.
    Description, as the server wrote it
    创建自定义 Persona

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • video_analyze视频拉片1 finding

    Why it is in this group

    • The name "video_analyze" says "analyze": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "video_analyze" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "video_analyze" says "analyze": a word for reading.

      What this check looks for
    Description, as the server wrote it
    视频拉片

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • video_character_swap视频换脸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
    视频换脸

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • video_edit视频编辑 **仅支持 `seedance-2.0` 模型基座**。 源视频二选一:`workspace_id` 或 `video_url`;同时传 / 同时空均报错。 `mask_url` 可选;非空时为局部编辑掩码。No findings

    Why it is in this group

    • The name "video_edit" says "edit": a word for a change.
    Description, as the server wrote it
    视频编辑 **仅支持 `seedance-2.0` 模型基座**。 源视频二选一:`workspace_id` 或 `video_url`;同时传 / 同时空均报错。 `mask_url` 可选;非空时为局部编辑掩码。

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • video_enhance_v2视频增强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
    视频增强

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • video_extend视频延长(在源视频末尾追加 N 秒) **仅支持 `seedance-2.0` 模型基座**。 源视频二选一:`workspace_id`(内部)或 `video_url`(外部);同时传 / 同时空均报错。 `duration` 为增量秒数:原 8s + duration=4 → 输出 12s。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
    视频延长(在源视频末尾追加 N 秒) **仅支持 `seedance-2.0` 模型基座**。 源视频二选一:`workspace_id`(内部)或 `video_url`(外部);同时传 / 同时空均报错。 `duration` 为增量秒数:原 8s + duration=4 → 输出 12s。

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • video_generate视频生成(文生 / 图生 / 首尾帧 / 多参考媒体) 异步任务;状态走 `/openapi/v1/work/status`,结果走 webhook。 `model` 各能力差异以服务端注册表为准(duration / ratio / resolution / reference_* 上限按模型而定)。No findings

    Why it is in this group

    • The name "video_generate" says "generate": a word for a change.
    Description, as the server wrote it
    视频生成(文生 / 图生 / 首尾帧 / 多参考媒体) 异步任务;状态走 `/openapi/v1/work/status`,结果走 webhook。 `model` 各能力差异以服务端注册表为准(duration / ratio / resolution / reference_* 上限按模型而定)。

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • video_inpaint视频水印消除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
    视频水印消除

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • video_lip_sync视频对口型No findings

    Why it is in this group

    • The name "video_lip_sync" says "sync": a word for a change.
    Description, as the server wrote it
    视频对口型

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • video_magic_eraserAI 视频消除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
    AI 视频消除

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • video_motion_control视频动作控制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
    视频动作控制

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • video_subtitle视频字幕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
    视频字幕

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • video_translate视频翻译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
    视频翻译

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • video_upscale视频超分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
    视频超分

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Only reads 5Claude Code: allow
  • ai_actor_list系统演员列表No findings

    Why it is in this group

    • The name "ai_actor_list" says "list": a word for reading.
    Description, as the server wrote it
    系统演员列表

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • batch_get_work_status批量查询异步任务状态No findings

    Why it is in this group

    • The name "batch_get_work_status" says "get": a word for reading.
    Description, as the server wrote it
    批量查询异步任务状态

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_persona_status查询 Persona 状态No findings

    Why it is in this group

    • The name "get_persona_status" says "get": a word for reading.
    Description, as the server wrote it
    查询 Persona 状态

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_work_status查询异步任务状态No findings

    Why it is in this group

    • The name "get_work_status" says "get": a word for reading.
    Description, as the server wrote it
    查询异步任务状态

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • persona_list个人创建演员列表 分页查询当前用户创建的个人演员(Persona)列表。No findings

    Why it is in this group

    • The name "persona_list" says "list": a word for reading.
    Description, as the server wrote it
    个人创建演员列表 分页查询当前用户创建的个人演员(Persona)列表。

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

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 adsturbo https://adsturbo.ai/klian/novartapi/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__adsturbo__ai_actor_list",
      "mcp__adsturbo__batch_get_work_status",
      "mcp__adsturbo__get_persona_status",
      "mcp__adsturbo__get_work_status",
      "mcp__adsturbo__persona_list"
    ],
    "ask": [
      "mcp__adsturbo__ad_clone_analyze",
      "mcp__adsturbo__ad_clone_generate",
      "mcp__adsturbo__ai_actor_perform",
      "mcp__adsturbo__ai_actor_say",
      "mcp__adsturbo__image_create",
      "mcp__adsturbo__image_cutout",
      "mcp__adsturbo__image_ecommerce",
      "mcp__adsturbo__image_enhance",
      "mcp__adsturbo__image_magic_eraser",
      "mcp__adsturbo__image_poster",
      "mcp__adsturbo__persona_create",
      "mcp__adsturbo__video_analyze",
      "mcp__adsturbo__video_character_swap",
      "mcp__adsturbo__video_edit",
      "mcp__adsturbo__video_enhance_v2",
      "mcp__adsturbo__video_extend",
      "mcp__adsturbo__video_generate",
      "mcp__adsturbo__video_inpaint",
      "mcp__adsturbo__video_lip_sync",
      "mcp__adsturbo__video_magic_eraser",
      "mcp__adsturbo__video_motion_control",
      "mcp__adsturbo__video_subtitle",
      "mcp__adsturbo__video_translate",
      "mcp__adsturbo__video_upscale",
      "mcp__adsturbo__fetch_video_from_link"
    ],
    "deny": [
      "mcp__adsturbo__persona_delete"
    ]
  }
}

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 adsturbo. Review it before you use it.