museav-mcp
museav-mcp is an aggregating stdio MCP server that connects CLI tools into one AI-agent toolkit, with capabilities registered only when their underlying CLIs are installed.
Generate backgrounds, general images, or videos via the MUSE AV online platform using
gen_background(prompt/skill/template, model, ratio, quality, transparent, refs; login required).Do local image post-processing:
remove_bg(alpha PNG),upscale_image(2–4x),remove_watermark, andcompress_image(JPG/PNG/WebP).Use optional installed groups for local VLM image understanding, contrast accessibility checks, Markdown-to-PDF/long-image/slides, vertical short-video composition, and real Chrome browser automation with human handoff.
Discover available groups and why they are enabled/disabled via
groups_list; override probing withMUSEAV_MCP_GROUPS.Pass files by absolute path and receive output paths on disk rather than base64.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@museav-mcpUpscale /home/user/photo.png and then remove the background."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🎯 为什么用它,而不是别的
需求 | 逐个手搓命令 | 每个工具各接一遍 SDK | museav-mcp |
一个 Agent 里同时用出图 / 看图 / 门禁 / 排版 | ❌ 四套用法 | ❌ 接四遍协议 | ✅ 一个 server 全给 |
换 Agent 就失效 | ❌ 命令绑定 | ⚠️ 各家 SDK 不同 | ✅ 换谁都认 MCP |
没装的工具白占上下文 | — | ❌ 全量注册 | ✅ 探测式:装了才注册 |
大图 / 长文进上下文 | ❌ 手动处理 | ❌ 自己写 base64 | ✅ 一律走绝对路径 |
加新能力 | 各自记命令 | ❌ 得改 MCP 代码 | ✅ 升级 CLI 就生效(MCP 只做串联) |
分层是硬的:能力在 CLI 里,MCP 只做串联。 这个仓自己零实现 —— 每个工具都是对某个项目 CLI 的一次薄封装。所以 CLI 一升级,MCP 这边立刻就有新能力;MCP 不重写任何逻辑,也就不存在 「两边行为不一致」。
传输方式 stdio。文件以绝对路径传入,处理结果写回磁盘并返回路径 —— 不走 base64。
Related MCP server: DreamLayer image tools
🧩 能力分组(这张就是版图)
分组 | 开源项目 | 工具 | 干什么 | 前置 |
| 17 | 出图 / 出视频、本地后期(抠图·超分·去水印·压缩)、模板与技能清单、素材上传、图生模板、SCULPT 反推、小红书 SkillHub 发布 |
| |
| 4 | 本地离线看图:描述、任意提问、封面质检、反推出图 prompt |
| |
| 3 | 对比度门禁:静态查色值达不达标、渲染后量实际字号灰阶、存基线与基线对比 |
| |
| 2 | Markdown 排版成 PDF / 长图 / 讲稿页(自带多套模板) |
| |
| 3 | 素材 + 逐句文案 → 竖版成片(模板 / 转场 / 配乐 / 可选配音) |
| |
| 13 | 真实 Chrome:打开/快照/点击/输入/截图/执行 JS + 人类交接协议 + 多 agent 会话隔离 |
| |
— | 本 MCP 自带 | 1 |
| 无 |
默认策略是探测式:某个分组的 CLI 在 PATH 上,它的工具才会注册。理由是工具 schema
会随每一次模型请求发出去 —— 聚合 MCP 越串越多,不该让用户为「他机器上根本没装的工具」
付 token。没启用的分组不会消失:groups_list 始终可用,它会告诉你这个 MCP 还能干什么、
该装什么。
想强开或裁剪,用环境变量 MUSEAV_MCP_GROUPS:
MUSEAV_MCP_GROUPS=all # 全开(缺 CLI 的分组也注册,调用时才报装什么)
MUSEAV_MCP_GROUPS=facet,contrast # 只开这几个
MUSEAV_MCP_GROUPS=-museav # 默认集里去掉这几个⚡ 30 秒上手
npm i -g museav-cli # 想要哪组能力,就装哪个 CLI(这一行是出图那组)
claude mcp add museav -- npx -y museav-mcp然后在 Agent 里说「用 museav 出一张图」,或者先问一句「这个 MCP 有哪些能力分组」。
工具(43 个)
museav 组 —— MUSE AV 出图中台(17)
工具 | 干什么 | 是否需要登录 |
| 出背景图 / 一般出图 / 出视频(走中台) | ✅ 需要 |
| 抠图去背景(BiRefNet / ISNet / U2Net),输出带 alpha 的 PNG | 免登录,本地跑 |
| 超分放大(Real-ESRGAN + Vulkan GPU),默认 4x | 免登录,本地跑 |
| 去水印(LaMa 修复),自动定位,可传手工掩码 | 免登录,本地跑 |
| 压缩(sharp),可指定最长边 / 质量 / 格式 | 免登录,本地跑 |
| 查可用图片 / 文字模板(挑 | ✅ 需要 |
| 查可用技能(挑 | ✅ 需要 |
| 查可用视频模板(与 | ✅ 需要 |
| 查可用模型; | ✅ 需要 |
| 查上游余额 | ✅ 需要 |
| 查自己的出图工作流(结果 URL、失败原因) | ✅ 需要 |
| 上传素材拿公网直链(垫图要 URL 时用) | ✅ 需要 |
| 图生模板:读图 + 文字层逆向 + 变量化 | ✅ 需要 |
| 读图反推 SCULPT prompt(中台 API)。与 | ✅ 需要 |
| 查小红书 SkillHub 内容标签(发布必带,别硬编码) | ✅ 需要 |
| 查 SkillHub 登录态(脱敏) | ✅ 需要 |
| 把本地 Agent Skill 发到小红书 SkillHub。默认 dry-run, | ✅ 需要 |
本地后期那四个不联网、不消耗中台额度。
vlm 组 —— 本地看图理解(4)
工具 | 干什么 |
| 描述图片主体与色调 |
| 对图片任意提问 |
| 音乐封面语义质检( |
| 反推出图 prompt,喂回 |
四个都免登录、零成本、不联网(本地 Qwen3-VL);需要 Apple Silicon。
contrast 组 —— 对比度门禁(3)
工具 | 干什么 |
| 静态查色值达不达标(读项目的 |
| 在项目里生成一份配置模板(第一次用要先跑这个) |
| 渲染后量实际字号 / 灰阶 / 动效,可存基线与基线对比(需要浏览器) |
check 查「对不对」,measure 查「多少」——丑的每一处单看往往都『对』,所以两个都要跑。
不达标时工具会照常把完整报告交回来(CLI 用退出码当判据,不是调用失败)。
facet 组 —— Markdown 排版成成品(2)
工具 | 干什么 |
| 列可用排版模板名( |
| 把 Markdown 排成 PDF / 长图 / 讲稿页 |
reel 组 —— 竖版短视频合成(3)
工具 | 干什么 |
| 列可用版式模板名( |
| 列配乐库:别名、时长、风格、授权 |
| 素材图 + 逐句文案 → mp4(模板 / 转场 / 配乐 / 标题 / 可选配音) |
素材与文案按顺序一一对应,数量不等时取较少的一方并明确报出来,不会静默丢弃。
不给 voice 时镜头时长由 perShot 决定(不需要任何模型);给了才走本地 Qwen3-TTS。
硬依赖系统里的 ffmpeg(不在 npm 包里)。
museav 出的是原料(图、无声片),reel 出的是能发的成品 —— 这两段是一条业务线的前后半截。
browser 组 —— 浏览器操控(13)
工具 | 干什么 |
| 打开网页建立会话 / 用完关闭( |
| 提取可交互元素并编号( |
| 点击 / 输入 / 按键 / 滚动 |
| 截图当前视口,返回路径 |
| 在页面里执行 JS —— 读正文/结构化数据只能靠它(snapshot 只给可交互元素) |
| 唯一状态真源:相位、在等谁、下一步做什么 |
| 人类交接协议:阻塞等人登录 → 人完成后恢复 |
| 列出所有 agent 的会话(排查「浏览器被谁占着」) |
人类交接协议是这个组的核心价值:撞到登录墙不是死路,而是一条有契约的路径 ——
status 看它在等什么 → await_human 阻塞等人(退出码 3/4 是状态不是故障,
工具会原样把「需要人类介入 / 等待超时」交回来)→ resume 继续。
身份隔离:lite-browser 的会话按 agent 隔离,而默认身份是 default。本 MCP 每次都
显式传自己的身份(默认 mcp,可用 MUSEAV_MCP_BROWSER_AGENT 改),不会跟别的 agent
抢会话——这是实测踩出来的(第一次没传,直接开在别人正在用的 default 会话上)。
刻意不暴露(是判断,不是遗漏):exec -- <命令>(把输入变成任意 shell 命令)、
cdp(裸协议通道)、cookie export / cookie pull-system(导出/解密 Cookie = 直接交出凭据,
与 kyvault 不进公开 MCP 同一条理由)。
发 Skill 之前必读
skillhub_publish 默认只预演(本地打包校验,不上传不提交),把待提交内容返回给你核对。
只有用户明确说「提交 / 确认 / submit」才带 submit=true —— 提交不可逆,Skill ID 是
平台主键、跨版本不可改名。
真提交前会先查登录态。未登录时 MCP 不会挂在那儿等你:二维码要等进程结束才能
返回给用户,硬等就是死锁,所以会直接报错,让你引导用户去终端跑一次
museav skillhub login 扫码。
CLI 自带平台资产护栏:Skill 正文里抄了 MUSE AV 平台公共模板的提示词会被拒绝发布,
只引用模板 slug(museav gen --template xxx)则放行——搬运是重新分发资产,引用是正常集成。
被拒时按提示把正文换成调用方式。
两个「先查再调」
gen_background 的 template / skill 是必填二选一,但 id 和 slug 只能从中台实时拉:
先用 list_templates / list_skills 查真实清单,再传进去。凭印象编一个,中台只会报
「模板不存在」,Agent 分不清是自己拼错了还是真没有。
模板自带哪些占位符看清单里「字段:」那一列,取值用 gen_background 的 fields 传
(JSON 对象字符串)。
facet_build 的 template 同理 —— 先用 facet_templates 拿清单。
前置条件
npm i -g museav-cli # museav 组:出图 / 后期 / 素材 / SkillHub(需要 >= 3.9.0)
pipx install git+https://github.com/webkubor/mlx-vlm-kit.git # vlm 组
npm i -g contrast-guard # contrast 组
npm i -g @webkubor/facet # facet 组
npm i -g @kubor/reel-kit # reel 组(另外要 brew install ffmpeg)
curl -fsSL https://raw.githubusercontent.com/webkubor/lite-browser/main/install.sh | bash # browser 组装哪几个由你决定 —— 没装的组就是不会注册,不会报错。
gen_background 还需要中台 apiKey(按 museav-cli 的说明配置)。
本地工具首次运行会下载对应模型(抠图 ~214MB、超分 ~65MB、去水印 ~200MB、
vlm 的 Qwen3-VL-4B 约 2.9GB)。
可执行文件不在全局 PATH 时,用环境变量指定绝对路径:
MUSEAV_BIN、MLX_VLM_BIN、CONTRAST_GUARD_BIN、FACET_BIN。
接到 Agent 上
Claude Code 一行:
claude mcp add museav -- npx -y museav-mcpDSH 在 profile 的 cordis.patch.yml 里加一行:
- id: mcp-museav
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: museav
transport: stdio
command: npx
args: ['-y', 'museav-mcp']或手写配置(任意支持 MCP 的 Agent):
{
"mcpServers": {
"museav": {
"command": "npx",
"args": ["-y", "museav-mcp"]
}
}
}想让某个没装 CLI 的分组也出现在工具列表里(调用时才报装什么),加上 env:
{
"mcpServers": {
"museav": {
"command": "npx",
"args": ["-y", "museav-mcp"],
"env": { "MUSEAV_MCP_GROUPS": "all" }
}
}
}本地开发(改这个仓库时)
pnpm install && pnpm build # 产物在 dist/,package.json 的 bin 指向它配置里把 command 换成 node、args 指向 /绝对路径/museav-mcp/dist/index.js 即可。
还没进来的项目(以及为什么)
这张版图是逐步长出来的,不是一次列全。没进来分三种情况,都不是「忘了」:
项目 | 为什么还没进 |
仓库里有 CLI,但 npm 上的 | |
密钥库, | |
工具面很清晰,但环境门槛高(本地 TTS 模型约 2.9GB),适合单独一组慢慢加 | |
能力好,但没有可安装的 CLI:前两个仓库还没开源 / 没发布,最后一个只有仓内脚本 | |
| 纯库或纯提示词,没有命令行工具面 —— 要进得先给它们写一个 CLI |
想加一组? 三步:给那个项目确认 CLI 能装、在 src/clis.ts 加一份 CliSpec、
在 src/groups/ 加一个分组文件并挂到 src/registry.ts 的 GROUPS。
MCP 侧不写任何业务逻辑。
验证
node test-mcp.mjs # 起 server 跑 initialize + tools/list
# 断言:30 个工具、21 个老工具名一个不少、分组开关逻辑MUSEAV_MCP_GROUPS=all 是测试用的启动方式 —— CI 机器上什么 CLI 都没装,
走默认的探测策略会一组都不启用,那就测不到工具集本身了。
说明
gen_background 的 prompt / skill / template 三者必须且只能提供一个:prompt 是直接给提示词,skill 和 template 是让中台在服务端展开提示词(配合 input 传一句业务描述)。
四个本地后期工具的 out 已存在时,CLI 会拒绝覆盖 —— 这是防手滑的语义,MCP 保留它:
要覆盖就显式传 overwrite: true,否则报错原文会回到 Agent 手里。
list_templates / list_skills 取的是 CLI 的人类可读表格(stderr),因为 stdout 只有裸 id;
list_jobs 取 stdout 的完整 JSON(含 cdn_url / status / error)。清单超过 8000 字会截断,
并附一句「输出已截断」——不附的话 Agent 会把截断处当成清单结尾。
本地工具的超时上限是 10 分钟 —— 超分和 LaMa 修复在大图上确实会慢。
License
MIT
Available Tools
5 toolscompress_imageA
本地压缩图片(sharp,免登录),默认同目录 <名>-min.<格式>
| Name | Required | Description | Default |
|---|---|---|---|
| out | No | 输出路径 | |
| file | Yes | 输入图片绝对路径 | |
| format | No | 输出格式 | |
| maxEdge | No | 最长边缩到此像素(等比) | |
| quality | No | jpg/webp 质量,默认 82 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It usefully discloses the auth requirement (no login), processing location (local), implementation library (sharp), and default output behavior (same directory as <name>-min.<format>). It does not explicitly mention whether the original file is preserved or whether existing output files are overwritten, but the default filename strongly implies a new file is created.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entire description is one compact sentence with no unnecessary words. It front-loads the core action and then packs auth, locality, and default output into a short clause. Every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple image-compression tool with five fully documented parameters and no output schema, the description plus schema covers the essential invocation details: purpose, input, output location, format options, and sizing/quality controls. The lack of an explicit return-value description is a minor gap but the predictable output filename mitigates it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description does not need to compensate for undocumented parameters. The schema already describes file, out, format, maxEdge, and quality. The description adds only the default output path behavior, which is useful but not a significant expansion beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('compress'), a resource ('image'), and a concrete scope ('local, sharp, no login'), which immediately distinguishes it from the sibling tools (gen_background, remove_bg, upscale_image, remove_watermark). The default output naming convention adds further precision. An agent can confidently identify this as the local image-compression tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes clear when to use it: for local image compression without authentication, using the sharp library. It provides context about the local/no-login nature of the operation but does not explicitly name alternatives or state when not to use it, which prevents a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gen_backgroundA
用 MUSE AV 出图中台生成壁纸背景图/一般出图/出视频(在线,需登录)
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | 垫图文件绝对路径,多张用逗号分隔 | |
| input | No | 配合 skill 的一句业务描述 | |
| model | No | 模型名,如 gpt-image-2 | |
| ratio | No | 宽高比 | |
| skill | No | 中台技能 slug,提示词在服务端展开 | |
| video | No | 生成视频 | |
| prompt | No | 出图提示词(与 skill/template 三选一) | |
| quality | No | 质量(仅 gpt-image) | |
| template | No | 图片模板 id,提示词在服务端展开 | |
| transparent | No | 透明背景 PNG(抠掉背景) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It usefully notes that the tool is online and requires login, and the verb '生成' indicates it creates new assets rather than modifying existing ones. However, it does not describe output behavior, potential waiting times, video-vs-image behavioral differences, or failure modes, leaving significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that front-loads the action, names the platform, enumerates the output types, and adds the operational constraint '在线,需登录'. There is no filler; every segment contributes to a quick understanding of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 10 parameters, zero required parameters, no output schema, and no annotations, the description carries a heavy burden to explain the overall invocation model, return values, and default behavior. It only gives a high-level capability statement and a login requirement, leaving ambiguity about what happens after generation, how video generation is triggered or awaited, and which parameter combinations are valid. The schema is rich, but the surrounding operational context is too thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description itself adds little parameter-level meaning; it merely hints at video and general-image outputs that relate to 'video' and 'prompt'/'skill'. Since the schema already documents all parameters thoroughly, the description does not need to compensate here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb '生成' (generate) and the resources: wallpaper backgrounds, general images, or videos via the MUSE AV platform. This distinguishes it from the sibling tools (remove_bg, upscale_image, remove_watermark, compress_image), which are all post-processing operations rather than generation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage is implied: use this tool when generating wallpaper, general images, or video. However, it does not explicitly state when to use this tool versus the sibling alternatives, nor does it give exclusion conditions or guidance on choosing among skill/template/prompt modes. Some guidance exists in the schema, but the description itself stops at implication.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_bgB
本地抠图去背景(ISNet/U2Net,免登录),输出带 alpha 的 PNG
| Name | Required | Description | Default |
|---|---|---|---|
| out | No | 输出路径(默认 <名>-nobg.png) | |
| file | Yes | 输入图片绝对路径 | |
| model | No | 模型,isnet 默认 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the output format (alpha PNG) and the default model (ISNet), but does not disclose important behaviors such as processing time, file size limits, input format constraints, failure modes, or whether the operation is destructive to the input file. With zero annotation coverage, this is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence that front-loads the core action (抠图去背景), then packs the key differentiators (models, auth-free, output format) without any filler. Every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-required-parameter tool with a complete schema and no output schema, the description is reasonably complete: the agent knows the action, the models, the output format, and that no login is required. Missing behavioral context—such as expected runtime, input restrictions, or edge cases—prevents a higher score, but the core call path is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters (out, file, model), including the enum for model and the default naming convention. The description adds the default model ('isnet 默认') and the alpha-PNG output detail, but these are minor additions since the schema carries the parameter meanings.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('抠图去背景') and resource (local image, with named models ISNet/U2Net and an alpha-PNG output). It clearly identifies what the tool does and distinguishes it from a remote service by noting '免登录' (no login required) and local processing. It could be slightly more explicit about the resource being an image file, but the verb-and-resource clarity is solid.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: to remove backgrounds locally without authentication. It lists no explicit alternatives or exclusions, but the '免登录' note suggests a context where no account/API key is needed. No explicit guidance on when NOT to use it or which sibling tools to prefer, leaving some inference required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_watermarkA
本地去水印(LaMa 修复,免登录),自动定位,复杂画面可用 mask 指定
| Name | Required | Description | Default |
|---|---|---|---|
| out | No | 输出路径(默认 <名>-clean.png) | |
| file | Yes | 输入图片绝对路径 | |
| mask | No | 手工掩码图(白色=去除区),跳过自动定位 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It reveals meaningful traits: works locally, requires no login, uses LaMa inpainting, automatically locates watermarks, and allows manual masks for difficult cases. This goes beyond a simple 'removes watermarks' statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, compact sentence packs in the core purpose, technical method, access mode, and the auto-detection versus manual mask distinction. Every clause earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with no output schema, the description plus schema cover the function, the behavior, and the output path default. It could be richer with explicit when-not-to-use scenarios or input format constraints, but nothing essential is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all 3 parameters with 100% coverage, including the fact that mask skips auto-detection. The description's mention of auto-locating and mask use for complex scenes slightly reinforces parameter behavior but adds minimal new semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action (remove watermark), the method (LaMa inpainting), and key attributes (local processing, no login). It distinguishes itself from sibling tools like remove_bg (background removal) and upscale_image by targeting watermarks specifically.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: use when an image has a watermark, and use a mask for complex scenes. However, there is no explicit guidance on when not to use this tool or how it compares to alternatives like remove_bg for image cleanup tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upscale_imageA
本地超分放大(Real-ESRGAN + Vulkan GPU,免登录),默认 4x 输出 PNG
| Name | Required | Description | Default |
|---|---|---|---|
| out | No | 输出路径 | |
| file | Yes | 输入图片绝对路径 | |
| model | No | 模型 | |
| scale | No | 放大倍数,默认 4 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden. It adds useful behavioral context: local processing, GPU-based acceleration via Vulkan, no login required, and PNG output. It does not disclose failure cases or side effects, but the core operational traits are present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense, front-loaded sentence that commicates the essential purpose, backend, authentication requirement, default behavior, and output format with no filler. Every segment earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given four parameters, no output schema, and no annotations, the description covers the key operational context: local execution, GPU requirement, no login, default scale, and output format. Minor gaps remain around default model choice and error behavior, but the schema covers the parameters thoroughly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so a baseline of 3 applies. The description goes slightly beyond the schema by specifying '输出 PNG', which clarifies the format of the out parameter, and '默认 4x', which reinforces the scale default. This adds meaningful value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action (super-resolution upscaling), resource (image), engine (Real-ESRGAN + Vulkan), and output behavior (default 4x PNG). This clearly separates it from sibling tools like remove_bg, remove_watermark, and compress_image.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The purpose and sibling names imply that upscale_image is for enlarging/enhancing images rather than background removal, watermark removal, or compression. However, there is no explicit guidance about when to choose this tool over alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v1.0.0- First observed
compress_image - First observed
gen_background - First observed
remove_bg - First observed
remove_watermark - First observed
upscale_image
TDQS
Scored across 5 tools
Each tool targets a distinct transformation: generation, background removal, upscaling, watermark removal, and compression. There is no meaningful overlap; even the two remove_* tools operate on clearly different subjects.
All tool names follow a verb_noun snake_case pattern: gen, remove, upscale, remove, compress. The use of 'bg' as an abbreviation for 'background' is minor and does not break the overall consistency.
Five tools is a well-scoped set for an image-processing server. Each tool earns its place and together they cover a practical generation-to-optimization workflow without redundancy.
The set covers a coherent image workflow: generate, remove background/watermark, upscale, and compress. Minor gaps exist, such as image format conversion or metadata inspection, but common tasks are not blocked.
Maintenance
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Generate AI images and videos from any compatible MCP client.
Create images & video from any MCP agent — 17 models, spend limits, one URL.
Create and manage AI image and video generations through Quriov's fixed public MCP tools.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceExposes litmedia.ai text-to-image and image-to-video generation tools via MCP, enabling AI agents to generate images and videos directly from prompts.1MIT
- AlicenseAqualityBmaintenanceImage tools for coding agents: generate from text, edit one reference image, remove backgrounds, upscale 2x, and create reference-based sprite animations. The MCP server, CLI and REST API share one key, credit balance and request history. Needs a DreamLayer API key and paid credits; sprite sheets are beta.7277 npmMIT
- AlicenseNot gradedqualityFmaintenanceEnables AI image processing tools such as vectorization, background removal, upscaling, and logo generation from any MCP-compatible client like Claude Code or Cursor.14 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables MCP-capable agents to generate and edit images through Gemini or OpenAI, returning an absolute file path instead of image bytes to keep context windows clean.MIT