Skip to main content
Glama

1.什么是MCP?

MCP(模型上下文协议)是由 Anthropic 开发的一种通信协议(于 2024 年 11 月开源),它使大型语言模型(例如 DeepSeek-V3-0324、DeepSeek-R1、Qwen3)能够有效地访问外部数据/工具/服务,以提供更准确、更智能的响应。

主要功能:

上下文提供:提供文件/数据库内容作为补充上下文示例:在回答问题之前分析报告

外部工具集成:直接操作本地/远程系统(文件、API、硬件)示例:自动化文档组织

工作流自动化:结合多种 MCP 服务以完成复杂任务

数据安全:本地执行保护敏感信息

Related MCP server: Unitree Go2 MCP Server

2. MCP 的工作原理

客户端-服务器架构:

MCP 客户端:AI 应用程序(发起请求) MCP 服务器:提供数据 / 工具接口 通信:符合 JSON-RPC 2.0

3.服务器功能

数据访问:文件/数据库/内存资源工具执行:预定义函数(SQL 查询、文件操作)实时更新:数据更改的推送通知会话管理:连接维护

2. nUR MCP 服务器核心功能

拓德科技自研nUR_MCP_SERVER产品技术规格

产品概述:
nUR_MCP_SERVER 是一款基于 MCP(模型控制协议)接口的智能机器人控制中间件系统,通过与大型语言模型 (LLM) 集成,实现工业机器人的自然语言交互控制。它采用客户端-服务器架构设计,支持与 Universal Robots 全系列协作机器人深度集成,彻底颠覆了工业机器人传统的示教器编程范式。

核心技术架构:

  1. 语义解析引擎
    搭载基于多层Transformer的NLP处理模块,支持上下文感知的命令解析(Contextual Command Parsing),实现从自然语言到机器人控制命令的端到端转换,命令识别准确率达到98.6%。

  2. 动态脚本生成系统
    基于LLM的代码生成框架,可自动将自然语言命令转换为URScript机器人控制脚本。它支持实时语法验证和安全验证,与传统编程相比,生成效率提高12倍。

  3. 多模式控制接口

  • MCP协议扩展层:支持双模TCP/UDP通信,命令响应速度达µs级。

  • 设备抽象层:标准化 URCap 插件集成。

  • 数据总线:通过TCP/IP以太网协议实现多机器人协同控制。

核心功能:
▶ 自然语言实时控制
通过语音/文本命令直接驱动机器人运动(姿势控制、轨迹规划、I/O操作),支持动态参数注入和实时运动调整。

▶ 智能数据采集系统

  • 实时采集12维状态数据(关节扭矩、末端执行器位姿等)。

  • 支持自然语言定义的数据过滤规则。

  • 自动生成结构化数据报告(CSV/JSON/XLSX)。

▶ 多机器人协作控制
基于分布式任务调度算法,配合Tuode的MCP-Client可同时管理≤12台UR机器人,支持语音级联指令和跨设备任务编排。

▶ 自适应学习模块
采用增量训练框架,通过用户反馈不断优化命令-动作映射,系统迭代周期≤24h。

技术规格:

  • 命令响应延迟:<200ms(端到端)。

  • 协议兼容性:MCP v2.1+ / URScript v5.0+。

  • 并发处理能力:200+TPS。

nUR_MCP_SERVER工具功能分类表:

工具 ID

功能类别

功能描述

关键参数

fkUCFg7YmxSflgfmJawHeo

连接管理

连接到 UR 机器人

ip:机器人IP

fcr4pIqoIXyxh3ko9FOsWU

连接管理

断开 UR 机器人

ip:机器人IP

fNKAydKkxHwmGFgyrePBSN

状态监控

获取开机时长(秒)

ip:机器人IP

fYTMsGvSRpUdWmURng7kGX

寄存器操作

获取Int寄存器输出(0-23)

ip:机器人IP,index:寄存器索引

fvfqDMdDJer6kpbCzwFL1D

寄存器操作

获取双寄存器输出(0-23)

ip:机器人IP,index:寄存器索引

fCJ6sRw9m0ArdZ-MCaeNWK

寄存器操作

获取双寄存器输出(0-31)

ip:机器人IP,index:寄存器索引

f_ZXAIUv-eqHelwWxrzDHe

设备信息

获取序列号

ip:机器人IP

fZ2ALt5kD50gV9AdEgBrRO

设备信息

获取模型

ip:机器人IP

fEtHcw5RNF54X9RYIEU-1m

运动控制

获取实时 TCP 坐标

ip:机器人IP

ftsb2AsiqiPqSBxHIwALOx

运动控制

获取实时关节角度

ip:机器人IP

fXmkr4PLkHKF0wgQGEHzLt

运动控制

发送关节姿势命令

ip:机器人IP,q:关节角度(弧度)

fWdukQrgFZeK-DEcST4AwO

运动控制

发送TCP直线运动命令

ip:机器人IP,pose:TCP位置

f2gbgju7QsymJa4wPgZQ0T

运动控制

X轴线性运动

ip:机器人IP,distance:移动距离(米)

fS6rCxVp498s5edU7jCMB3

运动控制

Y轴线性运动

ip:机器人IP,distance:移动距离(米)

fJps7j-T3lwzXhp8p0_suy

运动控制

Z轴线性运动

ip:机器人IP,distance:移动距离(米)

fTMj5413O5CzsORAyBYXj8

程序控制

加载 UR 程序

ip:机器人IP,program_name:程序名称

fqiYJ1c9fqCs5eYd-yKEeJ

程序控制

加载并执行 UR 程序

ip:机器人IP,program_name:程序名称

fW6-wrPoqm2bE3bMgtLbLP

程序控制

停止当前程序

ip:机器人IP

fsEmm-VX3CCY_XvnCDms7f

程序控制

暂停当前程序

ip:机器人IP

f83-fUQBd-YRSdIQDpuYmW

状态监控

获取当前电压

ip:机器人IP

foMoD2L690vRdQxdW_gRNl

状态监控

获取当前电流

ip:机器人IP

fDZBXqofuIb-7IjS6t2YJ2

状态监控

获取关节电压

ip:机器人IP

fgAa_kwSmXmvld6Alx39ij

状态监控

获取关节电流

ip:机器人IP

furAKHVnYvORJ9R7N7vpbl

状态监控

获取关节温度

ip:机器人IP

fuNb7TgOgWNukjAVjusMN4

状态监控

获取运行状态

ip:机器人IP

fD12XJtqjgI46Oufwt928c

状态监控

获取程序执行状态

ip:机器人IP

fMLa2mjlactTbD_CCKB1tX

设备信息

获取软件版本

ip:机器人IP

fWXQKGQ6J5mas9K9mGPK3x

设备信息

获取安全模式

ip:机器人IP

f81vKugz9xnncjirTC3B6A

程序控制

获取节目列表

ip:机器人 IP,用户名/密码:SSH 凭证

ffaaQZeknwwTISLYdYqM0_

程序控制

发送程序脚本

ip:机器人IP,script:脚本内容

fsWlT3tCOn1ub-kUZCrq7E

运动控制

圆周运动

ip:机器人IP,center:TCP中心位置,r:半径(米)

f7y1QpjnA9s1bzfLeOkTnS

运动控制

画正方形

ip:机器人IP,origin:TCP起始位置,border:边长(米)

fuN_LLSc22VKXWXwbwNARo

运动控制

绘制矩形

ip:机器人IP,origin:TCP起始位置,width/height:宽度/高度(米)

注意:所有工具都需要首先建立机器人连接。

3. 免责声明

在使用 nUR MCP 服务器之前,请确保操作员已完成 UR 机器人安全培训并熟悉紧急停止 (E-stop) 程序。

定期检查机器人及MCP Server的运行状态,维护系统的稳定性及安全性。

使用 nUR MCP 服务器时必须严格遵守以下安全协议:

机器人可视性

操作员应将 Universal Robots 保持在直接视线范围内,以便实时监控。

机器人运行过程中禁止离开操作区域,以确保紧急状况能立即得到响应。

安全的工作环境

清除障碍物并确保机器人启动前没有人员/物体进入危险区域。

如有必要,请安装物理屏障或安全光幕,以防止未经授权的访问。

不合规责任豁免

对于因未遵守安全要求(例如无人值守操作、工作区域未清理)而造成的伤害、设备损坏或生产事故,我们概不负责。

一切操作风险及后果由用户自行承担。

4. 版本发布

4.1 最近更新

  • 2025.05.15 :nUR_MCP_SERVER 初始版本

4.2 未来计划

  • 为 nUR MCP 服务器开发专用的 MCP 客户端,以增强执行器的安全功能。

  • 添加 UR 机器人日志记录功能。

  • 启用 UR 机器人程序的备份和上传。

5. 快速入门

5.1 基于产品(针对一般用户)

5.1.1 引擎和依赖项

  • 推荐的系统版本:

    macOS Users: macOS Monterey 12.6 or later  
    Linux Users: CentOS 7 / Ubuntu 20.04 or later  
    Windows Users: Windows 10 LTSC 2021 or later  
  • 软件要求:

    MCP 服务器环境

    Python 3.11 or later  
    pip 25.1 or later  
    UV Package Manager 0.6.14 or later  
    bun 1.2.8 or later  

    MCP 客户端

    Claude Desktop 3.7.0 or later  
    Cherry Studio 1.2.10 or later  
    Cline 3.14.1 or later  
    
    ClaudeMind, Cursor, NextChat, ChatMCP, Copilot-MCP, Continue, Dolphin-MCP, Goose - Not tested.  

    LLM大型语言模型

    DeepSeek-V3-0324 or later  
    DeepSeek-R1-671b or later  
    Qwen3-235b-a22b or later  
    
    Generally, any MCP-supported LLM can be used. Models not listed here have not been tested.  
    Ollama-deployed models currently cannot invoke Tools (under resolution)...  

5.1.2 安装

MCP 服务器安装:

  1. 安装 Python 3.11 或更高版本。

  2. 安装 pip 25.1 或更高版本。

  3. 安装 UV Package Manager 0.6.14 或更高版本。

  4. 安装 bun 1.2.8 或更高版本。

  5. 安装 MCP 服务器:

git clone https://gitee.com/nonead/Nonead-Universal-Robots-MCP.git  
cd nUR_MCP_SERVER  
pip install -r requirements.txt  

MCP 客户端配置:

要与 Claude Desktop 一起使用,请添加服务器配置: 对于 macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "nUR_MCP_SERVER": {
      "command": "uvx",
      "args": ["/home/nonead/MCP_Server/Nonead-Universal-Robots-MCP"]
    }
  }
}

对于 Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "nUR_MCP_SERVER": {
      "command": "uvx",
      "args": ["D:\\MyProgram\\MCP_SERVER\\Nonead-Universal-Robots-MCP"]
    }
  }
}

要与 Cherry Studio 一起使用,请添加服务器配置:

对于 macOS 和 Linux:

{
  "mcpServers": {
    "nUR_MCP_SERVER": {
      "name": "nUR_MCP_Server",
      "type": "stdio",
      "description": "NONEAD Universal-Robots MCP Server",
      "isActive": true,
      "provider": "NONEAD Corporation",
      "providerUrl": "https://www.nonead.com",
      "logoUrl": "https://www.nonead.com/assets/img/vi/5.png",
      "tags": [
        "NONEAD",
        "nUR_MCP_Server",
        "Universal-Robots"
      ],
      "command": "uvx",
      "args": [
        "/home/nonead/MCP_Server/Nonead-Universal-Robots-MCP"
      ]
    }
  }
}

对于 Windows:

{
  "mcpServers": {
    "nUR_MCP_SERVER": {
      "name": "nUR_MCP_Server",
      "type": "stdio",
      "description": "NONEAD Universal-Robots MCP Server",
      "isActive": true,
      "provider": "NONEAD Corporation",
      "providerUrl": "https://www.nonead.com",
      "logoUrl": "https://www.nonead.com/assets/img/vi/5.png",
      "tags": [
        "NONEAD",
        "nUR_MCP_Server",
        "Universal-Robots"
      ],
      "command": "uvx",
      "args": [
        "D:\\MyProgram\\MCP_SERVER\\Nonead-Universal-Robots-MCP"
      ]
    }
  }
}

要与 Cline 一起使用,请添加服务器配置:

对于 macOS 和 Linux:

{
  "mcpServers": {
    "nUR_MCP_SERVER": {
      "command": "uvx",
      "args": ["/home/nonead/MCP_Server/Nonead-Universal-Robots-MCP"]
    }
  }
}

对于 Windows:

{
  "mcpServers": {
    "nUR_MCP_SERVER": {
      "command": "uvx",
      "args": ["D:\\MyProgram\\MCP_SERVER\\Nonead-Universal-Robots-MCP"]
    }
  }
}

5.2 基于工具包(针对开发人员)

5.2.1 引擎和依赖项

  • 推荐的系统版本:

    macOS Users: macOS Monterey 12.6 or later  
    Linux Users: CentOS 7 / Ubuntu 20.04 or later  
    Windows Users: Windows 10 LTSC 2021 or later  
  • 软件要求:

    MCP 服务器环境

    Python 3.11 or later  
    pip 25.1 or later  
    UV Package Manager 0.6.14 or later  
    bun 1.2.8 or later  

    LLM大型语言模型

    DeepSeek-V3-0324 or later  
    DeepSeek-R1-671b or later  
    Qwen3-235b-a22b or later  
    
    Generally, any LLM supporting MCP is usable. Untested models are not guaranteed.  
    Ollama-deployed models currently cannot invoke Tools (under resolution)...  

5.2.2 安装

适用于 macOS / Linux / Windows 开发人员

  Python 3.11 or later  
  pip 25.1 or later  
  UV Package Manager 0.6.14 or later  
  bun 1.2.8 or later  

5.2.3 使用方法

以下是您可以指示 LLM 执行的一些示例任务:

  • 连接到 UR 机器人,IP:192.168.1.199

  • 获取 UR 机器人当前 TCP 末端执行器位姿坐标

  • 列出 nUR_MCP_SERVER 工具的所有命令

  • 检索 UR 机器人的所有硬件数据

  • 在 UR 机器人上执行脚本程序

  • 运行UR机器人内置程序XXXX.urp

  • 将位于 172.22.109.141 的 UR 机器人指定为“机器人 A”,将位于 172.22.98.41 的 UR 机器人指定为“机器人 B”。连接两个机器人,记录它们当前的 TCP 姿态和关键位置(左侧为机器人 A,右侧为机器人 B),并分析它们的空间关系。

  • 对位于 192.168.1.199 的 UR 机器人执行分步说明:记录当前 TCP 姿势,然后将 TCP 沿 Z 轴移动 +20mm,沿 Y 轴移动 -50mm,沿 X 轴移动 +30mm,重复 5 个周期。

  • 编写并执行 UR 脚本以在以当前姿势为中心的基准平面上绘制一个半径为 50 毫米的圆。

  • 将地址为 172.22.109.141 的 UR 机器人指定为“机器人 A”,地址为 172.22.98.41 的 UR 机器人指定为“机器人 B”。连接两个机器人,然后同步机器人 B,使其在后续命令中镜像机器人 A 的动作。

6.技术架构

MCP采用客户端-服务器架构,实现模型与外部资源之间的标准化通信。pic alt

客户端-服务器模型

MCP架构由以下核心组件组成:

  • MCP 主机:发起连接并寻求通过 MCP 访问数据的 LLM 应用程序(例如,Claude Desktop 或 IDE)。

  • MCP 客户端:嵌入在主机应用程序中的协议客户端,与服务器保持 1:1 连接。

  • MCP 服务器:通过标准化模型上下文协议公开特定功能的轻量级程序。

  • 本地数据源:MCP 服务器可以安全访问的计算机文件、数据库和服务。

  • 远程服务:MCP 服务器可以通过互联网访问的外部系统(例如 API)。

核心职责

在MCP架构中,每个组件有以下职责:

MCP 主机:

  • 提供用户界面

  • 管理与 LLM 提供商的连接

  • 集成MCP客户端访问外部资源

MCP 客户端:

  • 建立并维护与 MCP 服务器的连接

  • 发送请求并接收响应

  • 按照MCP协议标准处理数据交换

MCP 服务器:

  • 处理来自客户端的请求

  • 执行特定功能或提供对资源的访问

  • 根据 MCP 协议标准格式化响应

通信协议

MCP 使用JSON-RPC 2.0作为基础通信协议,支持以下消息类型:

  • 请求:从客户端发送到服务器(或反之亦然)以启动操作的消息。

  • 响应:对请求的回复,包含结果或错误信息。

  • 通知:不需要响应的单向消息,通常用于事件通知。

MCP 支持多种传输机制,包括:

  • 标准输入/输出(Stdio) :适用于本地服务器,支持进程间通信。

  • 服务器发送事件 (SSE) :一种基于 HTTP 的远程服务器传输机制。
    pic alt
    请求:从客户端发送到服务器或从服务器发送到客户端的启动操作的消息。
    响应:对包含结果或错误信息的请求的回复。
    通知:不需要响应的单向消息,通常用于事件通知。

MCP 支持多种传输机制,包括:

  • 标准输入/输出(Stdio) :适用于本地服务器,通过进程间通信实现。

  • 服务器发送事件 (SSE) :一种基于 HTTP 的远程服务器传输机制。

MCP的优势

MCP 比传统集成方法具有显著优势,尤其是在标准化、安全性和可扩展性方面。

标准化
MCP 通过标准化 AI 系统与外部数据源之间的交互来解决传统集成中的碎片化问题:

  • 即插即用连接:统一协议可实现不同数据源的无缝集成,无需自定义编码。

  • 跨平台兼容性:支持不同的AI模型和平台,增强互操作性。

  • 简化开发:降低复杂性,使开发人员专注于业务逻辑而不是底层集成。

安全
MCP 采用内置安全机制来保护传输和处理过程中的数据:

  • 敏感数据保护:确保安全处理机密信息(例如,API 密钥、用户数据)。

  • 访问控制:MCP 服务器实现细粒度的权限来验证请求授权。

  • 本地处理:将敏感数据保存在本地,消除第三方暴露风险。

可扩展性
MCP 的模块化设计提供了卓越的可扩展性:

  • 多服务连接:支持跨兼容客户端的标准化资源/工具共享。

  • 生态系统增长:开发人员可以访问不断扩展的预构建组件库。

  • 定制:支持创建专门的 MCP 服务器来扩展系统功能。


7. 联系我们

GitHub : https ://github.com/nonead/Nonead-Universal-Robots-MCP
码云: https ://gitee.com/nonead/Nonead-Universal-Robots-MCP
官方网站: https://www.nonead.com

8. nUR MCP 服务器与其他 MCP 服务器的区别

nUR MCP 服务器的用户必须具备高度的安全意识,并接受完整的 UR 机器人操作培训,因为 LLM 直接控制实体机器人。操作不当可能会造成人身伤害或财产损失。

9. 引用

如果使用该软件,请引用如下:

10. 许可证

本项目采用用户分段双重许可模式。

基本原则

  • 个人用户和人数不超过 10 人的组织/公司:自动适用 AGPLv3 许可证

  • 拥有 10 人以上的组织/公司:需要商业许可证

“≤10人”的定义:指您的组织(包括公司、非营利组织、政府机构、教育机构等)中直接或间接访问、使用或受益于nUR_MCP_SERVER的人员总数不超过10人。这包括但不限于开发人员、测试人员、操作员、最终用户以及通过集成系统的用户。

10.1 开源许可证(AGPLv3)- 适用于个人和人数不超过 10 人的组织

  • 如果您是个人用户或您的组织符合“≤10 人”的定义,您可以根据 AGPLv3 条款自由使用、修改和重新分发 nUR_MCP_SERVER。完整的 AGPLv3 许可证可在https://www.gnu.org/licenses/agpl-3.0.html找到。

  • **关键义务:**作为 AGPLv3 的一项核心要求,如果您分发 nUR_MCP_Server 的修改版本或将其作为网络服务提供,则必须根据 AGPLv3 向接收者提供完整的源代码。即使您的组织符合“人数不超过 10 人”的标准,如果您希望避免此源代码披露要求,也应该考虑使用商业许可证(见下文)。

  • 使用前请仔细阅读并理解所有 AGPLv3 条款。

10.2 商业许可证 - 适用于人数超过 10 人的组织或希望避免 AGPLv3 义务的用户

  • **强制要求:**如果您的组织不符合“≤10 人”的定义(即 11 人以上访问/使用/受益于该软件),则必须在使用 nUR_MCP_SERVER 之前与我们签订商业许可协议。

  • **可选应用:**即使您的组织满足“≤10 人”的标准,如果您的使用场景不符合 AGPLv3 条款(尤其是源代码披露要求),或者您需要 AGPLv3 未提供的特定商业条款(例如担保、赔偿或没有 Copyleft 限制),则需要商业许可证。

  • 需要商业许可的常见情况(非详尽):

    • 人数超过 10 人的组织

    • (无论大小)分发 nUR_MCP_SERVER 的修改版本,而无需按照 AGPLv3 的要求公开源代码

    • (无论大小)将 nUR_MCP_SERVER 作为网络服务(SaaS)提供,但不允许用户访问修改后的源代码

    • (无论规模大小)当公司政策、客户合同或项目要求禁止使用 AGPLv3 许可软件或要求封闭分发/保密时

  • **获取商业许可:**联系 nUR_MCP_SERVER 开发团队service@nonead.com 。

10.3 贡献

  • 我们欢迎社区为 nUR_MCP_SERVER 做出贡献。所有贡献均遵循 AGPLv3 许可证。

  • 通过提交贡献(例如,拉取请求),您同意您的代码将根据 AGPLv3 条款提供给项目和所有未来用户(无论他们选择 AGPLv3 还是商业许可)。

  • 您还同意您的贡献可能会包含在根据商业许可分发的 nUR_MCP_SERVER 版本中。

10.4 其他条款

  • 具体的商业许可条款在正式的商业许可协议中规定。

  • 项目维护者保留根据需要更新本许可政策(包括用户规模定义和阈值)的权利。任何更新都将通过项目官方渠道(代码库、网站等)公布。

11.核心开发团队

苏州拓德机器人技术有限公司MCP服务器开发团队

Tony Ke tonyke@nonead.com
朱微microzhu@nonead.com
安东尼·庄anthonyzhuang@nonead.com
王昆汀quentinwang@nonead.com

Available Tools

39 tools
analyze_robot_dataC
分析机器人数据

参数:
- robot_id: 机器人ID
- analysis_type: 分析类型,可选值包括"statistical", "trend", "anomaly", "performance"
- start_time: 开始时间戳
- end_time: 结束时间戳

返回:
- 分析结果
ParametersJSON Schema
NameRequiredDescriptionDefault
end_timeNo
robot_idYes
start_timeNo
analysis_typeYes

TDQS

C2.3/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits like side effects, permissions, or response structure. It only states the return is '分析结果' (analysis result) with no further detail, which is insufficient for an analytical tool.

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

Conciseness3/5

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

The description is short and uses bullet points, which is acceptable, but it is not front-loaded and the structure is minimal. It conveys the essential parameter list but lacks efficiency.

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 lack of output schema and annotations, the description is insufficient. It does not explain what the analysis does, how it is performed, or the format of results. For a tool with four parameters, more context is needed for correct 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?

The description adds some meaning beyond the schema by listing parameter names and mentioning optional values for analysis_type. However, it does not specify constraints (e.g., time format, allowed values) and schema coverage is 0%, so the description partially compensates but remains incomplete.

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 '分析机器人数据' (Analyze robot data) is vague and does not specify the type of analysis or how it differs from sibling tools like compare_robots_performance. It lacks specificity and fails to distinguish the tool's unique purpose.

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, such as compare_robots_performance. It does not mention prerequisites, context, or exclusions, leaving the agent without decision support.

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

compare_robots_performanceB
比较多个机器人的性能

参数:
- robot_ids: 机器人ID列表
- metric_columns: 比较指标列
- start_time: 开始时间戳
- end_time: 结束时间戳

返回:
- 比较结果
ParametersJSON Schema
NameRequiredDescriptionDefault
end_timeNo
robot_idsYes
start_timeNo
metric_columnsYes

TDQS

B3.1/5.0
Behavior2/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. It only states the function and parameters, but does not mention side effects, authorization needs, error handling, or any constraints beyond the bare parameters.

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 short and to the point, with a clear separation of purpose, parameters, and return. It avoids redundancy, though the parameter list could be formatted more clearly (e.g., using bullet points or Markdown).

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 absence of an output schema and only two required parameters with no constraints, the description lacks details on the return format and how the comparison is performed. It leaves ambiguity about the expected input and output, making it insufficient for full contextual 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 description adds basic semantic labels to parameters (e.g., 'robot_ids: 机器人ID列表' implies a list of robot identifiers), which is helpful given the schema has no descriptions (0% coverage). However, it does not clarify the exact format or allowed values for metric_columns or time stamps.

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 it compares the performance of multiple robots, which is a specific verb-resource combination. Among sibling tools like analyze_robot_data or generate_robot_report, this tool is distinct in focusing on multi-robot comparison.

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 given on when to use this tool over alternatives such as analyze_robot_data or generate_robot_report. There is no indication of prerequisites, exclusions, or preferred scenarios.

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

connect_urC

根据用户提供的IP连接UR IP:机器人地址

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It does not describe what happens upon connection (e.g., authentication, state changes, side effects). The description is insufficient for safe usage.

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

Conciseness3/5

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

The description is very short, which could be considered concise, but it omits essential information. It sacrifices completeness for brevity, scoring average.

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 output schema and no annotations, the description should provide more context about connection outcomes, error handling, or post-connection state. It is incomplete for a tool with one parameter.

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

Parameters2/5

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

The input schema has 0% description coverage for the 'ip' parameter. The description adds minimal semantics ('IP: robot address') but lacks format, validation, or examples. It partially compensates but is inadequate.

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 (connect) and the resource (UR robot) and distinguishes it from the sibling tool 'disconnect_ur'. It is specific and unambiguous.

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, prerequisites, or when it should not be used. The description does not help differentiate usage contexts among siblings beyond basic action.

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

create_collaborative_taskB
创建多机器人协同任务

参数:
- task_name: 任务名称
- robot_assignments: 机器人任务分配,格式为{"robot_id": {"operation": "...", "params": {...}}}
- dependencies: 任务依赖关系列表,格式为[{"from": "task1", "to": "task2"}]

返回:
- 任务创建结果
ParametersJSON Schema
NameRequiredDescriptionDefault
task_nameYes
dependenciesNo
robot_assignmentsYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits. It only states that the tool creates a task and lists parameters, but does not mention side effects (e.g., whether existing tasks are overwritten), required permissions, or failure behaviors. The return value is vague ('任务创建结果').

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 short and well-structured, listing parameters and return value in a clear format. Every sentence adds value. However, it could be slightly more concise by omitting the parameter list if the schema were documented.

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 multi-robot task with dependencies and assignments, the description lacks sufficient detail. It does not explain error handling, required fields (though schema shows dependencies as optional, description does not mention), or valid robot IDs. No output schema exists to clarify the return.

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 0%, so the description compensates partially by explaining the format for 'robot_assignments' and 'dependencies' parameters. However, it lacks detail on valid values for operations within robot_assignments, and 'task_name' is only described as '任务名称' with no additional semantics beyond what the schema 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 clearly states the tool's purpose as '创建多机器人协同任务' (Create multi-robot collaborative task), which is a specific verb+resource pair. This distinguishes it from sibling tools like 'execute_collaborative_task' and 'setup_multi_robot_coordination'.

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. For example, it does not explain that creation should precede execution, or what distinguishes it from 'setup_multi_robot_coordination'. The description only states what it does without context.

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

disconnect_urB

根据用户提供的IP,断开与UR机器人的连接 IP:机器人地址

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description must fully disclose behavior. It only states the basic action (disconnect) without mentioning side effects, permission requirements, or state changes (e.g., does it invalidate sessions?). This is insufficient for safe usage.

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 with two short lines, front-loading the action and parameter meaning. No unnecessary words, making it easy to parse quickly.

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?

For a simple one-parameter tool with no output schema, the description covers the essential what and what-for. However, it lacks context about preconditions (e.g., must be connected) and postconditions (e.g., disconnection success). Slightly incomplete but adequate for basic 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 has no description for the 'ip' parameter (0% coverage). The description's line 'IP:机器人地址' adds minimal context that the IP represents the robot's address, but does not specify format or constraints. It adds some value beyond the schema but is not comprehensive.

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 it disconnects from a UR robot based on the provided IP, using specific verb '断开' (disconnect) and resource 'UR机器人' (UR robot). This distinguishes it from sibling tools like 'connect_ur'.

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, nor any prerequisites like being connected first. The sibling 'connect_ur' suggests a pairing, but there's no explicit when-to-use or when-not-to-use information.

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

draw_circleC

命令指定IP的机器人,给定圆心位置和半径,在水平或竖直方向画一个圆 center:圆心的TCP位置 r:半径(米) coordinate:圆所在的平面。z:圆形所在的平面与基座所在平面垂直,其它:圆形所在的平面与基座所在平面平行。默认值:z。

ParametersJSON Schema
NameRequiredDescriptionDefault
rYes
ipYes
centerYes
coordinateNoz

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 bears the full burden. It only describes the effect (drawing a circle) without disclosing behavioral traits such as whether the robot moves, error handling, or blocking 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 concise and front-loaded with the main action, listing parameters in a readable bullet-like format. It efficiently communicates the core functionality without unnecessary verbosity.

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?

Despite no output schema, the description covers the essential input parameters and their roles. However, it lacks details on return values or confirmation of completion, leaving some gaps for an agent to fully understand the tool's behavior.

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 semantic meaning for r (radius in meters) and coordinate (plane orientation with defaults), but does not clarify the format of center (likely an array of x,y,z coordinates) or valid values for coordinate beyond 'z' and 'other'.

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 draws a circle given center and radius, and specifies the plane orientation via the coordinate parameter. It differentiates from sibling tools like draw_rectangle and draw_square by focusing on circles and plane choice.

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 explicit guidance on when to use this tool versus alternatives like draw_rectangle or draw_square. The description implies usage for drawing circles but does not provide context or exclusion criteria.

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

draw_rectangleC

给定起点位置和边长,在水平或竖直方向画一个正方形 origin:画长方形时TCP的起点位置 width:长(米) height:宽(米) coordinate:圆所在的平面。z:圆形所在的平面与基座所在平面垂直,其它:圆形所在的平面与基座所在平面平行。默认值:z。

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes
widthYes
heightYes
originYes
coordinateNoz

TDQS

C2.3/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose behavioral traits such as side effects, required permissions, or error conditions. It only repeats parameter descriptions.

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

Conciseness3/5

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

Mixed language and somewhat verbose. Could be more concise and clear.

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?

No output schema and no annotations; the description fails to explain return values or conditions. Given the complexity and sibling tools, more 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?

The description adds meaning to parameters: origin as TCP start, width/height in meters, coordinate plane. However, it is inconsistent (calls it a square) and lacks detail on origin array elements. Schema coverage is 0% so the description partially compensates.

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 states 'draw a square' but the tool is named draw_rectangle, which is contradictory. It does mention the action and resource but is confusing.

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 draw_square or draw_circle. The description lacks differentiation.

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

draw_squareB

给定起点位置和边长,在水平或竖直方向画一个正方形 origin:画正方形时TCP的起点位置 border:边长(米) coordinate:圆所在的平面。z:圆形所在的平面与基座所在平面垂直,其它:圆形所在的平面与基座所在平面平行。默认值:z。

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes
borderYes
originYes
coordinateNoz

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, description carries full burden but only explains basic parameters. It omits behavioral traits like side effects (robot movement), permissions, or reversibility. For a robot motion tool, more disclosure is needed.

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?

Description is concise (two-line paragraph) and front-loads the purpose. It avoids unnecessary words, though could be slightly more structured.

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?

Adequate for a simple drawing tool but missing details on the 'ip' parameter and any return value or post-execution state. Given no output schema and siblings, it's minimally complete.

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?

0% schema coverage, but description adds meaning for origin (TCP start position), border (side length in meters), and coordinate (plane orientation). However, required parameter 'ip' is not mentioned, leaving a gap.

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 clearly states verb 'draw' and resource 'square', specifies it requires start position and side length, and indicates orientation (horizontal/vertical). It distinguishes from sibling tools like draw_circle and draw_rectangle.

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 explicit guidance on when to use this tool vs alternatives (e.g., draw_rectangle). The description only states what it does, not when to prefer it over other drawing tools.

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

execute_collaborative_taskC
执行多机器人协同任务

参数:
- task_id: 任务ID

返回:
- 执行结果
ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of disclosure. It only states 'execute multi-robot collaborative task', without explaining blocking behavior, return values, side effects, or safety implications. This is insufficient for a potentially impactful tool.

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

Conciseness3/5

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

The description is very short (one header line and two parameter lines). It is concise but lacks a narrative flow. For a simple one-parameter tool, it is adequate but could be structured better with a full sentence for purpose.

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 likely side effects (executing multi-robot tasks) and the absence of annotations or output schema, the description is incomplete. It does not cover behavior, expected results, or dependencies, leaving critical gaps for an AI agent.

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

Parameters2/5

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

The schema has 0% description coverage, so the description must compensate. However, it only repeats the parameter name and type ('任务ID'), adding no further meaning about format, source, or constraints. This adds minimal value beyond the schema.

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 action (execute) and resource (multi-robot collaborative task), distinguishing it from siblings like 'create_collaborative_task' and 'setup_multi_robot_coordination'. However, it does not elaborate on what 'execute' entails, leaving some ambiguity.

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 usage guidance is provided. The description lacks context on when to use this tool versus alternatives, prerequisites (e.g., task must exist), or potential side effects. This omission makes it hard for an agent to decide correctly.

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

generate_bezier_pathC
生成贝塞尔曲线路径

参数:
- control_points: 控制点列表,格式为[{"x": 0, "y": 0, "z": 0, "rx": 0, "ry": 0, "rz": 0}, ...]
- num_points: 生成的路径点数量

返回:
- 路径点列表
ParametersJSON Schema
NameRequiredDescriptionDefault
num_pointsNo
control_pointsYes

TDQS

C2.7/5.0
Behavior1/5

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

No annotations are provided, and the description does not disclose behavioral traits such as side effects, required permissions, computational complexity, or error handling. It only states the return is a path list.

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, using a bulleted list format that is front-loaded with the purpose. Every word serves a purpose, with no fluff.

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 output schema and minimal parameter explanation (e.g., num_points range, control_points constraints), the description leaves significant gaps. The tool's relation to robot motion or drawing is unclear, and return format is not detailed.

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?

With 0% schema coverage, the description adds value by specifying the internal structure of control_points (x,y,z,rx,ry,rz) and the role of num_points as the number of generated points. This compensates for the schema's lack of detail.

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 generates a Bezier curve path, using a specific verb and resource. However, it does not differentiate from sibling tools like draw_circle or movej, leaving ambiguity about whether this is for motion planning or graphics.

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?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or scenarios where it is appropriate.

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

generate_robot_reportC
生成机器人运行报告

参数:
- robot_id: 机器人ID
- start_time: 开始时间戳
- end_time: 结束时间戳
- report_path: 报告保存路径

返回:
- 报告生成结果
ParametersJSON Schema
NameRequiredDescriptionDefault
end_timeNo
robot_idYes
start_timeNo
report_pathNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose any behavioral traits such as side effects, permissions, or whether it is a read-only or write operation. The lack of detail leaves the agent uninformed about potential impacts.

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 short and front-loaded with purpose. It then lists parameters and return in a structured manner. However, it could be more concise by integrating parameter descriptions into the main text.

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 (4 parameters, no output schema), the description is incomplete. It does not explain the report contents, output format, or behavior when optional parameters are omitted. Missing critical context for an agent to use 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 lists each parameter with a brief explanation (e.g., 'start_time: 开始时间戳'), which adds minimal meaning beyond the schema. However, with 0% schema coverage, this is essential. The descriptions are not detailed enough to fully clarify format or constraints.

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 'Generate robot operation report', which is a specific verb+resource. It distinguishes itself from sibling tools like analyze_robot_data or compare_robots_performance by focusing on report generation.

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 vs alternatives. The description does not mention prerequisites, use cases, or when not to use it.

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

get_actual_joint_currentC

获取指定IP机器人各关节的电流(安培) IP:机器人地址

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes

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 must carry full behavioral disclosure. It only mentions the input IP and that it gets current, but fails to disclose whether it is read-only, requires network connectivity, or any side effects. The behavioral traits are minimally addressed.

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, short sentence that conveys the core purpose efficiently. It is front-loaded with the action and resource. However, it could be slightly more structured with separated lines for clarity.

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 simplicity of the tool (one parameter, no output schema, no annotations), the description is incomplete. It does not explain the return format (e.g., array of currents), the number of joints, or unit details beyond mentioning amperes. Missing contextual details reduce completeness.

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

Parameters2/5

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

The schema has 0% description coverage, leaving the parameter 'ip' with only a title 'Ip'. The description adds a brief note 'IP:机器人地址' (IP: robot address), which adds minimal meaning. However, it does not specify format, constraints, or examples, so it only slightly improves upon the schema.

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 verb '获取' (get) and the resource '各关节电流' (current of each joints) with unit '安培' (amperes). It distinguishes from sibling tools like 'get_actual_joint_voltage' and 'get_actual_robot_current' by specifying joints and current.

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. No mention of prerequisites, conditional use, or exclusion criteria. The description only states the function without usage context.

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

get_actual_joint_poseC

获取指定IP机器人的当前关节角度 IP:机器人地址

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description bears full burden but only states the action. No disclosure of side effects, required connections, or whether it's read-only. The 'get' implies non-destructive, but not explicitly stated.

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, two short sentences. Information is front-loaded. No redundant words.

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 simplicity of the schema and lack of annotations, the description is insufficient. It doesn't specify output format (e.g., array of angles, units), prerequisites (e.g., robot must be connected), or error conditions.

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

Parameters2/5

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

The only parameter 'ip' has no schema description (0% coverage). The description adds 'IP: robot address', which clarifies the parameter's meaning but is minimal. More detail on format or constraints would improve.

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?

Description clearly states it retrieves current joint angles for a robot specified by IP. The verb '获取' (get) and resource '关节角度' (joint angle) are specific, and it distinguishes from siblings like get_actual_tcp_pose.

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 lacks context for prerequisites or when not to use, leaving the agent to infer 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.

get_actual_joint_voltageA

获取指定IP机器人的各关节电压(伏特) IP:机器人地址

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states the action and parameter, omitting details like side effects (none expected), required connection state, or that it is a read operation.

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 with no wasted words. It front-loads the action and parameter meaning, making it easy to parse.

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 read tool with one parameter, the description is adequate but could be improved by noting the return format (e.g., array of voltages) or joint order. It does not explain what the agent can expect from the output.

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 schema has 0% description coverage, and the description clarifies that 'ip' is the robot address. While it could add format constraints, it adds crucial context beyond the raw schema.

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 gets joint voltages from a robot specified by IP. It distinguishes from siblings like get_actual_joint_current and get_actual_robot_voltage by specifying the quantity (voltage) and target (joints).

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 vs alternatives like get_actual_joint_current or get_actual_robot_voltage. There is no mention of prerequisites or context.

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

get_actual_robot_currentB

获取指定IP机器人的电流(安培) IP:机器人地址

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as safety (read-only), required permissions, or potential errors (e.g., if IP is unreachable). It simply describes the function without additional 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; two lines convey the essential purpose and parameter meaning without superfluous words. Structure is front-loaded with the core function.

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 read tool with one parameter and no output schema, the description is minimally adequate. It covers the purpose and parameter but lacks usage context and expected return format. Given low complexity, it marginally meets completeness.

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 0%, so the description must compensate. It adds meaning by stating 'IP: robot address', clarifying the parameter's purpose. However, it could provide more detail (e.g., format like IPv4, or that IP must match a connected robot).

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 clearly states the tool gets the current (in amperes) of a robot specified by IP. It uses a specific verb and resource, and distinguishes from sibling tools like get_actual_joint_current (joint-level) and get_actual_robot_voltage (voltage).

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 (e.g., get_actual_joint_current for joint currents) or any prerequisites (e.g., robot must be connected). The description only states what it does, not the context of use.

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

get_actual_robot_voltageC

获取指定IP机器人的电压(伏特) IP:机器人地址

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, permissions, rate limits, or side effects. For a getter that likely reads a value, minimal behavioral info is given.

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, consisting of a single line in Chinese. It is front-loaded with the action and resource, but lacks structure or additional details.

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 one-parameter tool with no output schema, the description is mostly adequate. However, it fails to specify which voltage is measured (e.g., main power or bus voltage) and does not clarify the return format. The unit is implied by the description.

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

Parameters2/5

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

The only parameter 'ip' has no description in the schema (0% coverage). The description adds a brief translation that IP is the robot address, but this does not enrich beyond the obvious. No format or validation hints are provided.

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 retrieves the voltage of a robot specified by IP, which aligns with the name. However, it does not differentiate from the sibling 'get_actual_joint_voltage', which retrieves individual joint voltages.

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 'get_actual_joint_voltage' or other getters. There is no mention of prerequisites or context.

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

get_actual_tcp_poseB

获取指定IP机器人的当前TCP位置 IP:机器人地址

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations exist, so the description must convey behavioral traits. It does not state that the operation is read-only, non-destructive, or describe any side effects. Missing details on error handling or performance.

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 two short phrases, no wasted words. However, it could be better structured with a clearer breakdown of what and how.

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 output schema, the description should explain what the tool returns (e.g., pose coordinates). It does not, leaving the agent uncertain about the result format. Also lacks error behavior or connection requirements.

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 0% coverage, so the description must compensate. It explains that 'ip' is the robot address, adding basic meaning, but fails to specify format, validation, or how to obtain it.

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 retrieves the current TCP position for a robot specified by IP. It uses a specific verb and resource, distinguishing it from sibling tools like get_actual_joint_current or get_robot_mode.

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 does not mention prerequisites, context, or exclusions.

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

get_joint_temperaturesB

获取指定IP机器人各关节的温度(摄氏度)。 IP:机器人地址

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes

TDQS

B3.1/5.0
Behavior2/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 disclosing behavioral traits. It only describes what the tool does (get temperatures) but does not mention that it is a read operation, whether it requires authentication, or any potential side effects. The description does not add value beyond the basic purpose.

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 at two short sentences, covering the essential: what the tool does, the unit, and the required parameter. No unnecessary words or redundancy.

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?

The tool has one required parameter and no output schema. The description does not explain the return format (e.g., an array of joint names and temperatures) or any prerequisites like the robot being connected. Given the complexity of a joint temperature reading, more context is needed for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0%, but the description only restates 'IP: robot address' which adds no meaningful detail beyond the schema's property name. It does not provide format, examples, or constraints for the IP parameter, leaving the agent with insufficient guidance.

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 verb 'get', the resource 'joint temperatures', and specifies the unit (Celsius) and the required IP parameter. It is distinct from sibling tools like get_actual_joint_current or get_actual_joint_pose, which involve different measurements.

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 such as get_actual_joint_current or get_actual_robot_current. There is no mention of prerequisites (e.g., the robot must be connected) or exclusions.

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

get_output_bit_registerC

获取指定IP机器人Bool寄存器的值, IP:机器人地址 index:寄存器下标,范围是[0,23]

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes
indexYes

TDQS

C2.9/5.0
Behavior2/5

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

Without annotations, the description carries full burden for behavioral disclosure. It only describes the action as 'get', implying read-only, but does not mention safety, idempotency, or error conditions (e.g., behavior with out-of-range index or unreachable IP). Minimal transparency.

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 short with no redundant words. The purpose is front-loaded in the first line. However, it lacks structural elements like separate sections or bullet points, but it is efficient for the information provided.

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 output schema, no annotations, and 0% schema coverage, the description is incomplete. It does not describe the return value (boolean), error handling, or any side effects. Only the basic operation and parameter range are covered, leaving gaps for an AI agent to use 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 coverage is 0%, so description must add meaning. It explains IP as robot address and index as register subscript with range [0,23]. This adds basic semantics beyond the schema, but does not detail data types or constraints beyond range. Sufficient but not rich.

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 it gets the value of a Bool register for a specified IP robot, with parameters IP and index. It is specific about the resource (Bool register) and verb (get). However, it does not explicitly differentiate from sibling tools like get_output_double_register or get_output_int_register, relying on the name for distinction.

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 (e.g., get_output_int_register) or any prerequisites. It lacks explicit context for when it is appropriate or not to use this tool.

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

get_output_double_registerA

获取指定IP机器人Double寄存器的值, IP:机器人地址 index:寄存器下标,范围是[0,23]

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes
indexYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided, but description implies a read-only operation (获取值). No side effects or requirements disclosed. For a simple getter, this is adequate but minimal.

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 concise sentences, front-loaded with the purpose and parameter details. No redundant information.

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 no output schema and simple parameters, the description provides enough information. Could mention return format or error conditions, but not strictly necessary.

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

Parameters5/5

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

Schema coverage is 0%, but description explains both parameters: ip as robot address, index with range [0,23], adding meaning beyond schema.

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 gets the value of a double register for a specified IP robot, with parameters ip and index. It distinguishes from siblings like get_output_bit_register and get_output_int_register by the register type (double), though not explicitly mentioned.

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. Does not specify when not to use or provide context for selection among sibling tools.

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

get_output_int_registerB

获取指定IP机器人Int寄存器的值, IP:机器人地址 index:寄存器下标,范围是[0,23]

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes
indexYes

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose any behavioral traits beyond the implied read operation. It does not mention side effects, permissions, or error handling, relying solely on the tool name.

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 brief, using one sentence and a simple parameter list without unnecessary elaboration. It could be more structured (e.g., bullet points) but remains 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?

The tool has no output schema and the description does not specify what the tool returns (e.g., value type, format) or any potential error conditions. This leaves the agent guessing about the response.

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 adds meaningful context to both parameters: 'IP: robot address' and 'index: register subscript, range [0,23]'. This compensates for the complete lack of schema descriptions, making parameter usage clear.

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 'get' and the resource 'Int register of the specified IP robot', making the purpose unambiguous. However, it does not differentiate from siblings like 'get_output_bit_register' beyond the name itself.

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 such as 'get_output_bit_register' or 'get_output_double_register'. The description only explains parameters without context on conditional usage.

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

get_programsC

获取指定IP机器人的所有程序。 IP:机器人地址 username:ssh账号 password:ssh密码

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes
passwordNoeasybot
usernameNoroot

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It mentions SSH credentials but fails to describe authentication failures, network requirements, or the fact that the tool establishes a connection. The side effects or potential errors are not covered.

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 concise with only two sentences, efficiently conveying the tool's purpose and parameter meanings. No redundant information is present.

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?

The description lacks essential information such as output format, error handling, security considerations, and prerequisites (e.g., network access). For a tool that requires SSH credentials, this is insufficient for an agent to use it correctly and safely.

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 0%, so the description compensates by explaining each parameter ('IP: robot address', 'username: SSH account', 'password: SSH password'). This adds basic context but lacks detail on default usage or constraints. It is adequate but not exceptional.

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 it retrieves all programs from a specified IP robot. The verb 'get' and resource 'programs' are explicit, and it distinguishes from the sibling tool 'get_program_state' which focuses on state rather than listing programs.

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 like 'get_program_state'. The description does not include context on prerequisites, dependencies, or typical use cases.

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

get_program_stateC

获取指定IP机器人的程序执行状态 IP:机器人地址

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes

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 must carry the behavioral burden. It does not disclose whether the operation is safe/read-only, what happens if the IP is invalid, or any permissions required. It's a minimal statement without 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?

The description is very short and to the point, with no extraneous words. It wastes no space, though it could benefit from structured formatting. It earns its two lines.

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 lack of output schema and annotations, the description is insufficient for a complete understanding. It does not describe the return format, possible statuses, or error handling. For a tool with one parameter, more detail is expected.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate. It adds that 'ip' is the robot address, which provides some meaning beyond the raw schema. However, it does not specify format, validation rules, or examples, leaving ambiguity.

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: to get the program execution status of a robot specified by IP. It uses a specific verb and resource, and while it doesn't explicitly differentiate from siblings, the name itself helps distinguish it from tools like get_robot_mode.

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. Sibling tools like get_robot_mode or get_safety_mode exist, but no comparison or selection criteria are given.

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

get_robot_modeB

获取指定IP机器人的运行状态 IP:机器人地址

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes

TDQS

B3.2/5.0
Behavior3/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 implies a read-only operation by using 'get', but does not explicitly state that it has no side effects, requires no special permissions, or what happens on error (e.g., unreachable robot). This is adequate for a simple status retrieval but lacks depth.

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 two brief lines with no wasted words. It front-loads the purpose and then clarifies the parameter. It could be more concisely combined into one sentence, but overall it is efficient.

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?

Given the tool's simplicity (one parameter, no output schema, common operation), the description covers the essential purpose. However, it does not explain what the returned status looks like or provide any usage context, which could be beneficial for an agent unfamiliar with the domain.

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 'IP: robot address' to explain the single parameter, which gives domain context beyond the schema's bare type 'string'. However, it does not specify format (e.g., IPv4 vs IPv6) or constraints (e.g., must be reachable). With 0% schema description coverage, the description partially compensates but could be more explicit.

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 'get the running status of a specified IP robot', which specifies the verb 'get' and the resource 'running status'. It distinguishes from sibling tools like get_safety_mode or get_actual_robot_current by focusing on a general mode. However, 'running status' is somewhat vague and does not explicitly define what the output represents.

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?

There is no guidance on when to use this tool versus alternatives. The description does not mention when not to use it, nor does it reference sibling tools. The agent receives no context for choosing between this and related status tools like get_program_state or get_safety_mode.

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

get_robot_modelB

获取指定IP的机器人型号 IP:机器人地址

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes

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. It does not disclose behavioral traits such as read-only nature, side effects, network requirements, or error conditions. A simple 'Reads the robot model' would improve transparency.

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

Conciseness3/5

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

The description is very short (two lines), which is concise, but it sacrifices completeness. It could be expanded slightly without losing conciseness to cover key aspects like return value.

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 simplicity (one param, no output schema), the description is barely adequate. It does not explain what the return value represents (e.g., model string), nor does it mention error cases or potential delays.

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

Parameters2/5

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

The schema has one parameter 'ip' with no description (coverage 0%). The description adds 'IP:机器人地址' (IP: robot address), which provides minimal context but lacks details on format (IPv4/IPv6), validation, or error handling.

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 action ('获取指定IP的机器人型号' = get robot model for specified IP) and the resource (robot model). It distinguishes from sibling tools which retrieve other types of data (e.g., joint positions, currents).

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?

No explicit when-to-use or when-not-to-use guidance. However, the purpose is self-explanatory for a simple getter; some implied usage context exists given the sibling tool list, but no exclusions or alternatives are mentioned.

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

get_safety_modeC

获取指定IP机器人的安全模式 IP:机器人地址

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes

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. It does not disclose any behavioral traits such as whether the operation is safe, requires permissions, or what the response contains.

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 two short sentences conveying the core purpose and parameter explanation. However, the second sentence could be integrated more cleanly.

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 retrieval tool with one parameter and no output schema, the description is minimally adequate but could be improved by explaining what safety mode values exist or how the result is formatted.

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 single parameter 'ip' has no description in the schema (0% coverage). The description adds 'IP: robot address', which clarifies its purpose but still lacks format constraints or examples.

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 retrieves the safety mode of a specified robot identified by IP. This is a specific verb-resource combination that distinguishes it from sibling tools like get_robot_mode, which retrieves a different mode.

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 such as get_robot_mode or other data retrieval tools. There is no mention of prerequisites or context.

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

get_serial_numberC

获取指定IP机器人的序列号 IP:机器人地址

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, and the description discloses no behavioral traits beyond the basic action. It does not mention whether the operation is read-only (assumed), potential errors, or side effects.

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 short, consisting of two concise lines. It is front-loaded with the purpose and contains no unnecessary words. However, it could benefit from slightly more detail without becoming verbose.

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?

Given the tool's simplicity (one parameter, no output schema), the description provides the essential information. It could mention the return type or any prerequisites, but it is adequate for a basic retrieval tool.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It only restates the parameter 'IP' without adding format, constraints, or examples. This adds minimal value over the schema.

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 that the tool retrieves the serial number of a robot given its IP address. The verb 'get' and resource 'serial number' are specific. Among sibling getter tools, this is distinct as the only one retrieving serial numbers, but the description does not explicitly differentiate it.

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, no prerequisites, and no exclusions. It simply states the function without context.

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

get_timeA

根据用户提供的IP,获取指定机器人的开机时长(秒) IP:机器人地址

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description must convey behavior. It implies a read operation by saying 'get', but does not elaborate on side effects, permissions, or connection requirements. It is minimally 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?

The description is extremely concise: two sentences covering the main purpose and the input parameter. Every word earns its place, front-loading the core action.

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?

For a simple one-parameter getter, the description covers what it does and the input. It lacks output specification (e.g., return type or unit), but the tool is straightforward enough that this is a minor gap.

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 that 'IP' is the robot address, providing context beyond the naked schema, but no format or validation details. With 0% schema coverage, it partially compensates but is not comprehensive.

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 retrieves the power-on duration of a robot given an IP address. It uses a specific verb ('get') and resource ('power-on duration'), distinguishing it from sibling tools that retrieve other robot parameters.

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 vs alternatives, such as when to check power-on duration vs other robot status parameters. No exclusions or prerequisites mentioned.

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

get_ur_software_versionC

根据用户提供的IP,获取指定机器人的软件版本 IP:机器人地址

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes

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 the full burden of disclosing behavioral traits. It does not mention whether the tool requires network connectivity, what happens if the IP is unreachable, or if the operation is read-only. The description is minimal and lacks behavioral context beyond the basic purpose.

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 concise with two short sentences and no extraneous information. It front-loads the action and parameter explanation. While not formally structured, it efficiently conveys 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 tool with one parameter and no output schema, the description is adequate but incomplete. It tells what it does and what the parameter means, but omits details like return format, error handling, or usage examples. Given the lack of output schema, some description of the result would improve completeness.

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 0% description coverage for the 'ip' parameter. The description adds the note 'IP:机器人地址' (IP: robot address), which clarifies the parameter's purpose. However, it does not specify IP format (e.g., IPv4) or validation rules. The description adds some value but is basic.

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 retrieves the software version of a robot given an IP address. It specifies the verb 'get' and the resource 'software version', making the purpose clear. However, it does not differentiate from sibling tools like get_robot_model or get_serial_number, which also retrieve robot 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 does not mention prerequisites, context, or exclude other tools. For example, it does not note that other getter tools might be more appropriate for different robot attributes.

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

movejB

发送新的关节姿态到指定IP的机器人,使每个关节都旋转至指定弧度。 IP:机器人地址, q:各关节角度, a:加速度(米每平方秒), v:速度(米每秒), t:移动时长(秒), r:交融半径(米)。

ParametersJSON Schema
NameRequiredDescriptionDefault
aNo
qYes
rNo
tNo
vNo
ipYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It fails to disclose critical behaviors such as whether the movement is blocking or non-blocking, safety requirements, error handling, or side effects like joint limits. The brief parameter list does not cover 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.

Conciseness3/5

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

The description is relatively concise but lacks structure. It lists parameters in a plain text line-by-line format without proper formatting or grouping. While front-loaded with the purpose, the parameter list is 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 no output schema, no annotations, and 6 parameters, the description is incomplete. It does not explain return values, error conditions, or prerequisites like robot connectivity or power state. The tool requires more extensive documentation for safe usage.

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?

Despite 0% schema coverage, the description adds meaningful parameter explanations with units (e.g., 'a:加速度(米每平方秒)'). This compensates for the bare schema, though it could be more precise about defaults and constraints.

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 it sends joint angles to a robot, specifying the action as '发送新的关节姿态' (send new joint pose) and the resource as '机器人' (robot). It distinguishes from siblings like 'movel' (linear move) by focusing on joints.

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 'movel' or other move functions. The description does not mention prerequisites, constraints, or typical use cases, leaving the agent without context for selection.

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

movelA

发送新的TCP位置到指定IP的机器人,使TCP移动到指定位置,移动期间TCP作直线移动。 IP:机器人地址 pose:TCP位置 a:加速度(米每平方秒) v:速度(米每秒) t:移动时长(秒) r:交融半径(米)

ParametersJSON Schema
NameRequiredDescriptionDefault
aNo
rNo
tNo
vNo
ipYes
poseYes

TDQS

A3.8/5.0
Behavior3/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 explains the tool sends a command and mentions linear movement, but lacks details on error behavior, prerequisites (e.g., robot connection), or what happens if the target is unreachable.

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 paragraph that efficiently lists parameters with definitions. It is clear and not overly long, though a more structured format (e.g., bullet points) could improve readability.

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?

The description covers the tool's basic functionality and parameters, but lacks information about return values, error handling, and the need for a prior robot connection. Given no output schema and no annotations, more context would be beneficial.

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?

With 0% schema coverage, the description adds significant value by explaining each parameter: IP as robot address, pose as TCP position, a as acceleration, v as velocity, t as duration, r as blend radius. Units are included for a and v, but pose structure is not detailed.

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 sends a new TCP position to a robot at a given IP, specifying that the TCP moves linearly. It lists all parameters with their meanings, making the purpose unambiguous.

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 does not explicitly guide when to use this tool versus alternatives like movej or movel_x/y/z. The context of linear movement is implied, but no direct comparison or exclusion criteria are provided.

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

movel_xC

命令指定IP机器人的TCP沿X轴方向移动 IP:机器人地址 distance:移动距离(米)

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes
distanceYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It mentions the move direction and distance units, but discloses no behavioral traits such as blocking behavior, acceleration profiles, error handling, or whether negative distances reverse the direction. This is insufficient for a robot control tool.

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 sentence with parameter explanations, making it concise and front-loaded. It wastes no words, though it could be more structured with separate sections for behavior and parameters.

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 a robot movement tool, the description is incomplete. It does not explain return values (no output schema), synchronization behavior, prerequisites (e.g., robot must be connected), or potential side effects. Annotations are absent, leaving many 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?

The description adds meaning to the two parameters: IP is the robot address, distance is in meters. This is helpful since the schema has no parameter descriptions. However, it does not specify expected formats (e.g., IP address format) or range constraints for distance, which would improve usability.

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 moves a robot's TCP along the X-axis, with IP and distance parameters. It distinguishes from siblings like movel_y and movel_z by specifying the axis. However, it does not explicitly state that this is a linear move (as 'movel' implies), which could be deduced from the name.

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 given on when to use this tool versus alternatives like movel (general linear move) or movel_y/movel_z. The description lacks context for selection based on desired axis of movement or other criteria.

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

movel_yB

命令指定IP机器人的TCP沿Y轴方向移动 IP:机器人地址 distance:移动距离(米)

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes
distanceYes

TDQS

B3.1/5.0
Behavior1/5

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

No annotations are provided. The description only says it moves the TCP along Y; it does not disclose any behavioral traits like blocking nature, error handling, timeouts, or required robot state.

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 short (two lines) and gets to the point. It could be improved by front-loading the action, but it is concise without wasted words.

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 output schema and simple parameters, the description lacks information on return values, error handling, or prerequisites. It is incomplete for a command that likely requires a connected robot.

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?

Schema description coverage is 0%, but the description adds meaning by explaining ip as robot address and distance as movement distance in meters. However, it lacks details like allowed ranges or format.

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 moves the robot's TCP along the Y-axis, specifying the parameters IP and distance in meters. It distinguishes from sibling tools like movel_x and movel_z.

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 does not provide guidance on when to use this tool vs alternatives such as movel, movel_x, or movel_z. There is no mention of prerequisites or context.

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

movel_zD

命令指定IP机器人的TCP沿Y轴方向移动 IP:机器人地址 distance:移动距离(米)

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes
distanceYes

TDQS

D1.7/5.0
Behavior1/5

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

No annotations are provided. The description fails to disclose behavioral traits such as relative vs absolute movement, error handling, safety implications, or the return format.

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?

The description is short but poorly structured, containing a single sentence with an error (wrong axis). Conciseness is undermined by inaccuracy.

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 many sibling tools for different axes, the description fails to specify the correct axis. No output schema means return values are undocumented, leaving the agent uninformed.

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 coverage is 0%, but the description adds meaning by explaining 'ip' as '机器人地址' (robot address) and 'distance' as '移动距离(米)' (movement distance in meters), which is not present in the schema.

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 states '沿Y轴方向移动' (move along Y-axis), but the tool name is 'movel_z', indicating Z-axis. This mismatch creates confusion about the tool's actual function.

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?

No guidance on when to use this tool versus siblings like movel, movel_x, movel_y. The description does not mention alternative tools or provide usage context.

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

optimize_trajectoryB
优化轨迹(时间、能耗或平滑度)

参数:
- ip: 机器人IP地址
- waypoints: 路径点列表
- optimization_type: 优化类型,可选值包括"time", "energy", "smoothness"

返回:
- 优化后的路径
ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes
waypointsYes
optimization_typeNotime

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only states it returns an optimized path, but does not disclose safety implications, required permissions, or side effects on robot state.

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?

Short description with bullet points for parameters and return. Front-loaded purpose. Could be more structured but adequate.

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?

Lacks explanation of return format, failure cases, prerequisites, or integration with robot state. Given no output schema and no annotations, the description is insufficient for an optimization 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 0%, so description must compensate. It briefly explains each parameter (ip, waypoints, optimization_type) and lists possible values for optimization_type. However, waypoints format is undefined, and ip is trivial.

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 optimizes a trajectory based on time, energy, or smoothness. It uses a specific verb and resource, and distinguishes from sibling tools (no other optimization tool).

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 or when not to use this tool. No mention of prerequisites, alternatives, or context for using different optimization types.

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

send_program_scriptC

发送脚本到指定IP的机器人。 IP:机器人地址 script:脚本内容

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes
scriptYes

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 does not disclose whether the script is executed, any side effects, required permissions, or return behavior.

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

Conciseness3/5

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

The description is very short, but it is not well-structured or informative. It achieves brevity but at the cost of necessary detail.

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?

With no output schema and many sibling tools, the description is insufficient. It omits what happens after sending, error handling, and return values, making it incomplete for effective use.

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

Parameters2/5

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

Schema description coverage is 0%, but the description only rephrases parameter names ('IP: robot address, script: script content') without adding format, constraints, or examples. It adds minimal value beyond the schema.

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 action 'send script to robot at specified IP', with specific verb and resource. It distinguishes from sibling tools which are about connecting, moving, or analyzing data.

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, prerequisites, or context. The description only states its function without any usage advice.

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

setup_multi_robot_coordinationB
设置多机器人协同工作环境

参数:
- robot_ids: 参与协同的机器人ID列表
- collaboration_mode: 协作模式,可选值包括"sequential", "parallel", "synchronous", "hierarchical"

返回:
- 成功或失败的消息
ParametersJSON Schema
NameRequiredDescriptionDefault
robot_idsYes
collaboration_modeNoparallel

TDQS

B3/5.0
Behavior2/5

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

The description lacks behavioral context: it does not disclose side effects, required conditions (e.g., robot connectivity), or what 'coordination environment' entails. With no annotations, the description fails to inform the agent about important behavioral aspects.

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 concise with a brief summary followed by parameter explanations. It is well-organized and efficient, though could be slightly more structured with a clear separation sections.

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 (multi-robot coordination) and lack of output schema, the description is incomplete. It does not explain return format, error conditions, or prerequisites, leaving gaps for the agent.

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 adds meaning beyond the schema: it explains robot_ids as 'list of robot IDs participating in coordination' and collaboration_mode with possible values, compensating for the 0% schema description 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 clearly states the action (setup) and resource (multi-robot coordination environment). However, it does not differentiate from sibling tools like create_collaborative_task or execute_collaborative_task, which have overlapping purposes.

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, nor any prerequisites or context for its invocation. The description only lists parameters and return value without usage hints.

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

start_data_recordingA
开始记录机器人数据

参数:
- robot_id: 机器人ID
- record_types: 记录类型列表,可选值包括"robot_state", "joint_data", "tcp_data", "error_data"
- duration: 记录持续时间(秒),0表示持续记录直到停止

返回:
- 记录会话ID
ParametersJSON Schema
NameRequiredDescriptionDefault
durationNo
robot_idYes
record_typesYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description provides key behavioral traits: recording starts, duration 0 means continuous until stopped, and returns a session ID. It lacks details on concurrency limits or prerequisites but is adequate.

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 short and front-loaded with purpose, followed by a clear parameter list and return value. Every sentence earns its place.

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 no output schema, the description mentions the return value (session ID). It covers the main aspects but could mention prerequisites like robot connectivity. Overall sufficient for a simple recording start tool.

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

Parameters5/5

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

Schema coverage is 0%, so the description fully explains all three parameters: robot_id, record_types with listed optional values, and duration with default 0 meaning continuous recording. This adds significant value beyond the schema.

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 purpose: '开始记录机器人数据' (start recording robot data), which is a specific verb+resource. It is easily distinguished from sibling tools like 'stop_data_recording' and other analysis 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 usage for starting data recording but does not explicitly say when to use it versus alternatives or when not to use it. No exclusions are mentioned.

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

stop_data_recordingC
停止数据记录

参数:
- session_id: 记录会话ID

返回:
- 停止状态
ParametersJSON Schema
NameRequiredDescriptionDefault
session_idYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only says '停止数据记录' but does not explain side effects (e.g., whether in-flight data is saved, if stopping is instant, or if it requires a running session).

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

Conciseness3/5

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

The description is very concise, but it lacks substance for a tool with one parameter. Every sentence should add value; here the parameter description is trivial.

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?

Given the tool's simplicity (1 required param, no output schema), the description is minimally complete for stopping a recording. However, it does not address preconditions (e.g., an active recording) or postconditions (e.g., data availability).

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

Parameters2/5

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

Schema coverage is 0%, so the description should compensate. It lists 'session_id: 记录会话ID', which adds minimal meaning (it is a session ID) but does not explain format, constraints, or relationship to the recording session.

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 (stop) and resource (data recording), distinguishing it from sibling tools like start_data_recording. It is unambiguous.

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, such as start_data_recording or other control tools. The context 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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 16 tool updatesv1.0.0
    • Addedanalyze_robot_data
    • Addedcompare_robots_performance
    • Addedcreate_collaborative_task
    • Changeddraw_circle3 fields changed
      • removedInput schema / properties / center / additionalProperties
        Removed value: -true
      • addedInput schema / properties / center / items
        Added value: +{}
      • changedInput schema / properties / center / type
        Previous value: -"object"New value: +"array"
    • Changeddraw_rectangle3 fields changed
      • removedInput schema / properties / origin / additionalProperties
        Removed value: -true
      • addedInput schema / properties / origin / items
        Added value: +{}
      • changedInput schema / properties / origin / type
        Previous value: -"object"New value: +"array"
    • Changeddraw_square3 fields changed
      • removedInput schema / properties / origin / additionalProperties
        Removed value: -true
      • addedInput schema / properties / origin / items
        Added value: +{}
      • changedInput schema / properties / origin / type
        Previous value: -"object"New value: +"array"
    • Addedexecute_collaborative_task
    • Addedgenerate_bezier_path
    • Addedgenerate_robot_report
    • Changedget_time1 field changed
      • changedOutput schema / (root)
        Previous value: -{
        -  "properties": {
        -    "result": {
        -      "title": "Result",
        -      "type": "string"
        -    }
        -  },
        -  "required": [
        -    "result"
        -  ],
        -  "title": "get_timeOutput",
        -  "type": "object"
        -}New value: +null
    • Changedmovej3 fields changed
      • removedInput schema / properties / q / additionalProperties
        Removed value: -true
      • addedInput schema / properties / q / items
        Added value: +{}
      • changedInput schema / properties / q / type
        Previous value: -"object"New value: +"array"
    • Changedmovel3 fields changed
      • removedInput schema / properties / pose / additionalProperties
        Removed value: -true
      • addedInput schema / properties / pose / items
        Added value: +{}
      • changedInput schema / properties / pose / type
        Previous value: -"object"New value: +"array"
    • Addedoptimize_trajectory
    • Addedsetup_multi_robot_coordination
    • Addedstart_data_recording
    • Addedstop_data_recording
  2. 29 tool updates
    • First observedconnect_ur
    • First observeddisconnect_ur
    • First observeddraw_circle
    • First observeddraw_rectangle
    • First observeddraw_square
    • First observedget_actual_joint_current
    • First observedget_actual_joint_pose
    • First observedget_actual_joint_voltage
    • First observedget_actual_robot_current
    • First observedget_actual_robot_voltage
    • First observedget_actual_tcp_pose
    • First observedget_joint_temperatures
    • First observedget_output_bit_register
    • First observedget_output_double_register
    • First observedget_output_int_register
    • First observedget_program_state
    • First observedget_programs
    • First observedget_robot_mode
    • First observedget_robot_model
    • First observedget_safety_mode
    • First observedget_serial_number
    • First observedget_time
    • First observedget_ur_software_version
    • First observedmovej
    • First observedmovel
    • First observedmovel_x
    • First observedmovel_y
    • First observedmovel_z
    • First observedsend_program_script

TDQS

C2.7/5.0

Scored across 39 tools

Disambiguation4/5

Most tools have distinct purposes, but movel_z has a description that incorrectly says '沿Y轴方向移动' (Y axis) while the name suggests Z axis, causing confusion. Additionally, draw_square and draw_rectangle are very similar but still distinguishable.

Naming Consistency3/5

Naming is a mix of verb_noun (e.g., draw_circle), concatenated abbreviations (movej, movel), and underscores (movel_x). The 'get_' tools are consistent, but the movement commands break the pattern. Overall, the convention is not uniform.

Tool Count2/5

With 39 tools, the server has a high count that exceeds the typical well-scoped range of 3-15. While the domain may justify many tools, there are redundancies (e.g., multiple movel_axis commands) that could be parameterized, making the surface feel bloated.

Completeness4/5

The tool set covers connection, movement, drawing, data recording, analysis, multi-robot coordination, and robot information. Minor gaps include the lack of an explicit stop or emergency stop command, but overall it is comprehensive for UR robot control.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    F
    maintenance
    A Python-based server that enables AI assistants to control robots by integrating the Model Context Protocol (MCP) with ROS 2, allowing for natural language commands that translate into robot movement via the /cmd\_vel topic.
    83
    -
  • A
    license
    D
    quality
    F
    maintenance
    A server built on the Model Context Protocol that enables controlling the Unitree Go2 robot using natural language commands, which are translated into ROS2 instructions for the robot to perform corresponding actions.
    12
    87
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to control Universal Robots through real-time connection management, status monitoring, and precise joint/linear motion control. Provides safe robot operation with built-in collision detection and simulation mode for development without physical hardware.
    6
    GPL 3.0