Skip to main content
Glama

dsh-vision-dashscope

通过 DashScope / 千问(Qwen) 识别并生成图片、视频、音频的 DSH 插件(MCP server)。专治 Deepseek-omnimodal 等插件「视频大了就不行」的问题:

  • 长视频/大视频直接识别:走百炼临时 OSS 直传oss:// 临时 URL,单文件上限 1GB,按模型的 max_file_size_mb 校验),不压缩、不损画质;小视频(≤14MB)走 base64 省一次上传。

  • mkv / avi 等浏览器不可播格式也能识别(模型服务端解码抽帧)。

  • 音频:短音频 qwen3.5-omni 直接理解,长音频自动 fun-asr 转写。

工具

工具

说明

recognize_image

本地图片 / 图片 URL → 描述或按任务分析(qwen4.5-flash)

recognize_video

本地视频 / 视频 URL → 描述或按任务分析(qwen4.5-flash;大文件 OSS 直传)

recognize_audio

短音频 qwen3.5-omni 理解;长音频 fun-asr 转写

generate_image

文生图(qwen-image-3.0 等;约 0.18 元/张起)

generate_video

文生视频(wan2.7-t2v / happyhorse-1.1-t2v;约 0.6 元/秒起)

generate_video_from_image

图生视频(wan2.7-i2v 等,首帧图片自动上传临时 OSS)

dashscope_status

查看当前模型与限制配置

  • 识别工具会调用 DashScope 付费 API(按 token 计费,量小价低)。

  • 生成工具必须 confirm=true 才会实际调用付费接口false 时只返回预计费用(如“预计 3.00 元(5 秒 × 0.6 元/秒)”)。

  • 生成结果自动下载到本地输出目录(默认 ~/Downloads/dsh-vision-dashscope,可用 DASH_VISION_OUTPUT_DIR 修改),返回本地路径——配合 dsh-image-preview 可直接在对话里内联预览。

  • 文生图默认额外转一张 JPEG 预览preview 字段,最长边 1600px / 质量 85,可配置),原始 PNG 保留在 files 中——DSH 图片内联上限 5MB,大 PNG(1792×2400 可达 7MB)直接内联会 404,用 JPEG 预览即可正常显示。

Related MCP server: jimeng_visual_generation

安装

需要 Python 3.12+、uv。复制 .env.example.env 并填写 API Key:

git clone https://github.com/ywleeo/dsh-vision-dashscope.git
cd dsh-vision-dashscope
cp .env.example .env    # 填入 DASH_VISION_API_KEY
uv sync

API Key 也可用环境变量:DASH_VISION_API_KEY(缺省回退 OMNIMODAL_API_KEY / DASHSCOPE_API_KEY)。

DSH 接入

~/.dsh/profiles/web/cordis.patch.yml(用户 patch 层)追加:

- insert:
    - id: mcp-vision-dashscope
      name: '@deepseek-ai/dsh-mcp-client'
      config:
        serverName: vision-dashscope
        transport: stdio
        command: /Users/leeo/.local/bin/uv
        args:
          - run
          - --directory
          - /path/to/dsh-vision-dashscope
          - dsh-vision-dashscope
        failOnStartupError: false

重启 dsh web。连接后工具以 mcp__vision-dashscope__recognize_video 等名字出现。

大文件上传原理(长视频关键)

  1. GET /api/v1/uploads?action=getPolicy&model=<model> 获取上传凭证(含 upload_host、签名、max_file_size_mb);

  2. multipart 上传文件到 OSS 临时存储,得到 oss://<key> 临时 URL(有效期 48h,免费);

  3. chat 请求 video_url: {"url": "oss://..."} 并在 header 加 X-DashScope-OssResourceResolve: enable,模型服务端拉取解码抽帧。

参考:上传文件获取临时 URL(阿里云百炼文档)视觉理解(视频)

配置(环境变量 / .env)

变量

默认

说明

DASH_VISION_API_KEY

API Key(回退 OMNIMODAL_API_KEY / DASHSCOPE_API_KEY)

DASH_VISION_IMAGE_MODEL

qwen4.5-flash

图片识别模型

DASH_VISION_VIDEO_MODEL

qwen4.5-flash

视频识别模型

DASH_VISION_AUDIO_MODEL

qwen3.5-omni-flash

短音频理解模型

DASH_VISION_ASR_MODEL

fun-asr

长音频转写模型

DASH_VISION_VIDEO_BASE64_MAX_MB

14

视频 base64 阈值,超出走 OSS 直传

DASH_VISION_AUDIO_OMNI_MAX_SEC

300

长音频转写阈值(秒)

DASH_VISION_IMAGE_GEN_MODEL_STANDARD

qwen-image-3.0

文生图模型(PRO/MAX 档同理)

DASH_VISION_VIDEO_GEN_MODEL_STANDARD_T2V

wan2.7-t2v

文生视频模型(MAX 档 happyhorse-1.1-t2v;I2V 同理)

DASH_VISION_OUTPUT_DIR

~/Downloads/dsh-vision-dashscope

生成结果保存目录

DASH_VISION_MAX_VIDEO_DURATION

10

视频生成时长上限(秒)

DASH_VISION_MAX_TOKENS

4096

输出上限

测试

uv run pytest -q

License

MIT

Available Tools

7 tools
dashscope_statusA

查看当前模型与限制配置(不含 API Key)。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of behavioral disclosure. It communicates a read-only inspection action ('查看') and the important privacy trait that API Key is not included. It does not discuss side effects or rate limits, but for a status tool this is reasonably transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence states the resource and the key exclusion without filler. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless status/config tool with an output schema, the description is complete: it identifies the resource, the operation, and the privacy exclusion. No additional usage or output detail is necessary.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and schema description coverage is 100%, so the schema fully captures parameter semantics. Baseline for 0 params is 4; the description adds no param-specific detail, which is acceptable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses a specific verb '查看' and resource '当前模型与限制配置' to identify exactly what the tool does. It also explicitly excludes API Key, adding scope precision. This clearly distinguishes it from the media generation/recognition siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is a status/config inspection endpoint, but it does not state when to call it relative to recognize/generate siblings or any alternatives. No exclusions or alternate tools are named, so usage context is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_imageA

文生图。生成结果下载到本地输出目录并返回路径(配合 dsh-image-preview 可内联预览)。

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNo尺寸,如 1024*1024(qwen-image 支持像素)或档位 1K/2K/4K;默认由模型决定。
tierNo档位:standard(qwen-image-3.0)/pro(wan2.7-image-pro)/max(qwen-image-3.0-pro),默认 standard。standard
promptYes图片内容描述。
confirmNo必须为 true 才会实际调用付费生成接口;false 时只返回预计费用。

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations only indicate non-read-only, open-world, and non-destructive. The description adds concrete behavioral context: the result is persisted locally and the return value is a filesystem path, and it can be previewed inline. This is useful beyond the annotations. It does not mention the cost/confirmation gating, but that is documented in the schema parameter description and does not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: one opening phrase states the purpose, and one sentence gives the key output side effect and preview integration. Every sentence carries information and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given full schema documentation, annotations, and no output schema, the description covers the critical output behavior (local path return) and preview capability. It could be improved by explicitly noting the paid/confirm gating or when to select this vs. the video generators, but those are either in the schema or inferable from the clear text-to-image purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline applies. All four parameters (prompt, size, tier, confirm) are already fully described in the schema. The tool description itself does not add additional meaning about the parameters, aside from loosely implying the prompt is the text-to-image input.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's core function ('文生图' - text-to-image), and adds a distinct behavioral detail: the generated result is downloaded to a local output directory and a path is returned. This differentiates it from the sibling video-generation and recognition tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the main use case (generate an image from text) and mentions inline preview via dsh-image-preview, which gives some context. However, it does not explicitly state when to prefer this tool over generate_video or the recognition tools, nor does it provide any exclusions or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_videoA

文生视频。生成结果下载到本地输出目录并返回路径。

ParametersJSON Schema
NameRequiredDescriptionDefault
tierNo档位:standard(wan2.7-t2v)/pro(wan2.7-t2v 1080P)/max(happyhorse-1.1-t2v),默认 standard。standard
waitNotrue=等待完成并下载;false=提交后返回 task_id
promptYes视频内容描述。
confirmNo必须为 true 才会实际调用付费生成接口;false 时只返回预计费用。
durationNo秒数
resolutionNo720P/1080P;480P 自动升级为 720P720P

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds one genuinely useful behavioral fact beyond the annotations: results are downloaded to a local output directory and a path is returned. It does not contradict the annotations (readOnlyHint=false agrees with a generating/writing operation). However, it omits consequential behaviors such as the confirm-gate (must be true to actually invoke the paid API) and the asynchronous wait/return-task_id behavior, which the schema documents but the description does not surface.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with zero waste: the core purpose is front-loaded ('文生视频'), and the second sentence states the output contract. Every word earns its place, and there is no repetition of schema content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a cost-incurring generation tool with no output schema, the description gives only a minimal output contract ('returns path') and does not flag the confirm-gate gotcha or cost implications in the main description — though the schema parameter descriptions do cover them. It is adequate for a basic call but not rich enough to fully prepare an agent for the tool's key behavioral decisions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 six parameters (prompt, tier, wait, confirm, duration, resolution) with informative detail, including model names per tier and the 480P auto-upgrade rule. The description adds no parameter-level meaning, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb-resource pair ('文生视频' — generate video from text) and immediately distinguishes this tool from the sibling generate_video_from_image. It also states the concrete output behavior (downloading the result locally and returning the path), leaving no ambiguity about what the tool accomplishes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The '文生视频' phrase implies the use case: call this when the input is text and the desired output is video, which implicitly differentiates it from image/video/audio recognition siblings and generate_video_from_image. However, no explicit when-to-use guidance, exclusions, or alternative tool names are given, so routing decisions are left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_video_from_imageB

图生视频:以图片为首帧生成视频。

ParametersJSON Schema
NameRequiredDescriptionDefault
tierNo档位:standard(wan2.7-i2v)/max(happyhorse-1.1-i2v),默认 standard。standard
waitNotrue=等待完成并下载;false=提交后返回 task_id
imageYes首帧图片路径或 URL(本地图片自动上传到临时 OSS)。
promptYes视频内容描述。
confirmNo必须为 true 才会实际调用付费生成接口;false 时只返回预计费用。
durationNo秒数
resolutionNo720P/1080P;480P 自动升级为 720P720P

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds no behavioral detail beyond 'generates a video'. Annotations only state readOnlyHint=false and destructiveHint=false, so the description carries the burden of disclosing the paid-generation flow, cost confirmation, and async wait behavior — none of which appear in the description. It does not contradict the annotations, but it also fails to add behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence with the core concept front-loaded ('图生视频') and zero wasted words. It is economically written, though arguably too terse for a tool with 7 parameters and a paid-generation workflow.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 7 parameters, no output schema, and a rich behavioral workflow (confirm-before-payment, wait/task_id async mode, tier selection, resolution auto-upgrade), the one-line description is insufficient. The schema partially compensates, but the description alone leaves an agent unaware of cost confirmation and asynchronous submission dynamics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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's phrase '以图片为首帧' aligns with the image parameter's meaning but adds no new semantic detail beyond what the schema already documents for the seven parameters. It neither compensates for gaps nor introduces confusion.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '图生视频:以图片为首帧生成视频' clearly states the verb (generate), the resource (video), and the key constraint (image as the first frame). This implicitly distinguishes it from the sibling generate_image (image generation) and generate_video (likely text-to-video), though it does not name those siblings explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The '图生视频' (image-to-video) prefix implies the use case: generating video when an image is available as the starting frame. However, there is no explicit guidance about when to prefer this tool over the sibling generate_video, no exclusions, and no prerequisites such as the confirm=true requirement or cost check.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recognize_audioA

识别本地音频或音频 URL。

短音频(≤300s 且 ≤10MB)走 qwen3.5-omni 直接理解内容;长音频自动走 fun-asr 异步转写(本地文件先上传到临时 OSS),返回纯文本转录。

ParametersJSON Schema
NameRequiredDescriptionDefault
taskNo本次要从音频中提取或分析的具体内容;未传时默认详细描述音频内容。详细描述这段音频的内容
audioYes本地音频绝对路径,或 http(s) 音频 URL。
languageNo长音频转写时的语言提示(zh/en/ja/yue/ko/de/fr/ru),默认 zh。zh

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses important behavioral details: short audio uses qwen3.5-omni directly, long audio switches to fun-asr and is asynchronous, and local files are uploaded to temporary OSS. This is exactly the kind of hidden behavior an agent needs to anticipate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loads the core purpose, and presents the routing rules and return type in a scannable structure with no filler. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists and annotations cover the safety profile, the description is complete: purpose, routing thresholds, side effect (OSS upload), asynchronous behavior, and output nature are all present. No critical decision information for an agent is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema already defines audio, task, and language. The description adds useful context about processing branches that affect audio selection and the language hint, but it does not substantially extend parameter-level meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action ('识别') and resource ('本地音频或音频 URL'), and the short/long routing makes the tool's job unmistakable. It is also immediately distinguishable from sibling tools like recognize_image and recognize_video by audio modality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly indicates this tool is for audio recognition and provides explicit condition-based routing for short vs long audio, which is strong usage context. It does not explicitly name sibling alternatives or state when not to use them, so it stops just short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recognize_imageA

识别本地图片或图片 URL,按 task 调用千问多模态模型。

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNo识别档位:quick/standard/full/quick_analysis/balanced_analysis/deep_analysis,默认 standard。standard
taskNo本次要从图片中提取或分析的具体内容;未传时默认详细描述图片内容。详细描述这张图片的内容
imageYes本地图片绝对路径,或 http(s) 图片 URL。

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already signal readOnlyHint=false, openWorldHint=true, and destructiveHint=false. The description adds that the tool calls an external Qwen multimodal model and that task determines the extraction behavior, which is useful contextual information beyond the annotations. It does not disclose latency, failure modes, or side effects, but for a recognition tool this is a reasonable level of transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the core behavior: image input, URL support, task-driven processing, and the underlying model. Every part earns its place and there is no redundant wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, complete parameter schema, existing output schema, and annotations that cover safety hints, the short description is mostly sufficient. It covers the essential input types and core behavior, though it could additionally mention when not to use it or any image format constraints. Overall, the available context is adequate for an agent to select and call the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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: image, task, and mode. The description only reinforces that 'task' drives the model call, adding little beyond the structured schema. This aligns with the baseline of 3 for full schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('recognize'), a clear resource ('local image or image URL'), and explains that recognition is driven by a task parameter invoking a Qwen multimodal model. It distinguishes itself from sibling tools by scoping to images rather than video or audio, though it does not explicitly name an alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for image inputs by mentioning both local paths and URLs, and the sibling names make the video/audio alternatives inferable. However, it does not explicitly state when to use this tool over siblings or provide any exclusions, such as 'for videos, use recognize_video'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recognize_videoA

识别本地视频或视频 URL。

大文件(>14MB)自动走百炼临时 OSS 直传(上限 1GB、不压缩画质),小文件走 base64;支持任意浏览器不可播放的容器(mkv/avi 等),由模型服务端解码抽帧。

ParametersJSON Schema
NameRequiredDescriptionDefault
fpsNo抽帧频率(每秒帧数,0.1~10,默认 2.0);画面运动快可调高。
modeNo识别档位:quick/standard/full/quick_analysis/balanced_analysis/deep_analysis,默认 standard。standard
taskNo本次要从视频中提取或分析的具体内容;未传时默认详细描述视频内容。详细描述视频内容,按时间顺序说明关键画面、动作和字幕
videoYes本地视频绝对路径,或 http(s) 视频 URL。

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, it discloses important operational behavior: automatic temporary OSS direct upload for files over 14MB (1GB cap, no quality compression), base64 for small files, support for non-browser-playable containers such as mkv/avi, and server-side decoding/frame extraction. These are genuine behavioral traits that affect invocation success, and they do not contradict the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: the first states the purpose, and the second packs the key constraints into a compact list without filler. Every sentence earns its place and the most selection-relevant information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a full schema, an output schema, and annotations present, the description covers the remaining invocation-relevant facts: accepted sources, size threshold, transfer method, and container compatibility. It could have explicitly routed an agent away from sibling tools, but the verb and resource plus the default task make the use case clear enough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents all four parameters with descriptions, defaults, and valid ranges (e.g., fps 0.1-10 default 2.0, mode options, task default, video path/URL). The description adds no per-parameter meaning beyond that, so the baseline of 3 applies given 100% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening phrase '识别本地视频或视频 URL' names a specific verb (recognize) and resource (local video or video URL), which distinguishes it from recognize_image/recognize_audio and from generate_video tools. The additional details about decoding and frame extraction reinforce that this is an analysis tool, not a generation tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when the tool applies: it accepts local absolute paths or http(s) URLs and explains concrete file-size routing (>14MB via temporary OSS, smaller files via base64). It does not explicitly name alternatives or state when not to use it, so it stops short of full exclusions.

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. Dates show when Glama detected each change.

  1. 7 tool updatesv0.2.2
    • First observeddashscope_status
    • First observedgenerate_image
    • First observedgenerate_video
    • First observedgenerate_video_from_image
    • First observedrecognize_audio
    • First observedrecognize_image
    • First observedrecognize_video

TDQS

A4/5.0
Disambiguation5/5

Each tool targets a distinct modality and action: recognize_image/video/audio are clearly separate input types, while generate_image/video/video_from_image are distinct generation tasks. dashscope_status is the only non-media utility, so there is no real ambiguity.

Naming Consistency4/5

The recognize_* and generate_* groups follow a consistent verb_noun underscore pattern. dashscope_status is the only outlier since it uses a noun-style name rather than verb_noun, but the overall convention is still predictable and readable.

Tool Count5/5

Seven tools is well-scoped for a vision/media DashScope server. Each tool covers a meaningful capability without redundant or excessive surface area.

Completeness5/5

The tool set covers both major media understanding paths (image, video, audio) and generation paths (image, video, image-to-video). The status tool fills the configuration/inspection need, and there are no obvious dead ends for the stated domain.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ywleeo/dsh-vision-dashscope'

If you have feedback or need assistance with the MCP directory API, please join our Discord server