dsh-vision-dashscope
Click on "Install 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., "@dsh-vision-dashscopedescribe this local video: ~/Downloads/sample.mp4"
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.
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 转写。
工具
工具 | 说明 |
| 本地图片 / 图片 URL → 描述或按任务分析(qwen4.5-flash) |
| 本地视频 / 视频 URL → 描述或按任务分析(qwen4.5-flash;大文件 OSS 直传) |
| 短音频 qwen3.5-omni 理解;长音频 fun-asr 转写 |
| 文生图(qwen-image-3.0 等;约 0.18 元/张起) |
| 文生视频(wan2.7-t2v / happyhorse-1.1-t2v;约 0.6 元/秒起) |
| 图生视频(wan2.7-i2v 等,首帧图片自动上传临时 OSS) |
| 查看当前模型与限制配置 |
识别工具会调用 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 syncAPI 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 等名字出现。
大文件上传原理(长视频关键)
GET /api/v1/uploads?action=getPolicy&model=<model>获取上传凭证(含upload_host、签名、max_file_size_mb);multipart 上传文件到 OSS 临时存储,得到
oss://<key>临时 URL(有效期 48h,免费);chat 请求
video_url: {"url": "oss://..."}并在 header 加X-DashScope-OssResourceResolve: enable,模型服务端拉取解码抽帧。
参考:上传文件获取临时 URL(阿里云百炼文档)、视觉理解(视频)。
配置(环境变量 / .env)
变量 | 默认 | 说明 |
| — | API Key(回退 OMNIMODAL_API_KEY / DASHSCOPE_API_KEY) |
|
| 图片识别模型 |
|
| 视频识别模型 |
|
| 短音频理解模型 |
|
| 长音频转写模型 |
|
| 视频 base64 阈值,超出走 OSS 直传 |
|
| 长音频转写阈值(秒) |
|
| 文生图模型(PRO/MAX 档同理) |
|
| 文生视频模型(MAX 档 happyhorse-1.1-t2v;I2V 同理) |
|
| 生成结果保存目录 |
|
| 视频生成时长上限(秒) |
|
| 输出上限 |
测试
uv run pytest -qLicense
MIT
Available Tools
7 toolsdashscope_statusA
查看当前模型与限制配置(不含 API Key)。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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 可内联预览)。
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | 尺寸,如 1024*1024(qwen-image 支持像素)或档位 1K/2K/4K;默认由模型决定。 | |
| tier | No | 档位:standard(qwen-image-3.0)/pro(wan2.7-image-pro)/max(qwen-image-3.0-pro),默认 standard。 | standard |
| prompt | Yes | 图片内容描述。 | |
| confirm | No | 必须为 true 才会实际调用付费生成接口;false 时只返回预计费用。 |
TDQS
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.
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.
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.
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.
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.
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
文生视频。生成结果下载到本地输出目录并返回路径。
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | 档位:standard(wan2.7-t2v)/pro(wan2.7-t2v 1080P)/max(happyhorse-1.1-t2v),默认 standard。 | standard |
| wait | No | true=等待完成并下载;false=提交后返回 task_id | |
| prompt | Yes | 视频内容描述。 | |
| confirm | No | 必须为 true 才会实际调用付费生成接口;false 时只返回预计费用。 | |
| duration | No | 秒数 | |
| resolution | No | 720P/1080P;480P 自动升级为 720P | 720P |
TDQS
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.
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.
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.
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.
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.
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
图生视频:以图片为首帧生成视频。
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | 档位:standard(wan2.7-i2v)/max(happyhorse-1.1-i2v),默认 standard。 | standard |
| wait | No | true=等待完成并下载;false=提交后返回 task_id | |
| image | Yes | 首帧图片路径或 URL(本地图片自动上传到临时 OSS)。 | |
| prompt | Yes | 视频内容描述。 | |
| confirm | No | 必须为 true 才会实际调用付费生成接口;false 时只返回预计费用。 | |
| duration | No | 秒数 | |
| resolution | No | 720P/1080P;480P 自动升级为 720P | 720P |
TDQS
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.
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.
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.
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.
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.
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),返回纯文本转录。
| Name | Required | Description | Default |
|---|---|---|---|
| task | No | 本次要从音频中提取或分析的具体内容;未传时默认详细描述音频内容。 | 详细描述这段音频的内容 |
| audio | Yes | 本地音频绝对路径,或 http(s) 音频 URL。 | |
| language | No | 长音频转写时的语言提示(zh/en/ja/yue/ko/de/fr/ru),默认 zh。 | zh |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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 调用千问多模态模型。
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 识别档位:quick/standard/full/quick_analysis/balanced_analysis/deep_analysis,默认 standard。 | standard |
| task | No | 本次要从图片中提取或分析的具体内容;未传时默认详细描述图片内容。 | 详细描述这张图片的内容 |
| image | Yes | 本地图片绝对路径,或 http(s) 图片 URL。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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 等),由模型服务端解码抽帧。
| Name | Required | Description | Default |
|---|---|---|---|
| fps | No | 抽帧频率(每秒帧数,0.1~10,默认 2.0);画面运动快可调高。 | |
| mode | No | 识别档位:quick/standard/full/quick_analysis/balanced_analysis/deep_analysis,默认 standard。 | standard |
| task | No | 本次要从视频中提取或分析的具体内容;未传时默认详细描述视频内容。 | 详细描述视频内容,按时间顺序说明关键画面、动作和字幕 |
| video | Yes | 本地视频绝对路径,或 http(s) 视频 URL。 |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
7 tool updates
v0.2.2- First observed
dashscope_status - First observed
generate_image - First observed
generate_video - First observed
generate_video_from_image - First observed
recognize_audio - First observed
recognize_image - First observed
recognize_video
TDQS
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.
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.
Seven tools is well-scoped for a vision/media DashScope server. Each tool covers a meaningful capability without redundant or excessive surface area.
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
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
MCP server for Wan AI video generation
MCP server for Qwen Image 3 AI image generation
MCP server for Hailuo (MiniMax) AI video generation
MCP server for ByteDance Seedream AI image generation
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceMCP server enabling AI agents to generate AI videos and images, analyze video content, and download videos from Douyin and Xiaohongshu.-
- AlicenseAqualityCmaintenanceMCP server for generating images and videos using Volcengine's Jimeng APIs, supporting text-to-image, image-to-image, multi-image fusion, text-to-video, and image-to-video.31MIT
- AlicenseAqualityDmaintenanceMCP server for AI-powered media generation: images, videos, audio, and upscaling using 99 AI models.6MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server for generating images and videos via external multimodal models, providing unified tools like imageGenerate, videoGenerate, and materialWrite with support for normal and smart generation modes.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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