nUR MCP Server
The nUR MCP Server enables AI-driven natural language control, monitoring, and analysis of Universal Robots (UR) collaborative robots via the Model Context Protocol (MCP).
Connection Management
Connect/disconnect to a UR robot by IP address
Device Information
Retrieve serial number, Polyscope software version, robot model, safety mode, and operating mode
Status Monitoring
Get real-time TCP pose, joint angles, voltage, current, per-joint temperatures, uptime, program execution state, and safety/operating modes
Motion Control
Execute joint-space (
movej) and linear TCP (movel) movementsMove TCP along X, Y, or Z axis by a relative distance
Draw geometric paths: circles, squares, and rectangles
Program Control
List
.urpprogram files on the robot (via SSH)Send and execute custom URScript programs directly
Register Operations
Read integer, double, and boolean output registers by index
Multi-Robot Coordination
Set up collaborative environments (sequential, parallel, synchronous, hierarchical modes)
Create and execute collaborative tasks with robot assignments and dependencies
Trajectory Planning
Generate Bézier curve paths from control points
Optimize trajectories for time, energy efficiency, or smoothness
Data Recording & Analysis
Start/stop recording sessions (joint data, TCP data, robot state, error data)
Perform statistical, trend, anomaly, and performance analysis
Generate operational reports (PDF/JSON) and compare metrics across multiple robots
Integrates with Bun runtime as a dependency, using version 1.2.8 or later.
Provides repository hosting and version control for the MCP server codebase.
Offers alternative repository hosting and version control for the MCP server codebase.
Supports running the MCP server on Linux distributions like CentOS and Ubuntu, providing compatibility with Linux-based infrastructures.
Enables running the MCP server on macOS systems, supporting Apple's desktop operating system environment.
Utilizes Python for server implementation, requiring Python 3.11 or later for operation.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@nUR MCP Servermove the robot arm to position x=0.5, y=0.3, z=0.7"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Nonead Universal-Robots MCP Server
1. MCP 是什么?
MCP(模型上下文协议) 是由 Anthropic 公司开发的一种通信协议(2024年11月开源),主要用于让 AI 大模型(如 DeepSeek-V3-0324,DeepSeek-R1,Qwen3 等) 更高效地访问外部数据、工具和服务,从而提供更精准、更智能的回答。
MCP 能做什么?
提供上下文信息: 应用程序可以向 AI 传递文件、数据库内容等额外信息,帮助 AI 更好地理解问题。 例如:让 AI 读取一份报告,再基于报告内容回答问题。
调用外部工具: AI 可以通过 MCP 直接操作本地或远程功能,如读写文件、查询数据库、调用 API、控制硬件设备等。 例如:让 AI 自动整理你的文档,或者从数据库提取数据生成报表。
构建智能工作流: 开发者可以组合多个 MCP 服务,让 AI 完成复杂任务,比如自动化数据分析、智能客服等。
保障数据安全: MCP 在本地运行,避免敏感数据上传到云端,保护隐私。
Related MCP server: Unitree Go2 MCP Server
2. MCP 如何工作?
MCP 采用 客户端-服务器(Client-Server)架构: MCP 客户端:通常是 AI 应用(如 Claude 或其他 LLM 工具),负责向服务器发送请求。 MCP 服务器:运行在本地或远程,提供数据或工具接口,供 AI 调用。 通信方式:基于 JSON-RPC 2.0(一种标准通信格式),支持请求、响应和实时通知。
3. MCP 服务器的主要功能
MCP 服务器相当于 AI 的“助手”,可以提供以下支持: 访问数据(Resource Exposure) 提供文件、数据库、内存数据等,例如: file:///docs/report.pdf(读取本地文件)、db://sales/records(查询数据库)、执行操作(Tool Provisioning)
提供可调用的功能,例如: search_database(sql_query)(执行 SQL 查询)、save_file(path, content)(保存文件)、实时更新(Dynamic Notification), 当数据变化时,服务器可以主动通知 AI,确保信息最新,会话管理(Session Management),管理 AI 与服务器的连接,确保通信稳定。
2. nUR MCP Server 核心功能
拓德科技自主研发的nUR_MCP_SERVER产品技术说明
产品概述: nUR_MCP_SERVER是基于MCP(Model Control Protocol)接口协议构建的智能机器人控制中间件系统,通过集成大语言模型(LLM)实现工业机器人的自然语言交互式控制。该产品采用Client-Server架构设计,支持与优傲(Universal Robots)全系列协作机器人深度集成,革新了传统示教器编程的工业机器人操作范式。
核心技术架构:
语义解析引擎 搭载多层Transformer架构的NLP处理模块,支持上下文感知的指令解析(Contextual Command Parsing),实现自然语言到机器人控制指令的端到端转换,指令识别准确率达98.6%
动态脚本生成系统 基于LLM的代码生成框架,可自动将自然语言指令转化为URScript机器人控制脚本,支持实时语法校验和安全性验证,生成效率较传统编程提升12倍
多模态控制接口
MCP协议扩展层:支持TCP/UDP双模通信,提供µs级指令响应
设备抽象层:实现URCap插件标准化接入
数据总线:基于TCP/IP 以太网协议,实现多机协同控制
核心功能特性:
▶ 自然语言即时控制
通过语音/文本指令直接驱动机器人运动(位姿控制、轨迹规划、IO操作),支持动态参数注入和实时运动修正
▶ 智能数据采集系统
实时采集关节扭矩、末端位姿等12维状态数据
支持自然语言定义的数据过滤规则
自动生成结构化数据报告(CSV/JSON/XLSX)
▶ 多机协同控制 基于分布式任务调度算法,配合拓德开发的MCP-Client可同时管理≤12台UR机器人集群,支持语音级联指令和跨设备任务编排
▶ 自适应学习模块 内置增量训练框架,通过用户反馈持续优化指令-动作映射关系,系统迭代学习周期≤24h
技术指标:
指令响应延迟:<200ms(端到端)
协议兼容性:MCP v2.1+ / URScript v5.0+
并发处理能力:200+ TPS
以下是 nUR_MCP_SERVER 工具的功能归类表格(自动从源码生成):
工具名 | 功能分类 | 简要描述 | 主要参数 |
| 连接管理 | 建立与指定 IP 的 UR 机器人连接 |
|
| 连接管理 | 断开与指定机器人的连接 |
|
| 设备信息 | 获取机器人序列号 |
|
| 状态监控 | 获取机器人开机时长(秒) |
|
| 设备信息 | 获取 Polyscope 软件版本 |
|
| 设备信息 | 获取机器人型号 |
|
| 设备信息 | 获取安全模式 |
|
| 状态监控 | 获取机器人运行模式 |
|
| 程序控制/状态 | 获取当前加载程序与执行状态 |
|
| 运动控制 | 获取当前 TCP 位姿 |
|
| 运动控制 | 获取当前关节角度 |
|
| 寄存器操作 | 读取 Int 寄存器 |
|
| 寄存器操作 | 读取 Double 寄存器 |
|
| 寄存器操作 | 读取 Bool 寄存器 |
|
| 状态监控 | 获取机器人电压(V) |
|
| 状态监控 | 获取机器人电流(A) |
|
| 状态监控 | 获取各关节电压(V) |
|
| 状态监控 | 获取各关节电流(A) |
|
| 状态监控 | 获取各关节温度(°C) |
|
| 程序控制 | 列出机器人上 |
|
| 程序控制 | 发送并执行实时脚本 |
|
| 运动控制 | 关节空间运动命令 |
|
| 运动控制 | TCP 直线运动命令 |
|
| 运动控制 | 沿 X 轴移动(相对) |
|
| 运动控制 | 沿 Y 轴移动(相对) |
|
| 运动控制 | 沿 Z 轴移动(相对) |
|
| 运动控制 | 在指定平面画圆 |
|
| 运动控制 | 在指定平面画正方形 |
|
| 运动控制 | 在指定平面画长方形 |
|
| 多机协同 | 注册机器人并设置协作模式 |
|
| 多机协同 | 创建协同任务 |
|
| 多机协同 | 执行协同任务 |
|
| 轨迹规划 | 根据控制点生成贝塞尔曲线路径 |
|
| 轨迹规划 | 优化给定路径(时间/能耗/平滑) |
|
| 数据记录 | 启动数据记录会话 |
|
| 数据记录 | 停止数据记录会话 |
|
| 数据分析 | 对采集数据执行分析 |
|
| 数据分析 | 生成机器人运行报告(PDF/JSON 等) |
|
| 数据分析 | 比较多机器人性能 |
|
注:所有工具多数需要先建立机器人连接后才能使用;部分工具依赖扩展模块(轨迹规划/数据记录/分析/多机协调),需先初始化成功。
3. 免责申明
请在使用 nUR MCP Server 前,确保操作人员已接受 UR 机器人安全培训,并熟悉紧急停止(E-stop)等安全操作。 建议定期检查机器人及 MCP Server 的运行状态,确保系统稳定性和安全性。
使用 nUR MCP Server 时,必须严格遵守以下安全规范:
机器人必须在可视范围内运行 操作人员应始终确保 优傲机器人处于视线可及的位置,以便实时监控其运行状态。 禁止在机器人运行时离开操作区域,以免发生意外情况无法及时干预。
确保工作环境安全
机器人运行前,必须检查并清除周边障碍物,确保无人员、设备或其他物体进入危险区域。 必要时设置 物理防护栏 或 安全光栅,防止未经授权的人员进入工作区。
违反安全规范的责任豁免
如因未遵守上述安全要求(如脱离监控、未清理工作区等)导致 人身伤害、设备损坏或生产事故,我方不承担任何法律责任及赔偿义务。 所有操作风险及后果由使用方自行承担。
4. 版本发布
4.1 最近更新
2025.05.15 : nUR_MCP_SERVER 首次发布
4.2 后续计划
支持nUR MCP Server 的专属 MCP Client, 增强执行器的安全功能。
增加优傲机器人log记录
备份及上传优傲机器人程序
5. 快速开始
5.1 基于产品(面向普通用户)
5.1.1 引擎&依赖
推荐系统版本:
macOS 用户:macOS Monterey 12.6 或更新版本 Linux 用户:CentOS 7 / Ubuntu 20.04 或更新版本 Windows 用户:Windows 10 LTSC 2021 或更新版本软件要求:
MCP 服务端环境
Python 3.11 或更新版本 pip 25.1 或更新版本 UV Package Manager 0.6.14 或更新版本 bun 1.2.8 或更新版本MCP 客户端
Claude Desktop 3.7.0 或更新版本 Cherry Studio 1.2.10 或更新版本 Cline 3.14.1 或更新版本 ClaudeMind、Cursor、NextChat、ChatMCP、Copilot-MCP、Continue、Dolphin-MCP、Goose 未作测试。LLM 大语言模型
DeepSeek-V3-0324 或更新版本 DeepSeek-R1-671b 或更新版本 Qwen3-235b-a22b 或更新版本 一般支持MCP的大语言模型都可用,清单以外的模型未做测试 Ollama 部署的模型暂时无法调用Tool,正在解决中...
5.1.2 安装
MCP 服务端安装:
安装 Python 3.11 或更新版本。
安装 pip 25.1 或更新版本。
安装 UV Package Manager 0.6.14 或更新版本。
安装 bun 1.2.8 或更新版本。
安装 MCP Server:
git clone https://gitee.com/nonead/Nonead-Universal-Robots-MCP.git
cd Nonead-Universal-Robots-MCP
pip install -r requirements.txtMCP 客户端配置:
要与 Claude Desktop 配合使用,请添加服务器配置: MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"nUR_MCP_SERVER": {
"command": "uvx",
"args": [
"https://www.nonead.com/download/nonead_universal_robots_mcp-0.1.4-py3-none-any.whl",
"nonead-universal-robots-mcp"
]
}
}
}Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"nUR_MCP_SERVER": {
"command": "uvx",
"args": [
"https://www.nonead.com/download/nonead_universal_robots_mcp-0.1.4-py3-none-any.whl",
"nonead-universal-robots-mcp"
]
}
}
}要与 Cherry Studio 配合使用,请添加服务器配置:
MacOS & Linux:
{
"mcpServers": {
"Nonead-Universal-Robots-MCP": {
"name": "Nonead-Universal-Robots-MCP",
"type": "stdio",
"description": "Nonead-Universal-Robots-MCP是基于MCP(Model Control Protocol)接口协议构建的智能工业协作机器人控制中间件系统,通过集成大语言模型(LLM)实现工业机器人的自然语言交互式控制。该产品采用Client-Server架构设计,支持与优傲(Universal Robots)全系列协作机器人深度集成,革新了传统示教器编程的工业机器人。",
"isActive": true,
"registryUrl": "https://pypi.tuna.tsinghua.edu.cn/simple",
"timeout": "600",
"provider": "拓德科技",
"providerUrl": "https://www.nonead.com",
"logoUrl": "https://www.nonead.com/assets/img/vi/5.png",
"tags": [
"优傲机器人大语言模型控制系统"
],
"command": "uvx",
"args": [
"https://www.nonead.com/download/nonead_universal_robots_mcp-0.1.4-py3-none-any.whl",
"nonead-universal-robots-mcp"
],
"installSource": "unknown"
}
}
}
Windows:
{
"mcpServers": {
"n5JzpK_3v_bgPnNNxry2o": {
"name": "NONEAD Universal-Robots MCP Server",
"type": "stdio",
"description": "Nonead-Universal-Robots-MCP是基于MCP(Model Control Protocol)接口协议构建的智能工业协作机器人控制中间件系统,通过集成大语言模型(LLM)实现工业机器人的自然语言交互式控制。该产品采用Client-Server架构设计,支持与优傲(Universal Robots)全系列协作机器人深度集成,革新了传统示教器编程的工业机器人。",
"isActive": true,
"registryUrl": "https://pypi.tuna.tsinghua.edu.cn/simple",
"provider": "拓德科技",
"providerUrl": "https://www.nonead.com",
"logoUrl": "https://www.nonead.com/assets/img/vi/5.png",
"tags": [],
"command": "uvx",
"args": [
"https://www.nonead.com/download/nonead_universal_robots_mcp-0.1.4-py3-none-any.whl",
"nonead-universal-robots-mcp"
],
"installSource": "unknown"
}
}
}要与 Cline 配合使用,请添加服务器配置:
MacOS & Linux:
{
"mcpServers": {
"nUR_MCP_SERVER": {
"command": "uvx",
"args": [
"https://www.nonead.com/download/nonead_universal_robots_mcp-0.1.4-py3-none-any.whl",
"nonead-universal-robots-mcp"
]
}
}
}Windows:
{
"mcpServers": {
"nUR_MCP_SERVER": {
"command": "uvx",
"args": [
"https://www.nonead.com/download/nonead_universal_robots_mcp-0.1.4-py3-none-any.whl",
"nonead-universal-robots-mcp"
]
}
}
}5.2 基于工具包(面向开发者)
5.2.1 引擎&依赖
推荐系统版本:
macOS 用户:macOS Monterey 12.6 或更新版本 Linux 用户:CentOS 7 / Ubuntu 20.04 或更新版本 Windows 用户:Windows 10 LTSC 2021 或更新版本软件要求:
MCP 服务端环境
Python 3.11 或更新版本 pip 25.1 或更新版本 UV Package Manager 0.6.14 或更新版本 bun 1.2.8 或更新版本LLM 大语言模型
DeepSeek-V3-0324 或更新版本 DeepSeek-R1-671b 或更新版本 Qwen3-235b-a22b 或更新版本 一般支持MCP的大语言模型都可用,清单以外的模型未做测试 Ollama 部署的模型暂时无法调用Tool,正在解决中...
5.2.2 安装
macOS / Linux /Windows开发者
Python 3.11 或更新版本
pip 25.1 或更新版本
UV Package Manager 0.6.14 或更新版本
bun 1.2.8 或更新版本5.2.3 使用
以下是一些你可以让大语言模型去执行的任务示例:
连接优傲机器人IP: 192.168.1.199
获取优傲机器人的TCP末端执行器当前的位姿坐标
列出nUR_MCP_SERVER 工具的所有指令
获取优傲机器人的所有硬件数据
执行优傲机器人的脚本程序
运行优傲机器人自带的程序 XXXX.urp
现在设定IP是172.22.109.141的优傲机器人叫A机器人,IP是172.22.98.41的优傲机器人叫B机器人,连接这两台机器人,记录A机器人和B机器人现在TCP的位姿以及各关键的位置,A机器人在左边,B机器人在右边,分析两台机器人现在位姿的相互关系。
分步执行一下指令,优傲机器人IP:192.168.1.199,记录当前TCP位姿,然后执行:TCP向+Z方向移动20mm,再向-Y方向移动50mm,再向+X方向移动30mm,循环5次。
编写优傲机器人脚本程序,并执行,程序要求:以当前位姿为圆心,基座平面为特征,画一个半径为50mm的圆。
现在设定IP是172.22.109.141的优傲机器人叫A机器人,IP是172.22.98.41的优傲机器人叫B机器人,链接两台机器人,接下来的指令会只控制A机器人动作,请同步B机器人镜像运动。
6. 技术架构
MCP采用客户端-服务器架构,通过标准化的协议实现模型与外部资源的通信。
客户端-服务器模型
MCP架构中包含以下核心组件:
MCP主机(Host):发起连接的LLM应用程序(如Claude Desktop或IDE),它希望通过MCP访问数据。 MCP客户端(Client):在主机应用程序内部维护与服务器的1:1连接的协议客户端。 MCP服务器(Server):通过标准化的Model Context Protocol暴露特定功能的轻量级程序。 本地数据源:MCP服务器可以安全访问的计算机文件、数据库和服务。 远程服务:MCP服务器可以连接的通过互联网可用的外部系统(例如,通过API)。 核心组件 在MCP架构中,各组件具有以下职责:
MCP主机:
提供用户界面
管理与LLM提供商的连接
集成MCP客户端以访问外部资源
MCP客户端:
与MCP服务器建立和维护连接
发送请求并接收响应
按照MCP协议标准处理数据交换
MCP服务器:
处理来自客户端的请求
执行特定功能或提供资源访问
按照MCP协议标准格式化响应
通信协议
MCP使用JSON-RPC 2.0作为基础通信协议,支持以下类型的消息:
请求(Requests):从客户端向服务器或从服务器向客户端发起操作的消息。
响应(Responses):对请求的答复,包含请求的结果或错误信息。
通知(Notifications):不需要响应的单向消息,通常用于事件通知。
MCP支持多种传输机制,包括:
标准输入/输出(Stdio):适用于本地服务器,通过进程间通信实现。 服务器发送事件(SSE):基于HTTP的传输机制,适用于远程服务器。
MCP的优势 MCP相比传统的集成方法具有显著的优势,主要体现在统一性、安全性和扩展性方面。
统一性 MCP通过标准化AI系统与外部数据源的交互方式,解决了传统集成方法的碎片化问题:
插件式接入:通过统一的协议实现各类数据源的插件式接入,避免为每个数据源单独编写代码。 跨平台兼容:支持不同的AI模型和平台,提高系统的互操作性。 简化开发:降低了开发复杂度,使开发者可以专注于业务逻辑而非底层集成。 安全性 MCP内置了安全机制,保障数据在传输和处理过程中的安全:
敏感信息保护:确保在数据交互过程中,敏感信息(如API密钥、用户数据)得到充分保护。 访问控制:MCP服务器可以实现精细的访问控制,确保只有经过验证的请求才能访问特定资源。 本地处理:通过在本地处理数据,避免将敏感信息上传至第三方平台。 扩展性 MCP的模块化设计使系统具有极高的可扩展性:
多服务连接:支持多个服务连接到任何兼容的客户端,提供标准化的、通用的协议共享资源、工具和提示。 生态系统拓展:随着生态系统的成熟,开发者可以利用越来越多的预构建组件。 自定义能力:开发者可以根据需要创建自定义的MCP服务器,扩展系统的功能。
7. 联系我们
GitHub: https://github.com/nonead/Nonead-Universal-Robots-MCP
gitee: https://gitee.com/nonead/Nonead-Universal-Robots-MCP
官网: https://www.nonead.com
8. nUR MCP Server 与 其他 MCP Server 差异
使用nUR MCP Server的用户必须具备极高的安全意识,需要经过优傲机器人使用培训,因为大语言模型操作的是真实的机器人,操作不当会导致人身伤害和财产损失情况发生,切记。
9. 引用
如果您使用本软件,请以下面的方式引用:
nURMCP: NONEAD Uninversal-Robots Model Context Protocol Server
拓德诠释智造之韵,创新引领世界之变
Nonead demonstrates the true meaning of intelligent manufacturing, pioneering innovations that reshape our world.
10. 许可协议
本项目采用区分用户的双重许可 (User-Segmented Dual Licensing) 模式。
核心原则
个人用户 和 10人及以下企业/组织: 默认适用 GNU Affero 通用公共许可证 v3.0 (AGPLv3)。
超过10人的企业/组织: 必须 获取 商业许可证 (Commercial License)。
定义:"10人及以下" 指在您的组织(包括公司、非营利组织、政府机构、教育机构等任何实体)中,能够访问、使用或以任何方式直接或间接受益于本软件(nUR_MCP_SERVER)功能的个人总数不超过10人。这包括但不限于开发者、测试人员、运营人员、最终用户、通过集成系统间接使用者等。
10.1 开源许可证 (Open Source License): 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 商业许可证 (Commercial License) - 适用于超过10人的组织,或希望规避 AGPLv3 义务的用户
强制要求: 如果您的组织不满足上述"10人及以下"的定义(即有11人或更多人可以访问、使用或受益于本软件),您必须联系我们获取并签署一份商业许可证才能使用 nUR_MCP_SERVER。
自愿选择: 即使您的组织满足"10人及以下"的条件,但如果您的使用场景无法满足 AGPLv3 的条款要求(特别是关于源代码公开的义务),或者您需要 AGPLv3 未提供的特定商业条款(如保证、赔偿、无 Copyleft 限制等),您也必须联系我们获取并签署一份商业许可证。
需要商业许可证的常见情况包括(但不限于):
您的组织规模超过10人。
(无论组织规模)您希望分发修改过的 nUR_MCP_SERVER 版本,但不希望根据 AGPLv3 公开您修改部分的源代码。
(无论组织规模)您希望基于修改过的 nUR_MCP_SERVER 提供网络服务(SaaS),但不希望根据 AGPLv3 向服务使用者提供修改后的源代码。
(无论组织规模)您的公司政策、客户合同或项目要求不允许使用 AGPLv3 许可的软件,或要求闭源分发及保密。
获取商业许可: 请通过邮箱 service@nonead.com 联系 nUR_MCP_SERVER 开发团队洽谈商业授权事宜。
10.3 贡献 (Contributions)
我们欢迎社区对 nUR_MCP_SERVER 的贡献。所有向本项目提交的贡献都将被视为在 AGPLv3 许可证下提供。
通过向本项目提交贡献(例如通过 Pull Request),即表示您同意您的代码以 AGPLv3 许可证授权给本项目及所有后续使用者(无论这些使用者最终遵循 AGPLv3 还是商业许可)。
您也理解并同意,您的贡献可能会被包含在根据商业许可证分发的 nUR_MCP_SERVER 版本中。
10.4 其他条款 (Other Terms)
关于商业许可证的具体条款和条件,以双方签署的正式商业许可协议为准。
项目维护者保留根据需要更新本许可政策(包括用户规模定义和阈值)的权利。相关更新将通过项目官方渠道(如代码仓库、官方网站)进行通知。
11. 开发 核心团队
苏州拓德机器人科技有限公司 MCP Server 开发团队
Tony Ke tonyke@nonead.com
Micro Zhu microzhu@nonead.com
Anthony Zhuang anthonyzhuang@nonead.com
Quentin Wang quentinwang@nonead.com
Available Tools
39 toolsanalyze_robot_dataC
分析机器人数据
参数:
- robot_id: 机器人ID
- analysis_type: 分析类型,可选值包括"statistical", "trend", "anomaly", "performance"
- start_time: 开始时间戳
- end_time: 结束时间戳
返回:
- 分析结果
| Name | Required | Description | Default |
|---|---|---|---|
| end_time | No | ||
| robot_id | Yes | ||
| start_time | No | ||
| analysis_type | Yes |
TDQS
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.
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.
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.
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.
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.
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: 结束时间戳
返回:
- 比较结果
| Name | Required | Description | Default |
|---|---|---|---|
| end_time | No | ||
| robot_ids | Yes | ||
| start_time | No | ||
| metric_columns | Yes |
TDQS
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.
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.
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.
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.
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.
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:机器人地址
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes |
TDQS
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.
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.
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.
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.
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.
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"}]
返回:
- 任务创建结果
| Name | Required | Description | Default |
|---|---|---|---|
| task_name | Yes | ||
| dependencies | No | ||
| robot_assignments | Yes |
TDQS
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.
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.
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.
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.
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.
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:机器人地址
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes |
TDQS
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.
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.
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.
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.
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.
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。
| Name | Required | Description | Default |
|---|---|---|---|
| r | Yes | ||
| ip | Yes | ||
| center | Yes | ||
| coordinate | No | z |
TDQS
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.
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.
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.
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.
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.
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。
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes | ||
| width | Yes | ||
| height | Yes | ||
| origin | Yes | ||
| coordinate | No | z |
TDQS
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.
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.
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.
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.
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.
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。
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes | ||
| border | Yes | ||
| origin | Yes | ||
| coordinate | No | z |
TDQS
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.
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.
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.
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.
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.
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
返回:
- 执行结果
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
TDQS
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.
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.
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.
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.
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.
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: 生成的路径点数量
返回:
- 路径点列表
| Name | Required | Description | Default |
|---|---|---|---|
| num_points | No | ||
| control_points | Yes |
TDQS
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.
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.
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.
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.
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.
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: 报告保存路径
返回:
- 报告生成结果
| Name | Required | Description | Default |
|---|---|---|---|
| end_time | No | ||
| robot_id | Yes | ||
| start_time | No | ||
| report_path | No |
TDQS
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.
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.
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.
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.
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.
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:机器人地址
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes |
TDQS
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.
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.
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.
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.
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.
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:机器人地址
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes |
TDQS
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.
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.
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.
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.
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.
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:机器人地址
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes |
TDQS
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.
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.
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.
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.
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.
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:机器人地址
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes |
TDQS
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.
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.
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.
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.
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.
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:机器人地址
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes |
TDQS
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.
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.
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.
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.
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.
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:机器人地址
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes |
TDQS
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.
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.
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.
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.
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.
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:机器人地址
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes |
TDQS
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.
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.
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.
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.
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.
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]
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes | ||
| index | Yes |
TDQS
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.
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.
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.
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.
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.
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]
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes | ||
| index | Yes |
TDQS
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.
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.
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.
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.
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.
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]
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes | ||
| index | Yes |
TDQS
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.
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.
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.
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.
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.
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密码
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes | ||
| password | No | easybot | |
| username | No | root |
TDQS
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.
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.
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.
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.
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.
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:机器人地址
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes |
TDQS
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.
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.
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.
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.
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.
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:机器人地址
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes |
TDQS
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.
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.
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.
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.
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.
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:机器人地址
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes |
TDQS
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.
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.
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.
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.
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.
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:机器人地址
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes |
TDQS
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.
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.
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.
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.
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.
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:机器人地址
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes |
TDQS
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.
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.
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.
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.
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.
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:机器人地址
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes |
TDQS
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.
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.
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.
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.
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.
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:机器人地址
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes |
TDQS
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.
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.
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.
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.
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.
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:交融半径(米)。
| Name | Required | Description | Default |
|---|---|---|---|
| a | No | ||
| q | Yes | ||
| r | No | ||
| t | No | ||
| v | No | ||
| ip | Yes |
TDQS
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.
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.
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.
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.
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.
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:交融半径(米)
| Name | Required | Description | Default |
|---|---|---|---|
| a | No | ||
| r | No | ||
| t | No | ||
| v | No | ||
| ip | Yes | ||
| pose | Yes |
TDQS
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.
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.
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.
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.
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.
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:移动距离(米)
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes | ||
| distance | Yes |
TDQS
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.
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.
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.
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.
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.
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:移动距离(米)
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes | ||
| distance | Yes |
TDQS
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.
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.
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.
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.
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.
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:移动距离(米)
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes | ||
| distance | Yes |
TDQS
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.
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.
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.
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.
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.
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"
返回:
- 优化后的路径
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes | ||
| waypoints | Yes | ||
| optimization_type | No | time |
TDQS
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.
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.
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.
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.
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.
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:脚本内容
| Name | Required | Description | Default |
|---|---|---|---|
| ip | Yes | ||
| script | Yes |
TDQS
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.
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.
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.
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.
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.
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"
返回:
- 成功或失败的消息
| Name | Required | Description | Default |
|---|---|---|---|
| robot_ids | Yes | ||
| collaboration_mode | No | parallel |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| duration | No | ||
| robot_id | Yes | ||
| record_types | Yes |
TDQS
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.
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.
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.
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.
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.
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
返回:
- 停止状态
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes |
TDQS
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.
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.
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.
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.
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.
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.
TDQS
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 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.
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.
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
- mcpOAuthcom.gibsonai
GibsonAI MCP server: manage your databases with natural language
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceA 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.84
- AlicenseDqualityFmaintenanceA 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.1286Apache 2.0
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that connects LLMs with Autodesk Fusion, enabling CAD operations through natural language dialogue.4MIT
- AlicenseNot gradedqualityDmaintenanceEnables 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.5GPL 3.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nonead/Nonead-Universal-Robots-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server