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.
31 tools: 1 can delete or cancel things, 25 change things and 5 only read.
Scanned Oct 21, 2026
- Deletes or cancels1Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things25Claude Code: ask: see these tools
- Only reads5Claude Code: allow: see these tools
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/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnad_clone_analyze
The server marks "ad_clone_analyze" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "ad_clone_analyze" says "analyze": a word for reading.
- Warnvideo_analyze
The server marks "video_analyze" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "video_analyze" says "analyze": a word for reading.
The server marks "fetch_video_from_link" 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 "fetch_video_from_link" says "fetch": 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.
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.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "ad_clone_analyze" says "analyze": a word for reading.
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
fetch_video_from_link解析平台视频链接,换取可用的视频素材1 finding
Why it is in this group
- The name "fetch_video_from_link" says "fetch": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "fetch_video_from_link" 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 "fetch_video_from_link" says "fetch": a word for reading.
Description, as the server wrote it 解析平台视频链接,换取可用的视频素材
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
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.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "video_analyze" says "analyze": a word for reading.
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/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__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.
