Skip to main content
Glama

MZMCP - MCP 服务集成平台

CI/CD CodeQL Security Scorecard OpenSSF Best Practices License Release Python Issues Pull Requests Commits Last Commit MCP Serverless Aliyun FC

项目架构图

项目架构图

Related MCP server: TOS MCP Server

案例介绍

本案例将 MCP (Model Context Protocol) 服务器部署到阿里云函数计算 FC,提供多种 AI 服务能力的统一接口。通过本案例,您可以快捷地部署、使用 MCP 服务,让 Claude 等 AI 助手具备调用华为云 OCR 等多种 AI 服务的能力。

本案例支持华为云 OCR 文字识别功能,用户可以通过 URL 或 Base64 编码识别图片中的文字内容。采用 SSE 传输方式实现实时通信,支持模块化设计,可按需扩展其他云服务提供商的 AI 服务。

本案例适用于需要让 AI 助手具备 OCR 文字识别能力的场景,可作为 AI 服务集成平台,实现多云服务统一接入,基于 Serverless 架构构建 AI 应用。

MCP 协议正在成为 AI 服务集成的标准协议,获得 Anthropic、OpenAI 等主流 AI 厂商的支持。Serverless 架构已成为云原生应用的主流选择,阿里云函数计算 FC 服务稳定可靠,支持百万级并发请求,99.99% 的服务可用性。

技术架构

本项目采用以下技术框架:

技术组件

版本/说明

用途

MCP (Model Context Protocol)

最新标准

AI 服务集成协议,标准化 AI 能力调用

FastMCP

Python SDK

MCP 服务器开发框架,简化 MCP 协议实现

Serverless Devs

最新版

Serverless 应用开发部署框架

阿里云函数计算 FC

-

Serverless 计算平台,按需计费,自动扩缩容

Python

3.10/3.11/3.12/3.13/3.14

开发语言

华为云 OCR SDK

Python 3.x

华为云 OCR 服务 SDK

SSE (Server-Sent Events)

-

实时通信协议,用于 MCP 传输

框架优势

  • MCP 协议:统一 AI 服务接入标准,获得 Anthropic、OpenAI 等主流厂商支持

  • FastMCP 框架:开箱即用的 MCP 服务器实现,支持自动工具注册和类型提示

  • Serverless Devs:声明式配置,一键部署,支持多云平台

  • 阿里云函数计算 FC:零运维、高可用、自动扩缩容,99.99% 服务可用性

本案例通过 Serverless 开发平台实现了以下核心价值:

  • 降低开发门槛:无需关注底层基础设施、服务器运维和资源管理,开发者可以专注于业务逻辑和 AI 服务集成,大幅缩短学习曲线和开发时间

  • 快速迭代:Serverless 架构支持代码的快速部署和更新,从开发到上线仅需几分钟,支持敏捷开发和持续集成

  • 成本优化:采用按需付费模式,只为实际使用的资源付费,避免服务器闲置造成的资源浪费,显著降低运营成本

  • 弹性扩展:自动应对流量波动,从零到百万级并发无缝扩展,无需手动配置和干预,确保服务始终可用

  • 统一接入:通过 MCP 协议统一多种 AI 服务接口,屏蔽不同云服务商的 API 差异,简化集成复杂度,便于快速切换和扩展

使用流程

0. 快速体验 - 本地启动 MCP 服务

本步骤用于在本地快速启动 MCP 服务,方便开发和测试。无需部署到云端,即可体验完整功能。

本项目支持两种传输模式:

模式

传输方式

使用场景

优势

SSE

HTTP (Server-Sent Events)

Web 服务器、远程访问

支持 HTTP,可远程调用,适合部署到云端

stdio

标准输入输出

本地开发、Claude Desktop

启动更快,调试更方便,资源占用更少

在开始之前,您需要:

步骤

说明

Python 环境

Python 3.10 或更高版本

安装依赖

安装项目所需的 Python 依赖包

配置环境变量

设置华为云认证信息

安装依赖

# 进入项目目录
cd src/mzmcp

# 安装依赖
pip install -r requirements.txt

或使用 UV 进行更快速的依赖管理:

# 安装 UV(如果尚未安装)
curl -LsSf https://astral.sh/uv/install.sh | sh

# 使用 UV 安装依赖
cd src/mzmcp
uv pip install -r requirements.txt

配置环境变量

在本地设置华为云的认证信息:

Linux/macOS:

export HUAWEI_CLOUD_SECRET_ID=your-secret-id
export HUAWEI_CLOUD_SECRET_KEY=your-secret-key
export HUAWEI_CLOUD_REGION=cn-east-3

Windows (PowerShell):

$env:HUAWEI_CLOUD_SECRET_ID="your-secret-id"
$env:HUAWEI_CLOUD_SECRET_KEY="your-secret-key"
$env:HUAWEI_CLOUD_REGION="cn-east-3"

模式一:启动 SSE 服务(HTTP 服务器)

适合需要通过 HTTP 访问或部署到服务器的场景。

# 进入项目目录
cd src/mzmcp

# 启动开发服务器
uvicorn main:app --reload --host 0.0.0.0 --port 8080

服务启动后,您会看到类似以下输出:

INFO:     Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit)
INFO:     Started reloader process [xxxxx] using StatReload
INFO:     Started server process [xxxxx]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
配置 Claude Desktop 连接 SSE 服务

在 Claude Desktop 的配置文件中添加本地 MCP 服务器配置:

Windows: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "huaweicloud-ocr-sse": {
      "url": "http://localhost:8080/sse"
    }
  }
}

模式二:启动 stdio 服务(推荐用于本地开发)

适合本地开发和 Claude Desktop 集成,启动更快,资源占用更少。

# 进入项目目录
cd src/mzmcp

# 启动 stdio 服务
python stdio_main.py

服务启动后,MCP 服务器将通过标准输入输出与 Claude Desktop 通信。

配置 Claude Desktop 连接 stdio 服务

在 Claude Desktop 的配置文件中添加 stdio MCP 服务器配置:

Windows: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "huaweicloud-ocr-stdio": {
      "command": "uvx",
      "args": ["mzmcp"],
      "env": {
        "HUAWEI_CLOUD_SECRET_ID": "your-secret-id",
        "HUAWEI_CLOUD_SECRET_KEY": "your-secret-key",
        "HUAWEI_CLOUD_REGION": "cn-east-3"
      }
    }
  }
}

说明:

  • uvx mzmcp 是 MCP 工具链的标准运行方式,会自动下载并运行最新版本的 mzmcp

  • 如果 uv 命令不可用,可以先使用 pip install uv 安装 uv 工具

注意:

  • uvx 会自动处理虚拟环境,无需预先配置

  • 可以在 env 中直接配置环境变量,无需预先设置

  • 如果已通过 pip install mzmcp 安装,也可以使用 mzmcp 命令代替 uvx mzmcp

本地开发优势:

  • 🚀 快速迭代,实时查看修改效果

  • 💡 方便调试,直接查看日志输出

  • 🎯 无需云端资源,零成本开发

  • 🔧 支持热重载,修改代码自动生效

  • ⚡ stdio 模式启动更快,资源占用更少

1. 准备工作 - 完成账号注册和服务开通

本步骤用于完成阿里云账号注册、函数计算服务开通以及华为云密钥获取,为后续部署做好准备。

在开始之前,您需要:

步骤

说明

注册阿里云账号

访问 https://www.aliyun.com 注册

开通函数计算服务

在控制台开通 FC 服务

获取华为云密钥

在华为云控制台获取 Access Key

配置环境变量

设置华为云认证信息

2. 部署应用 - 将 MCP 服务部署到阿里云函数计算

本步骤使用 Serverless Devs 工具将 MCP 服务代码部署到阿里云函数计算平台。

使用 Serverless Devs 工具快速部署:

# 1. 安装 Serverless Devs
npm install -g @serverless-devs/s

# 2. 配置阿里云密钥
s config add

# 3. 部署应用
s deploy

阿里云函数计算服务列表

3. 配置环境变量 - 设置华为云认证信息

本步骤在函数计算控制台配置华为云的认证信息,确保服务能够正常调用华为云 OCR API。

在函数计算控制台配置以下环境变量:

变量名

说明

是否必需

示例值

HUAWEI_CLOUD_SECRET_ID

华为云访问密钥 ID

<your-secret-id>

HUAWEI_CLOUD_SECRET_KEY

华为云访问密钥 Key

<your-secret-key>

HUAWEI_CLOUD_REGION

华为云服务区域

cn-east-3

函数计算环境变量配置

支持的华为云区域

区域名称

区域代码

非洲-john内斯堡

af-south-1

中国-香港

ap-southeast-1

亚太-曼谷

ap-southeast-2

亚太-新加坡

ap-southeast-3

华东-上海一

cn-east-3

华北-北京一

cn-north-1

华北-北京四

cn-north-4

华南-广州

cn-south-1

西南-贵阳一

cn-southwest-2

拉美-墨西哥城二

la-north-2

4. 在 Claude Desktop 中配置 MCP 服务器 - 连接 Claude 与 MCP 服务

本步骤在 Claude Desktop 客户端中配置 MCP 服务器,建立 Claude 与阿里云函数计算服务的连接。

部署完成后,在 Claude Desktop 的配置文件中添加 MCP 服务器配置:

Windows: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "huaweicloud-ocr": {
      "url": "http://your-fc-url/sse"
    }
  }
}

http://your-fc-url/sse 替换为您的函数计算服务 URL。

Claude Desktop MCP服务器配置

5. 使用 OCR 服务 - 通过 Claude 调用 OCR 功能

本步骤演示如何在 Claude Desktop 中使用 MCP 服务调用 OCR 功能识别图片文字。

配置完成后,重启 Claude Desktop,您就可以直接与 Claude 对话,让它调用 OCR 服务:

示例对话:

用户:请帮我识别这张图片中的文字内容
Claude:好的,我来帮您识别这张图片...
[Claude 自动调用 recognize_web_image 工具]
识别结果:图片中包含以下文字内容:"..."

或者明确指定:

用户:使用 URL 识别这张图片:https://example.com/image.png
Claude:我来帮您识别这张网络图片...
[Claude 调用 recognize_web_image 工具,传入 image_url 参数]
识别结果:...

Claude Desktop OCR对话示例

6. 可用工具 - 查看 MCP 服务提供的工具列表

本步骤展示 MCP 服务器提供的可用工具及其参数说明。

MCP 服务器提供以下工具:

工具名称

参数

说明

recognize_web_image

image_url (可选) 或 image (可选)

通过 URL 或 Base64 编码识别图片

Claude Desktop MCP工具详情

注意image_urlimage 参数二选一,不能同时提供。

贡献指南

本项目使用 pre-commit 进行代码质量检查,确保代码符合规范。

安装 Pre-commit

# 安装 pre-commit
pip install pre-commit

# 安装 git hooks
pre-commit install

配置的 Hooks

Hook

作用

优先级

gitleaks

检测密钥泄露

🔒 必须

pylint

Python 代码质量检查(含 pytest 支持)

🐍 必须

trailing-whitespace

删除行尾空格

🔧 推荐

end-of-file-fixer

修复文件末尾

📄 推荐

shellcheck

Shell 脚本检查

🐚 推荐

手动运行 Hooks

# 对所有文件运行
pre-commit run --all-files

# 对特定文件运行
pre-commit run --files src/mzmcp/main.py

更新 Hooks

# 更新到最新版本
pre-commit autoupdate

# 重新安装
pre-commit install --hook-stage pre-commit

更多详细信息请参阅 Pre-commit 官方文档

注意事项

  1. 环境变量配置:确保正确配置华为云的 Access Key 和 Secret Key,否则 OCR 服务无法正常调用

  2. 网络访问:如果使用 URL 识别,确保图片 URL 可公开访问

  3. 图片格式:支持常见的图片格式(JPG、PNG、BMP 等),建议使用清晰的图片以提高识别准确率

  4. 并发限制:函数计算有并发限制,大量并发请求可能触发限流

  5. 费用说明

    • 函数计算按实际使用量计费

    • 华为云 OCR 服务按调用次数计费

    • 建议合理使用,避免不必要的调用

  6. 区域选择:建议选择与目标用户接近的区域,降低网络延迟

  7. 安全建议

    • 不要将 Access Key 和 Secret Key 提交到代码仓库

    • 使用环境变量或密钥管理服务存储敏感信息

    • 定期轮换密钥

CI/CD 流水线

本项目采用完整的 CI/CD 流水线,确保代码质量和安全性。

详细的 CI/CD 流水线说明、Mermaid 可视化图以及各工作流的触发条件,请查看 CI/CD 流水线文档

该文档包含:

  • 完整的 Mermaid 流水线可视化图

  • 各工作流的详细触发条件

  • 工作流分类和说明

Available Tools

21 tools
aiPicMattingD

图片处理-抠图

ParametersJSON Schema
NameRequiredDescriptionDefault
objectKeyYes图片在存储桶里的路径
widthNo宽度
heightNo高度

TDQS

D1.7/5.0
Behavior1/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. The description '图片处理-抠图' gives no information about what the tool actually does behaviorally - whether it modifies images, returns processed results, requires authentication, has rate limits, or what format the output takes. It's completely inadequate for understanding tool behavior.

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

Conciseness2/5

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

While technically concise with just two Chinese characters and a dash, this is under-specification rather than effective conciseness. The description fails to communicate essential information about the tool's purpose and usage. Every sentence should earn its place, but here the single phrase fails to provide meaningful content.

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

Completeness1/5

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

Given a tool with 3 parameters, no annotations, and no output schema, the description '图片处理-抠图' is completely inadequate. It doesn't explain what the tool returns, how it processes images, what 'matting' means in this context, or any behavioral characteristics. For a potentially complex image processing tool, this minimal description leaves critical gaps.

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%, with all three parameters (objectKey, height, width) having descriptions in Chinese. The tool description adds no additional parameter information beyond what's already in the schema. With complete schema coverage, the baseline score of 3 is appropriate since the schema does the documentation work.

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

Purpose2/5

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

The description '图片处理-抠图' translates to 'Image processing - matting' which restates the tool name 'aiPicMatting' (AI picture matting) in slightly different words. It's a tautology that doesn't specify what the tool actually does beyond the name. No specific verb or resource distinction from siblings is provided.

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

Usage Guidelines1/5

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

The description provides absolutely no guidance on when to use this tool versus alternatives. There's no mention of context, prerequisites, or comparison to sibling tools like aiQrcode, aiSuperResolution, or other image processing tools. The agent receives zero usage direction.

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

aiQrcodeB

图片处理-二维码识别-识别存储桶内二维码图片内容

ParametersJSON Schema
NameRequiredDescriptionDefault
objectKeyYesCOS对象键(完整路径)示例: images/qrcode.jpg

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states the tool performs QR code recognition on images in a storage bucket, implying a read-only operation, but doesn't disclose behavioral traits such as error handling (e.g., what happens if the image isn't a QR code), performance characteristics (e.g., processing time), or output format (since no output schema exists). This leaves significant gaps for an AI agent.

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, efficient sentence in Chinese: '图片处理-二维码识别-识别存储桶内二维码图片内容'. It is front-loaded with the core purpose and has zero wasted words, making it highly concise and well-structured for quick understanding.

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?

Given the tool's complexity (image processing with one parameter), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., decoded text, error messages), behavioral details, or usage context. While concise, it fails to provide sufficient information for an AI agent to fully understand how to invoke and interpret results from this tool.

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 description doesn't explicitly mention parameters, but with 100% schema description coverage (the single parameter 'objectKey' is well-documented in the schema as 'COS对象键(完整路径)示例: images/qrcode.jpg'), the baseline is 3. The description adds value by clarifying the resource context ('识别存储桶内二维码图片内容' - recognize QR code image content in storage bucket), which implicitly relates to the objectKey parameter, elevating the score slightly.

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 tool's purpose: '图片处理-二维码识别-识别存储桶内二维码图片内容' (Image processing - QR code recognition - recognize QR code image content in storage bucket). It specifies the verb (recognize), resource (QR code images), and scope (in storage bucket). However, it doesn't explicitly differentiate from sibling tools like 'imageInfo' or 'imageSearchPic' that might also process images.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a valid object key), exclusions (e.g., non-QR code images), or comparisons to sibling tools like 'imageInfo' (which might provide general image metadata) or 'imageSearchPic' (which might search images). The scope is implied ('in storage bucket') but not explicitly contrasted.

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

aiSuperResolutionC

图片处理-超分辨率

ParametersJSON Schema
NameRequiredDescriptionDefault
objectKeyYes图片在存储桶里的路径

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states '图片处理-超分辨率', implying a processing operation that likely modifies or enhances images, but doesn't specify if it's read-only, destructive, requires authentication, has rate limits, or what the output entails (e.g., returns a processed image URL). This is a significant gap for a tool with no annotation coverage.

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?

The description is very concise with just two words ('图片处理-超分辨率'), which is efficient and front-loaded. However, it's arguably too brief, bordering on under-specified, as it lacks necessary details for clarity. Every word earns its place, but more context would improve usefulness without sacrificing conciseness.

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?

Given the tool's complexity (image processing with potential side effects), no annotations, no output schema, and minimal description, the description is incomplete. It doesn't explain what the tool returns, how it behaves, or when to use it, making it inadequate for an AI agent to invoke correctly. More information is needed to compensate for the lack of structured data.

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 has 1 parameter with 100% description coverage ('图片在存储桶里的路径' meaning 'path of the image in the storage bucket'), so the schema fully documents the parameter. The description adds no additional meaning beyond what the schema provides, such as format examples or constraints. With high schema coverage, the baseline score of 3 is appropriate.

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

Purpose3/5

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

The description '图片处理-超分辨率' translates to 'image processing - super resolution', which indicates the general purpose of enhancing image resolution. However, it's vague about the specific action (e.g., 'apply', 'generate', 'enhance') and doesn't differentiate from sibling tools like 'assessQuality' or 'waterMarkFont', which are also image-related. It avoids tautology but lacks specificity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites, context (e.g., for low-resolution images), or exclusions (e.g., not for text processing). With sibling tools like 'assessQuality' and 'imageInfo', there's no indication of how this tool fits into the workflow, leaving usage unclear.

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

assessQualityC

图片处理-图片质量评估

ParametersJSON Schema
NameRequiredDescriptionDefault
objectKeyYes图片在存储桶里的路径

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden but adds minimal behavioral context. It implies a read-only analysis (assessing quality) but doesn't disclose critical traits: whether it modifies the image, requires specific permissions, has rate limits, returns structured scores or simple ratings, or handles errors. For a tool with no annotations, this leaves significant gaps in understanding its behavior.

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?

The description is very concise ('图片处理-图片质量评估'), consisting of a brief phrase. It's front-loaded with the core function but lacks elaboration. While efficient, it may be overly terse for a tool that likely returns complex quality metrics, risking under-specification rather than true conciseness.

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?

Given the tool's complexity (quality assessment often involves multiple metrics) and lack of annotations and output schema, the description is incomplete. It doesn't explain what 'quality' means, what the output contains (e.g., scores, recommendations), or any limitations (e.g., supported image types). For a tool with no structured output documentation, this leaves the agent guessing about results.

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%, with the parameter 'objectKey' clearly documented as '图片在存储桶里的路径' (path of the image in the storage bucket). The description adds no additional meaning beyond this, such as format examples or constraints. Since the schema fully describes the single parameter, the baseline score of 3 is appropriate—adequate but no extra value from the description.

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

Purpose3/5

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

The description '图片处理-图片质量评估' (Image processing - image quality assessment) states a general purpose but lacks specificity. It mentions the domain (image processing) and function (quality assessment) but doesn't specify what kind of quality is assessed (e.g., technical metrics, aesthetic scores) or what the output represents. It doesn't clearly distinguish from siblings like 'imageInfo' which might provide similar metadata.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., image format requirements), use cases (e.g., evaluating uploads, filtering content), or comparisons to siblings like 'imageInfo' (which might give basic info) or 'aiSuperResolution' (which enhances quality). The agent must infer usage from the name alone.

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

createDocToPdfJobC

创建文档转 pdf 处理任务

ParametersJSON Schema
NameRequiredDescriptionDefault
objectKeyYes对象在存储桶里的路径

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states '创建' (create), implying a write/mutation operation, but doesn't disclose behavioral traits such as permissions needed, whether it's asynchronous, rate limits, or what happens on failure. This is a significant gap for a tool that likely initiates a processing job without output schema details.

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?

The description is a single, efficient sentence in Chinese that directly states the tool's function without unnecessary words. It's appropriately sized and front-loaded, though it could be slightly more informative. No wasted text, but it borders on under-specification.

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?

Given the complexity of creating a processing job with no annotations and no output schema, the description is incomplete. It doesn't explain what the job entails, expected outcomes, error handling, or how to monitor results (e.g., using 'describeDocProcessJob'). For a mutation tool with minimal structured data, more context is needed to guide an AI agent effectively.

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 has 1 parameter with 100% description coverage ('对象在存储桶里的路径'), so the schema already documents the parameter well. The description adds no additional meaning beyond what the schema provides, such as explaining the objectKey format or constraints. Baseline 3 is appropriate since the schema does the heavy lifting.

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

Purpose3/5

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

The description '创建文档转 pdf 处理任务' clearly states the action (create) and resource (document-to-PDF processing job), which is better than a tautology. However, it doesn't differentiate from siblings like 'createMediaSmartCoverJob' or explain what type of document conversion this handles versus other tools. The purpose is understandable but lacks specificity about scope or differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an object in storage), exclusions, or comparisons to sibling tools like 'describeDocProcessJob' for checking job status. Usage is implied from the name but not explicitly stated, leaving gaps for an AI agent.

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

createMediaSmartCoverJobD

创建媒体智能封面任务

ParametersJSON Schema
NameRequiredDescriptionDefault
objectKeyYes对象在存储桶里的路径

TDQS

D1.9/5.0
Behavior1/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure but fails completely. It doesn't indicate whether this is a read or write operation, what permissions might be required, whether it's asynchronous (suggested by 'Job' in the name), what happens on success/failure, or any rate limits or side effects. The description provides zero behavioral context beyond the basic action implied by 'create'.

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?

The description is extremely concise - a single Chinese phrase. While this could be seen as efficient, it's arguably under-specified rather than appropriately concise. However, given that it's a single phrase with no wasted words and gets straight to the point (albeit minimally), it earns a relatively high score for conciseness despite its substantive deficiencies.

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

Completeness1/5

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

Given the complexity implied by 'SmartCoverJob' and the complete absence of annotations and output schema, the description is woefully incomplete. It doesn't explain what a 'media smart cover' is, what the job does, what inputs are needed beyond the schema, what the expected output or result looks like, or any behavioral characteristics. For a job creation tool with no structured metadata, this description provides inadequate context.

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 has 100% description coverage with a clear parameter description for 'objectKey' ('对象在存储桶里的路径'). The description adds no parameter information beyond what's already in the schema. According to the scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description, which applies here.

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

Purpose2/5

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

The description '创建媒体智能封面任务' is a tautology that essentially restates the tool name 'createMediaSmartCoverJob' in Chinese. It provides no additional specificity about what 'media smart cover' means, what resource is being acted upon, or what the actual outcome of this 'creation' entails. While it does contain a verb ('创建') and a noun phrase ('媒体智能封面任务'), it lacks meaningful differentiation from sibling tools.

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

Usage Guidelines1/5

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

The description provides absolutely no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, appropriate contexts, or what distinguishes it from sibling tools like 'createDocToPdfJob', 'describeMediaJob', or other media processing tools. There's no indication of when this tool is the correct choice versus when other tools should be used instead.

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

describeDocProcessJobC

根据 jobid 查询指定的文档转码任务结果

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYes要查询的任务ID,可通过提交文档任务的响应中获取。

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It only states the query action without mentioning whether this is a read-only operation, what permissions might be required, what happens if the job ID doesn't exist, or what format the results will be in. For a query tool with zero annotation coverage, this leaves significant behavioral gaps.

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

Conciseness5/5

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

The description is a single, efficient sentence in Chinese that directly states the tool's purpose without any unnecessary words or elaboration. Every word serves a clear purpose in conveying the core functionality.

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 query tool with no annotations and no output schema, the description is insufficient. It doesn't explain what information the query returns (status, progress, output location, error details), what happens for invalid/nonexistent job IDs, or any rate limits or authentication requirements. The context signals indicate this is a simple tool, but the description leaves too many operational questions unanswered.

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 schema has 100% description coverage, with the single parameter 'jobId' well-documented in the schema itself. The description adds minimal value beyond what's already in the schema - it mentions job IDs come from document task submissions, but this is essentially restating the schema's description. Baseline 3 is appropriate when schema does the heavy lifting.

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 ('查询' - query) and resource ('文档转码任务结果' - document transcoding job result), specifying what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'describeMediaJob' which might have similar query functionality for different resource types.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. While it mentions job IDs come from '提交文档任务的响应' (responses from submitting document tasks), it doesn't specify when to query versus when to use other tools like 'createDocToPdfJob' or how this differs from 'describeMediaJob' for media-related queries.

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

describeMediaJobB

根据 jobid 查询指定的媒体智能封面任务结果

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYes要查询的任务ID,可通过提交智能封面任务的响应中获取。

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states it queries results but doesn't disclose behavioral traits like whether it's read-only (implied but not stated), potential errors (e.g., invalid job IDs), rate limits, authentication needs, or what the output contains (e.g., status, cover image URL). For a query tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.

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, efficient sentence in Chinese that directly states the purpose without unnecessary words. It's appropriately sized and front-loaded, with every part contributing to understanding the tool's function.

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?

Given no annotations and no output schema, the description is incomplete for a tool that queries job results. It doesn't explain what the return values include (e.g., success/failure, cover image details, error messages), which is critical for an agent to use it correctly. The schema covers the input well, but overall context is lacking for effective tool invocation.

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%, with the parameter 'jobId' fully documented in the schema as '要查询的任务ID,可通过提交智能封面任务的响应中获取' (task ID to query, obtainable from submitting smart cover tasks). The description adds no additional meaning beyond this, as it essentially repeats the same information. Baseline is 3 when schema does the heavy lifting.

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 ('查询' - query) and resource ('媒体智能封面任务结果' - media smart cover job results) with a specific identifier ('根据 jobid' - based on job ID). It distinguishes from siblings like 'createMediaSmartCoverJob' (which creates jobs) and 'describeDocProcessJob' (which queries document jobs). However, it doesn't explicitly mention it's for retrieving results rather than status, which could be slightly more specific.

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 context by mentioning job IDs come from '提交智能封面任务的响应中获取' (obtained from submitting smart cover tasks), suggesting it should be used after job creation. However, it doesn't explicitly state when to use this vs. alternatives like checking job status through other means or when not to use it (e.g., for non-media jobs). No explicit alternatives are named.

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

getBucketB

查询存储桶内的文件列表

ParametersJSON Schema
NameRequiredDescriptionDefault
PrefixNo文件列表的路径前缀,默认根路径

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. While '查询' implies a read operation, it doesn't specify whether this requires authentication, has rate limits, returns paginated results, or what happens with large buckets. For a tool with zero annotation coverage, this leaves significant behavioral gaps.

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

Conciseness5/5

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

The description is a single, efficient Chinese sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded with the essential information.

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 simple list operation with one documented parameter and no output schema, the description is minimally adequate. However, with no annotations and siblings that overlap in functionality, it should provide more context about when this specific list operation is needed versus other bucket access tools.

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 the single 'Prefix' parameter completely. The description doesn't add any parameter information beyond what's in the schema, maintaining the baseline score of 3 for adequate but not enhanced parameter semantics.

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 '查询' (query) and resource '存储桶内的文件列表' (file list in storage bucket), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'getObject' or 'getObjectUrl' which also retrieve bucket-related information, preventing a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'getObject' (retrieve specific file) and 'getObjectUrl' (get file URL), there's no indication of when this list operation is preferred over those individual file operations.

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

getCosConfigC

获取COS配置, 腾讯云配置

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action ('获取' - get/retrieve), implying a read-only operation, but doesn't disclose other traits like authentication requirements, rate limits, error conditions, or what the output contains (e.g., JSON structure). This is a significant gap for a tool with no annotation coverage.

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?

The description is very concise with just two phrases ('获取COS配置, 腾讯云配置'), which efficiently states the purpose without unnecessary words. It's front-loaded with the key action. However, it could be slightly more structured by clarifying the scope (e.g., 'Retrieves the current COS configuration from Tencent Cloud'), but it's still highly efficient.

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?

Given the tool has no parameters (simplifying input) but no output schema and no annotations, the description is incomplete. It doesn't explain what the configuration includes (e.g., storage classes, regions), the format of the return value, or any behavioral context like error handling. For a configuration retrieval tool, this leaves the agent with insufficient information to use it effectively.

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 0 parameters, and the schema description coverage is 100% (as there are no parameters to describe). The description doesn't need to add parameter semantics, so it meets the baseline. No additional value is required or provided, making this adequate for a parameterless tool.

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

Purpose3/5

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

The description states the tool '获取COS配置, 腾讯云配置' (Get COS configuration, Tencent Cloud configuration), which clearly indicates it retrieves configuration information. However, it's somewhat vague about what specific configuration is retrieved (e.g., storage settings, access policies, region info) and doesn't explicitly differentiate from sibling tools like 'getBucket' or 'getObject', which also retrieve COS-related information.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., authentication needs), context for usage (e.g., before uploading objects), or comparisons to sibling tools like 'getBucket' (which might retrieve bucket-level info) or 'getObject' (which retrieves specific objects). Without this, the agent lacks clear direction.

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

getObjectC

下载存储桶内的文件

ParametersJSON Schema
NameRequiredDescriptionDefault
objectKeyYes文件的路径

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states 'download' which implies a read operation, but doesn't disclose behavioral traits like authentication requirements, rate limits, error conditions, or what happens if the file doesn't exist. For a tool with zero annotation coverage, this is a significant gap.

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, efficient sentence in Chinese that directly states the tool's purpose. It's front-loaded with no wasted words, making it highly concise and well-structured.

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?

Given no annotations, no output schema, and a single parameter with full schema coverage, the description is incomplete. It doesn't explain what the tool returns (e.g., file content, metadata), error handling, or usage context, leaving significant gaps for an AI agent.

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%, with the parameter 'objectKey' documented as '文件的路径' (file path). The description adds no additional parameter semantics beyond what the schema provides, so the baseline score of 3 is appropriate.

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 action (download) and target (file in bucket). It distinguishes from siblings like 'getBucket' (list bucket) and 'putObject' (upload), but doesn't explicitly differentiate from 'getObjectUrl' which might return a URL instead of the file content.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'getObjectUrl' or 'putObject'. The description implies it's for downloading files, but doesn't specify prerequisites (e.g., file must exist) or compare with sibling tools.

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

getObjectUrlC

获取存储桶内的文件的带签名的下载链接

ParametersJSON Schema
NameRequiredDescriptionDefault
objectKeyYes文件的路径

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. While it mentions '带签名的' (signed), implying authentication or security aspects, it doesn't elaborate on what this entails (e.g., expiration time, permissions required, or rate limits). For a tool that likely involves sensitive operations (generating signed URLs), this lack of detail is a significant gap in 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, efficient sentence that directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly. Every part of the sentence contributes essential information, earning its place.

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?

Given the complexity (generating signed URLs for file access) and the lack of annotations and output schema, the description is incomplete. It doesn't cover behavioral aspects like authentication needs, URL expiration, or error conditions, nor does it explain the return value (e.g., the structure of the signed URL). For a tool with no structured safety or output information, this leaves critical gaps in understanding.

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 schema description coverage is 100%, with the parameter 'objectKey' clearly documented as '文件的路径' (file path). The description adds no additional meaning beyond this, as it doesn't explain path formats, constraints, or examples. Given the high schema coverage, the baseline score of 3 is appropriate, as the schema adequately handles parameter semantics without extra value from the description.

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 action ('获取带签名的下载链接' - get signed download URL) and the resource ('存储桶内的文件' - file in storage bucket), providing a specific verb+resource combination. However, it doesn't distinguish this tool from sibling tools like 'getObject' which might retrieve the file itself rather than just a URL, so it misses full sibling differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites (e.g., needing authentication or bucket access), comparison to sibling tools like 'getObject' (which might fetch the actual file), or scenarios where a signed URL is preferred over direct access. This leaves the agent with insufficient context for appropriate tool selection.

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

imageInfoC

图片处理-获取图片信息

ParametersJSON Schema
NameRequiredDescriptionDefault
objectKeyYes图片在存储桶里的路径

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states 'get image information' but doesn't disclose behavioral traits such as whether this is a read-only operation, requires specific permissions, has rate limits, or what the output format might be. The description is minimal and lacks essential context for safe and effective use.

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?

The description is very concise ('图片处理-获取图片信息'), consisting of a single phrase. It's front-loaded but potentially under-specified. While efficient, it might benefit from slightly more detail to improve clarity without becoming verbose.

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?

Given the tool has no annotations, no output schema, and a minimal description, the description is incomplete. It doesn't explain what 'image information' entails, how results are returned, or any behavioral aspects. For a tool with 1 parameter and no structured context, more detail is needed to guide effective use.

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 has 1 parameter with 100% description coverage ('图片在存储桶里的路径' - path of the image in the storage bucket). The description adds no additional meaning beyond the schema, as it doesn't elaborate on parameter usage or constraints. With high schema coverage, the baseline score of 3 is appropriate.

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

Purpose3/5

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

The description '图片处理-获取图片信息' (Image processing - get image information) states a general purpose but lacks specificity. It mentions 'get image information' but doesn't specify what information (e.g., metadata, dimensions, format) or distinguish it from sibling tools like 'getObject' or 'assessQuality'. The purpose is clear but vague.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or exclusions, and there's no comparison to sibling tools like 'getObject' (which might retrieve raw image data) or 'assessQuality' (which might analyze image quality). Usage is implied but not explicit.

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

imageSearchPicC

根据输入的图片,从数据集中检索出与输入的图片内容相似的图片

ParametersJSON Schema
NameRequiredDescriptionDefault
uriYes图片地址

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions retrieval from a dataset but doesn't disclose behavioral traits such as rate limits, authentication needs, what 'similar' means (e.g., visual similarity, semantic similarity), or response format. For a tool with no annotation coverage, this is a significant gap in 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, efficient sentence in Chinese that directly states the tool's function without unnecessary words. It is appropriately sized and front-loaded, with every part contributing to understanding the purpose, making it highly concise and well-structured.

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?

Given the tool's complexity (image similarity search), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the dataset contains, how similarity is measured, or what the return values are (e.g., list of images, scores). For a retrieval tool with no structured output, more context is needed to guide the agent effectively.

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 schema description coverage is 100% (parameter 'uri' is described as '图片地址' - image address), so the baseline is 3. The description adds no additional meaning beyond the schema, such as format requirements (e.g., supported image types, URI protocols) or constraints (e.g., size limits). It relies entirely on the schema for parameter documentation.

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 tool's purpose: '根据输入的图片,从数据集中检索出与输入的图片内容相似的图片' (Retrieve images similar to the input image from a dataset). It specifies the verb '检索出' (retrieve) and resource '图片' (images), but doesn't differentiate from its sibling 'imageSearchText', which performs text-based image search. This makes it clear but not fully sibling-distinct.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'imageSearchText' (text-based image search) or other image-related tools (e.g., 'aiPicMatting', 'assessQuality'). It implies usage for image similarity retrieval but lacks explicit when/when-not instructions or prerequisites, leaving the agent to infer context.

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

imageSearchTextC

根据输入的文本内容,从数据集中检索出与输入的文本内容相符的图片

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes检索的文本

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states this is a retrieval/search operation but doesn't disclose important behavioral traits: whether this is read-only or has side effects, what dataset is being searched, authentication requirements, rate limits, pagination behavior, or what happens when no matches are found. The description is minimal and lacks operational context.

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?

Extremely concise single sentence that directly states the tool's function. No wasted words or unnecessary elaboration. The description is appropriately sized for a simple search tool with one parameter.

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 search tool with no annotations and no output schema, the description is insufficient. It doesn't explain what kind of dataset is being searched, the format of returned images, error conditions, or limitations. Given the complexity of image search and lack of structured metadata, more context is needed for effective agent use.

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% with one parameter 'text' described as '检索的文本' (search text). The description adds minimal value beyond the schema, only reinforcing that the input is '文本内容' (text content). With high schema coverage, the baseline is 3 even without additional parameter semantics in the description.

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 tool's purpose: '从数据集中检索出与输入的文本内容相符的图片' (retrieve images matching input text from a dataset). It specifies the verb '检索' (retrieve/search) and resource '图片' (images), but doesn't distinguish it from sibling 'imageSearchPic' which appears to be a similar image search tool with different input type.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description doesn't mention when this tool is appropriate versus 'imageSearchPic' or other search/retrieval tools in the sibling list. It provides only the basic functionality without context about appropriate use cases.

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

putBase64C

上传base64编码内容到存储桶

ParametersJSON Schema
NameRequiredDescriptionDefault
base64ContentYesbase64编码的内容
fileNameYes文件名 (存在存储桶里的名称)
targetDirNo目标目录 (存在存储桶的哪个目录)
contentTypeNo内容类型,如 image/png (图片), application/pdf, application/vnd.openxmlformats-officedocument.wordprocessingml.document (文档) 等,如果base64带头部则默认自带的头部否则默认为 application/octet-stream

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. While '上传' (upload) implies a write/mutation operation, the description doesn't disclose important behavioral aspects like authentication requirements, error conditions, rate limits, whether the operation overwrites existing files, or what happens on success/failure. For a mutation tool with zero annotation coverage, this is a significant gap.

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, efficient Chinese sentence that directly states the tool's purpose without any unnecessary words or structural complexity. It's appropriately sized and front-loaded with the core functionality.

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 mutation tool with no annotations and no output schema, the description is inadequate. It doesn't explain what happens after upload (success response, error handling), doesn't mention authentication or permission requirements, and provides no context about the storage system. Given the tool's complexity as a write operation, more behavioral context is needed.

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 four parameters thoroughly. The description doesn't add any meaningful parameter semantics beyond what's already in the schema - it doesn't explain parameter interactions, provide examples, or clarify edge cases. With complete schema coverage, the baseline of 3 is appropriate.

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 action ('上传' meaning 'upload') and resource ('base64编码内容到存储桶' meaning 'base64 encoded content to storage bucket'), providing a specific verb+resource combination. However, it doesn't distinguish this tool from its sibling tools like putBuffer, putObject, putObjectSourceUrl, and putString, which all appear to be alternative upload methods.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With multiple sibling tools for uploading (putBuffer, putObject, putObjectSourceUrl, putString), there's no indication of when this base64-specific upload method is preferred or what distinguishes it from other upload methods.

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

putBufferC

上传buffer内容到存储桶

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesbuffer内容字符串
fileNameYes文件名 (存在存储桶里的名称)
targetDirNo目标目录 (存在存储桶的哪个目录)
contentTypeNo内容类型,如 image/png, application/pdf 等,默认为 application/octet-stream
encodingNo字符串编码格式,默认为utf8。hex=十六进制,base64=Base64编码,utf8=UTF-8文本,ascii=ASCII文本,binary=二进制

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. The description only states the upload action without mentioning any behavioral aspects like authentication requirements, rate limits, error conditions, whether this overwrites existing files, or what happens after upload. For a write operation tool with zero annotation coverage, this is insufficient.

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, efficient Chinese phrase ('上传buffer内容到存储桶') that directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded with the essential information.

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 write operation tool with 5 parameters and no annotations or output schema, the description is incomplete. It doesn't address important contextual aspects like what happens after upload (success/failure responses), whether this is idempotent, what permissions are required, or how it differs from similar sibling tools. The description alone doesn't provide enough information for confident tool selection and invocation.

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 5 parameters thoroughly. The description adds no additional parameter information beyond what's in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.

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 '上传buffer内容到存储桶' clearly states the action (upload) and target (storage bucket) in Chinese, making the purpose understandable. However, it doesn't differentiate from sibling tools like putBase64, putObject, putObjectSourceUrl, or putString, which all seem to upload content to storage buckets using different input formats.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. With multiple sibling upload tools (putBase64, putObject, putObjectSourceUrl, putString), the description offers no indication of what makes this tool distinct or when it should be preferred over those other options.

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

putObjectC

上传本地文件到存储桶

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYes文件路径 (包含文件名)
fileNameNo文件名 (存在存储桶里的名称)
targetDirNo目标目录 (存在存储桶的哪个目录)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states the upload action but doesn't mention permissions needed, rate limits, whether the operation is idempotent, what happens on conflicts (e.g., overwriting existing files), or error conditions. This is inadequate for a mutation tool with zero annotation coverage.

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, efficient sentence with zero waste. It's appropriately sized and front-loaded, directly stating the tool's purpose without unnecessary elaboration.

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 file upload tool with no annotations and no output schema, the description is incomplete. It lacks information about return values (e.g., success confirmation, error details), behavioral traits like overwrite behavior or permissions, and differentiation from sibling tools. This leaves significant gaps for an AI agent to use it correctly.

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 well. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't clarify relationships between fileName, filePath, and targetDir). Baseline 3 is appropriate when the schema does the heavy lifting.

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 action (upload) and target (local file to storage bucket). It's specific about what the tool does, though it doesn't explicitly differentiate from sibling tools like 'putObjectSourceUrl' which likely uploads from a URL instead of a local file.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'putObjectSourceUrl' (for URL-based uploads) or 'getObject' (for downloads), nor does it specify prerequisites or contexts for use.

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

putObjectSourceUrlC

通过 url下载文件并将文件上传到存储桶

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceUrlYes可下载的文件 url
fileNameNo文件名 (存在存储桶里的名称)
targetDirNo目标目录 (存在存储桶的哪个目录)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions downloading from a URL and uploading to a bucket, implying a write/mutation operation, but doesn't disclose behavioral traits such as required permissions, rate limits, error handling, or what happens if the file already exists. For a tool with no annotations, this is a significant gap in 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, efficient sentence: '通过 url下载文件并将文件上传到存储桶'. It's front-loaded with the core action and has no wasted words, making it highly concise and well-structured.

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?

Given the tool's complexity (involving download and upload operations), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects, error cases, or return values, leaving gaps that could hinder an agent's ability to use the tool effectively.

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 description adds no parameter semantics beyond what the input schema provides. Schema description coverage is 100%, with clear descriptions for 'fileName', 'sourceUrl', and 'targetDir'. The description doesn't explain parameter interactions, formats, or constraints, so it meets the baseline of 3 where the schema does the heavy lifting.

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 tool's purpose: '通过 url下载文件并将文件上传到存储桶' (download a file via URL and upload it to a storage bucket). It specifies the verb (download and upload) and resource (file to storage bucket). However, it doesn't explicitly differentiate from sibling tools like 'putObject' (which likely uploads from local source), making it clear but not fully sibling-distinctive.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'putObject' or 'getObjectUrl', nor does it specify prerequisites, exclusions, or contexts for usage. This leaves the agent with no explicit usage instructions.

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

putStringC

上传字符串内容到存储桶

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYes要上传的字符串内容
fileNameYes文件名 (存在存储桶里的名称)
targetDirNo目标目录 (存在存储桶的哪个目录)
contentTypeNo内容类型,如 text/plain, application/json 等,默认为 text/plain

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. While '上传' (upload) implies a write/mutation operation, the description doesn't disclose important behavioral aspects: whether this overwrites existing files, what permissions are required, error conditions, rate limits, or what happens on success/failure. For a mutation tool with zero annotation coverage, this is insufficient.

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, efficient Chinese phrase that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded with the core functionality.

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 mutation tool with no annotations and no output schema, the description is inadequate. It doesn't explain what happens after upload (success response, error handling), doesn't differentiate from similar sibling tools, and provides no behavioral context. The 100% schema coverage helps with parameters, but overall completeness is poor for a write operation.

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 4 parameters thoroughly. The description doesn't add any meaningful parameter semantics beyond what's in the schema - it doesn't explain relationships between parameters, provide examples, or clarify edge cases. Baseline 3 is appropriate when schema does the heavy lifting.

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 action ('上传' meaning 'upload') and resource ('字符串内容到存储桶' meaning 'string content to storage bucket'), providing a specific verb+resource combination. However, it doesn't distinguish this tool from sibling tools like putBase64, putBuffer, putObject, or putObjectSourceUrl which appear to be related upload operations with different input formats.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With multiple sibling upload tools (putBase64, putBuffer, putObject, putObjectSourceUrl), there's no indication of when this string-specific upload is preferred over other methods, nor any mention of prerequisites or constraints.

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

waterMarkFontC

生成带文字水印的图片

ParametersJSON Schema
NameRequiredDescriptionDefault
objectKeyYesCOS对象键(完整路径)示例: images/photo.jpg
textNo水印文字内容(支持中文)test

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. While it indicates the tool generates watermarked images (implying a write/mutation operation), it doesn't specify whether this modifies the original image, creates a new file, requires authentication, has rate limits, or what the output format/behavior is. For a tool with no annotations, this leaves significant gaps in understanding its effects.

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 extremely concise (one sentence: '生成带文字水印的图片') and front-loaded with the core purpose. There's no wasted language or unnecessary elaboration, making it efficient for quick understanding.

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?

Given the tool's complexity (image processing with mutation), lack of annotations, and no output schema, the description is insufficiently complete. It doesn't explain what happens to the original image, where the output is stored, error conditions, or any behavioral constraints. For a tool that likely modifies or creates files, more context is needed for safe and effective use.

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 schema description coverage is 100%, with both parameters ('objectKey' and 'text') clearly documented in the schema. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain how the watermark is applied, font/size options, or positioning). With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but also doesn't detract.

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

Purpose3/5

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

The description '生成带文字水印的图片' (Generate images with text watermarks) clearly states the tool's purpose with a specific verb ('生成' - generate) and resource ('图片' - images). However, it doesn't distinguish this tool from potential sibling tools that might also manipulate images, though none of the listed siblings appear to be direct alternatives for watermarking.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites, limitations, or comparison with other tools in the server (like 'putObject' for uploading or 'imageInfo' for analysis). The agent must infer usage context solely from the tool name and description.

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. 21 tool updatesv1.0.0
    • First observedaiPicMatting
    • First observedaiQrcode
    • First observedaiSuperResolution
    • First observedassessQuality
    • First observedcreateDocToPdfJob
    • First observedcreateMediaSmartCoverJob
    • First observeddescribeDocProcessJob
    • First observeddescribeMediaJob
    • First observedgetBucket
    • First observedgetCosConfig
    • First observedgetObject
    • First observedgetObjectUrl
    • First observedimageInfo
    • First observedimageSearchPic
    • First observedimageSearchText
    • First observedputBase64
    • First observedputBuffer
    • First observedputObject
    • First observedputObjectSourceUrl
    • First observedputString
    • First observedwaterMarkFont

TDQS

C2.9/5.0

Scored across 21 tools

Disambiguation4/5

Most tools have distinct purposes, with clear separation between image processing, file management, and job handling. However, there is some overlap between putBase64, putBuffer, putString, and putObject, which all handle file uploads with different input formats, potentially causing confusion.

Naming Consistency3/5

Naming conventions are mixed, with some tools using camelCase (e.g., createDocToPdfJob) and others using snake_case (e.g., image_search_pic is implied but not consistent). While verbs like 'create', 'describe', 'get', and 'put' are used predictably, the overall pattern lacks uniformity.

Tool Count3/5

With 21 tools, the count is on the higher side but reasonable for a server covering image processing, file storage, and job management. It feels slightly heavy but not excessive, as each tool serves a specific function within the domain.

Completeness4/5

The tool set provides good coverage for image processing and file operations, including upload, download, and management. Minor gaps exist, such as no direct delete or update tools for files or jobs, but agents can likely work around these with the available tools.

Maintenance

ActivityInactive
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    F
    maintenance
    A server based on MCP protocol that allows large language models to directly access Tencent Cloud Object Storage (COS) and Cloud Infinite (CI) services without coding, enabling file storage, retrieval, and processing operations.
    18
    134 npm
    38
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables interaction with Volcengine's TOS (Object Storage) service through MCP protocol. Supports bucket management, object operations, pre-signed URLs, and media processing including image manipulation and video frame extraction.
    13
    2
    Apache 2.0
  • A
    license
    B
    quality
    D
    maintenance
    Enables interaction with Tencent Cloud Object Storage (COS) through MCP protocol. Supports file upload, download, deletion, listing objects, and generating temporary signed URLs for cloud storage management.
    5
    5 npm
    MIT
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides unified access to multiple cloud object storage services (Huawei OBS, Alibaba OSS, AWS S3, MinIO) enabling AI assistants to list, search, retrieve, and manage unstructured data across different storage providers.
    -