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 → 설명 또는 작업별 분석(qwen3.7-flash)

recognize_video

로컬 비디오 / 비디오 URL → 설명 또는 작업별 분석(qwen3.7-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 미리보기 1장을 추가 생성(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 획득(유효기간 48시간, 무료);

  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

qwen3.7-flash

이미지 인식 모델

DASH_VISION_VIDEO_MODEL

qwen3.7-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.

  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

Scored across 7 tools

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

Related MCP Connectors

Related MCP Servers