AIRIOT MCP Server
Click on "Deploy 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., "@AIRIOT MCP Serverlist all devices that are currently online"
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.
AIRIOT MCP Server
基于 Model Context Protocol (MCP) 的 AIRIOT IoT 平台服务器,为 AI 助手提供完整的 AIRIOT 平台访问能力。
功能特性
核心能力
📊 数据表管理: 查询、创建、更新、删除数据表
📝 记录操作: 对表记录进行 CRUD 操作(含批量)
🏷️ 属性点查询: 查询表和记录的属性点定义
📈 时序数据: 查询设备最新数据和历史数据
📊 统计分析: 设备在线状态统计
MCP 能力支持
🔧 Tools: 30+ 工具接口
📁 Resources: 10+ 资源端点,支持直接读取平台数据作为上下文
💬 Prompts: 12+ 预定义提示词模板
新增功能
🚨 告警管理: 查询、确认、解除告警
📁 文件管理: 上传、下载、删除文件
🎮 设备控制: 发送控制命令
📄 报表管理: 创建、执行、管理报表
👤 用户管理: 查询用户信息
开发体验
⚙️ 配置文件: 支持
.airiotrc.json配置文件📝 日志系统: 分级日志,便于调试
🛡️ 错误处理: 完善的错误类型和错误恢复机制
Related MCP server: @hubnote-mcp/server
安装
cd airiot-mcp-server
npm install
npm run build配置
方式一:配置文件(推荐)
在项目根目录创建 .airiotrc.json 文件:
{
"baseUrl": "https://your-airiot-server.com",
"projectId": "your-project-id",
"token": "your-api-token",
"timeout": 30000,
"logLevel": "info",
"retries": 3
}可参考 .airiotrc.json.example 文件。
方式二:环境变量
创建 .env 文件或设置以下环境变量:
# AIRIOT 服务器地址(必填)
export AIRIOT_BASE_URL="https://your-airiot-server.com"
# 项目ID(必填)
export AIRIOT_PROJECT_ID="your-project-id"
# 认证方式1: 使用Token(推荐)
export AIRIOT_TOKEN="your-api-token"
# 认证方式2: 使用用户名密码
export AIRIOT_USERNAME="your-username"
export AIRIOT_PASSWORD="your-password"
# 日志级别(可选)
export AIRIOT_LOG_LEVEL="info"MCP 配置
在 Claude Desktop 配置文件中添加:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"airiot": {
"command": "node",
"args": [
"/path/to/airiot-mcp-server/dist/index.js"
],
"env": {
"AIRIOT_BASE_URL": "https://your-airiot-server.com",
"AIRIOT_PROJECT_ID": "your-project-id",
"AIRIOT_TOKEN": "your-api-token"
}
}
}
}MCP 能力
Resources(资源)
AI 可以直接读取以下资源作为上下文:
URI | 描述 |
| 数据表列表 |
| 数据表详情 |
| 表记录列表 |
| 设备列表 |
| 设备详情 |
| 最新数据 |
| 在线统计 |
Prompts(提示词模板)
预定义的常用查询模板:
模板名 | 描述 |
| 列出数据表 |
| 获取表结构 |
| 查询设备列表 |
| 获取实时数据 |
| 获取历史趋势 |
| 设备在线摘要 |
| 查询告警 |
| 创建设备 |
| 更新设备状态 |
可用工具
表管理
工具名 | 描述 |
| 查询数据表列表 |
| 根据ID查询单个表 |
| 创建新数据表 |
| 更新表信息 |
| 删除数据表 |
记录管理
工具名 | 描述 |
| 查询表记录列表 |
| 根据ID查询单条记录 |
| 创建新记录 |
| 更新记录 |
| 删除单条记录 |
| 批量删除记录 |
属性点查询
工具名 | 描述 |
| 查询表的属性点定义 |
| 查询记录的属性点 |
时序数据
工具名 | 描述 |
| 查询最新数据 |
| 查询历史时序数据 |
告警管理
工具名 | 描述 |
| 查询告警列表 |
| 查询告警详情 |
| 确认告警 |
| 解除告警 |
文件管理
工具名 | 描述 |
| 上传文件 |
| 获取文件信息 |
| 删除文件 |
设备控制
工具名 | 描述 |
| 发送控制命令 |
| 批量发送控制命令 |
报表管理
工具名 | 描述 |
| 查询报表列表 |
| 查询报表详情 |
| 执行报表生成 |
| 创建报表 |
| 更新报表 |
| 删除报表 |
用户管理
工具名 | 描述 |
| 获取当前用户信息 |
| 获取用户列表 |
使用示例
查询所有数据表
调用 get_tables 工具,参数:
{
"limit": 50,
"sort": { "createTime": -1 }
}查询特定表的记录
调用 get_table_records 工具,参数:
{
"tableName": "device",
"filter": { "status": "online" },
"limit": 100
}创建新表
创建表需要提供完整的 schema 定义:
调用 create_table 工具,参数:
{
"id": "my_table",
"title": "我的数据表",
"showField": "name",
"schema": {
"form": ["name", "status", "createTime"],
"key": "myTable",
"listFields": ["name", "status", "createTime"],
"name": "myTable",
"properties": {
"name": {
"type": "string",
"key": "name",
"title": "名称",
"fieldType": "input",
"listFields": true,
"createShow": true,
"editShow": true,
"need": true,
"unique": true
},
"status": {
"type": "string",
"key": "status",
"title": "状态",
"fieldType": "input",
"listFields": true,
"createShow": true,
"editShow": true,
"need": false
},
"createTime": {
"type": "string",
"key": "createTime",
"title": "创建时间",
"fieldType": "datePicker",
"listFields": true,
"createShow": false,
"editShow": false,
"disabled": true,
"format": "datetime"
}
},
"required": ["name"],
"title": "我的表",
"type": "object"
}
}查询告警
调用 get_alarms 工具,参数:
{
"level": "critical",
"status": "active",
"limit": 50
}发送设备控制命令
调用 send_control_command 工具,参数:
{
"deviceId": "设备ID",
"tagName": "control_tag",
"value": 1
}执行报表
调用 execute_report 工具,参数:
{
"id": "报表ID",
"parameters": {
"startDate": "2024-01-01",
"endDate": "2024-12-31"
}
}CLI 使用
项目同时提供 CLI 工具 airiot,用于命令行操作 AIRIOT 平台。
安装
npm install -g .
# 或使用 npx
npx @airiot/mcp-server配置
首次使用需要登录:
airiot login --url https://your-airiot-server.com --project your-project-id或使用 Token:
airiot login --url https://your-airiot-server.com --project your-project-id --token your-token常用命令
# 查看帮助
airiot --help
# 查询数据表
airiot tables
airiot table <table-id>
# 查询记录
airiot records <table-id>
airiot record <table-id> <record-id>
# 查询报警
airiot warnings
airiot warnings confirm <warning-id>
airiot warnings resolve <warning-id>
# 查询最新数据
airiot data-latest --device <device-id> --tag <tag-id>
# 查询历史数据
airiot data-history --device <device-id> --tag <tag-id> --start <timestamp> --end <timestamp>
# 设备控制
airiot control-send --device <device-id> --tag <tag-name> --value <value>
# 查看配置
airiot config
# 登出
airiot logout更多命令请查看 airiot --help。
测试
项目包含完整的测试套件,使用 Vitest 进行测试。
# 运行所有测试
npm test
# 运行测试并监听文件变化
npm test -- --watch
# 运行测试并生成覆盖率报告
npm run test:coverage
# 运行测试一次(不监听)
npm run test:run测试覆盖范围:
✅ 所有 CLI 命令功能测试
✅ 工具函数测试
✅ 配置管理测试
✅ API 客户端 mock 测试
开发
# 安装依赖
npm install
# 开发模式(自动编译)
npm run dev
# 构建
npm run build
# 运行 MCP 服务器
npm start
# 运行 CLI
npm run cli项目结构
mcp-server/
├── src/
│ ├── index.ts # MCP 服务器入口
│ ├── airiot-api.ts # AIRIOT API 客户端
│ ├── types.ts # 类型定义
│ ├── config.ts # 配置管理
│ ├── logger.ts # 日志系统
│ ├── errors.ts # 错误处理
│ ├── tools/ # MCP 工具
│ ├── resources/ # MCP 资源
│ ├── prompts/ # MCP 提示词
│ └── cli/ # CLI 工具
│ ├── index.ts # CLI 入口
│ ├── config.ts # CLI 配置管理
│ ├── formatter.ts # 输出格式化
│ ├── utils.ts # CLI 工具函数
│ ├── commands/ # CLI 命令模块
│ │ ├── warning.ts # 报警管理命令
│ │ ├── tables.ts # 表管理命令
│ │ ├── records.ts # 记录管理命令
│ │ ├── tags.ts # 属性点查询命令
│ │ ├── data.ts # 时序数据命令
│ │ ├── stats.ts # 统计命令
│ │ ├── files.ts # 文件管理命令
│ │ ├── control.ts # 设备控制命令
│ │ ├── reports.ts # 报表管理命令
│ │ └── users.ts # 用户管理命令
│ └── tests/ # 测试工具
├── dist/ # 编译输出
├── .airiotrc.json.example # 配置示例
├── vitest.config.ts # 测试配置
└── package.jsonAPI 文档
本服务器基于 AIRIOT API 4.0 文档实现。
主要接口包括:
表管理:
/core/t/schema/*表记录管理:
/core/t/{table}/d/*属性点管理:
/core/t/schema/tag/*时序数据:
/api/core/time-series/*告警管理:
/api/alarms/*文件管理:
/api/files/*设备控制:
/api/control/*报表管理:
/api/reports/*
错误处理
服务器实现了完善的错误处理机制:
NetworkError: 网络连接错误
AuthError: 认证失败(401)
NotFoundError: 资源不存在(404)
ApiError: API 请求错误(4xx/5xx)
ValidationError: 参数验证错误
所有错误都会返回详细的错误信息,包括错误代码和详情。
许可证
MIT
贡献
欢迎提交 Issue 和 Pull Request!
Available Tools
60 toolsacknowledge_alarmA
[已废弃] 请使用 update_warning 替代。确认告警,将告警状态从active改为acknowledged
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 告警ID | |
| note | No | 确认备注 | |
| userId | No | 确认用户ID(可选) |
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 indicates the tool changes alarm status, which is a mutation, but lacks details on permissions, side effects, or what happens on success/failure. Adequate but not rich.
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 brief statements: deprecation warning and action description. Every word earns its place, no 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?
Given the tool is deprecated and has a replacement, the description is sufficiently complete. It explains what the tool does and what to use instead. No output schema, but return values are not expected for a deprecated 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?
The description does not add meaning beyond the input schema. Schema coverage is 100%, so baseline is 3. No additional parameter-level details 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 is deprecated and directs users to update_warning. It also specifies the action: confirm the alarm and change its status from active to acknowledged. The purpose is unambiguous and distinguishes from siblings by naming the replacement.
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?
Explicitly states that update_warning should be used instead, providing clear guidance on when not to use this tool. This is a perfect example of usage guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
archive_all_warningsB
一键归档所有符合条件的报警
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 whether the action is destructive, reversible, or requires confirmation. The lack of information on what 'qualifying' means or side effects severely limits transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no waste. It efficiently conveys the core 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?
For a tool with no parameters and no output schema, the description is minimally adequate but lacks details on the filtering criteria, expected behavior, and impact on system state. Given the many sibling tools, 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?
The tool has zero parameters, so the baseline is 4. The description adds context ('one-click', 'all qualifying alarms') beyond the empty schema, though no parameter details are needed.
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 indicates the action (archive) and target (all qualifying alarms), though the condition 'qualifying' is unspecified. It distinguishes from sibling tools like 'get_archived_warnings' or 'restore_archived_warning' by being the archive action.
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. It does not state prerequisites, when not to use it, or any context about filtering criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_confirm_warningsC
批量确认报警
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | 报警ID列表 | |
| note | No | 确认备注 | |
| userId | No | 操作用户ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden of behavioral transparency. It only states the action but does not disclose whether confirmation is destructive, reversible, or requires special permissions. No mention of side effects or limits.
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 (4 Chinese characters) and front-loaded. It wastes no words but could be more informative for English-speaking agents. However, it is appropriately sized for a simple tool.
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 batch operation with 3 parameters and no output schema, the description is too minimal. It does not explain the overall workflow, what 'confirm' entails, or how the response looks. More context would help the agent use the tool 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 description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema's parameter descriptions. It does not clarify the format of the 'ids' array or the purpose of 'note' and 'userId' further.
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 '批量确认报警' (batch confirm warnings) clearly indicates the action (batch confirm) and the resource (warnings). It is specific and matches the tool name. However, it does not differentiate from sibling tools like 'acknowledge_alarm' or 'archive_all_warnings', which might overlap in 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?
No guidelines are provided on when to use this tool versus alternatives such as 'acknowledge_alarm' or 'get_warnings'. There is no indication of prerequisites, e.g., which warnings are eligible for confirmation, or what happens after confirmation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_delete_recordsC
批量删除表记录
| Name | Required | Description | Default |
|---|---|---|---|
| tableName | Yes | 表名称(不是ID) | |
| ids | Yes | 记录ID数组 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full transparency burden. It only states 'batch delete' without disclosing effects like irreversibility, partial failures, or permission requirements. This is minimal for a destructive 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?
Single sentence is very concise. It is front-loaded with the key action. However, more detail could be added without losing conciseness, such as a brief usage hint.
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, so the description should explain return behavior, success/failure indication, or partial deletion behavior. It is incomplete for a batch operation. Sibling tools with more details (like get_table_records) highlight this 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?
Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond what the schema provides (tableName and ids). No clarification of ID format or batch 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 the action (batch delete) and resource (table records). It distinguishes from sibling delete_record by implying multiple records, though not explicitly. A more explicit contrast with delete_record would raise it to 5.
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 batch_delete_records vs delete_record or other sibling tools. No prerequisites or disclaimers about batch size or error handling. The description lacks any usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_recordB
在指定表中创建新记录
| Name | Required | Description | Default |
|---|---|---|---|
| tableName | Yes | 表名称(不是ID) | |
| data | Yes | 记录数据,键值对形式 | |
| upsert | No | 如果记录ID存在则更新,否则新增 |
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. It does not disclose behavioral traits such as what happens if the record already exists (only the schema mentions upsert), return values, error conditions, or permissions. The description is minimal and lacks transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence. It is front-loaded and concise with no unnecessary words. However, it is extremely minimal and could include more useful information 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 lack of annotations and output schema, the description is incomplete. It does not explain return behavior, error handling, or how the upsert parameter works in practice. The description adds little beyond the schema, leaving 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?
Schema description coverage is 100%, with each parameter having a clear description. The tool description adds no additional meaning beyond what the schema already provides. Baseline is 3 due to high 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 (create new record) and the resource (specified table). It differentiates from sibling tools like update_record, delete_record, and other create 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?
No guidance is provided on when to use this tool versus alternatives. The upsert parameter hints at an update behavior, but the description does not explain when to use create_record vs update_record. No explicit 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.
create_reportD
创建新报表
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | 报表名称 | |
| description | No | 报表描述 | |
| type | Yes | 报表类型 | |
| config | No | 报表配置 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description provides no behavioral context such as side effects, permissions, or return value. It simply states 'create new report'.
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 (one phrase) but is under-specified. It fails to provide essential context and is more of a tautology than a helpful description.
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 has 4 parameters, 2 required, nested objects, no output schema, and no annotations, the description is completely inadequate. It does not explain what happens on creation, response structure, or prerequisites.
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?
All 4 parameters have descriptions in the schema (100% coverage), so the description does not need to add much. However, the description adds no extra meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '创建新报表' restates the tool name 'create_report' without additional specificity. It does not differentiate from sibling tools like 'update_report' or 'execute_report'.
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 does not indicate when to use this tool versus alternatives like 'create_record' or 'update_report'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_tableC
创建新的数据表,需要提供完整的表结构定义(schema)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 表ID,唯一标识(必填) | |
| title | Yes | 表标题/显示名称(必填) | |
| showField | No | 显示字段,用于列表展示的默认字段 | |
| formschema | No | 表单模式配置(可选) | |
| schema | Yes | 表结构定义(必填),包含字段定义、表单配置等完整结构。示例: { "form": ["name", "id", "online"], "key": "modelProperties", "listFields": ["name", "id", "online"], "name": "modelProperties", "properties": { "name": { "type": "string", "key": "name", "title": "名称", "fieldType": "input", "listFields": true, "createShow": true, "editShow": true, "need": true }, "online": { "type": "boolean", "key": "online", "title": "在线", "fieldType": "boolean", "listFields": true, "createShow": false, "editShow": false, "disabled": true } }, "required": ["name"], "title": "模型属性", "type": "object" } |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden but only mentions that a complete schema is required. It does not disclose behaviors like validation errors, idempotency, or side effects (e.g., whether existing tables with the same ID are overwritten).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, which is efficient and to the point. However, it lacks structural elements like bullet points or clearly separated sections, which would 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?
Given the tool creates a new table and has no output schema, the description should clarify return values or confirm success. It also fails to relate to sibling tools like 'update_table' or 'delete_table'. The description is minimal and leaves significant 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?
Schema coverage is 100%, and the schema descriptions are detailed with examples. The tool description adds no significant meaning beyond what the schema already provides, resulting in a baseline score of 3.
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 'create a new data table' with the requirement for a complete schema, making the purpose specific. However, it does not explicitly differentiate from siblings like 'create_record' or 'update_table', which would earn a 5.
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 prerequisites or contexts where create_table is appropriate. The description simply states the action without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_warningB
创建新的报警记录
| Name | Required | Description | Default |
|---|---|---|---|
| ruleId | No | 规则ID | |
| level | Yes | 报警级别: 1-提示, 2-一般, 3-重要, 4-紧急 | |
| status | No | 报警状态: 0-未确认, 1-已确认, 2-已恢复, 3-已归档 | |
| title | No | 报警标题 | |
| content | Yes | 报警内容 | |
| deviceId | No | 设备ID | |
| deviceName | No | 设备名称 | |
| tagId | No | 属性点ID | |
| tagName | No | 属性点名称 | |
| tagValue | No | 当前值 | |
| threshold | No | 阈值 | |
| occurTime | No | 发生时间戳(毫秒) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden. It only states 'create' with no details on side effects (e.g., whether it triggers notifications), required permissions, or system behavior. The description is insufficient for behavioral understanding.
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?
One sentence with zero waste. It is appropriately sized for a simple creation tool, though it lacks front-loaded key details like required 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?
With 12 parameters, 2 required, and no output schema, the description is too sparse. It omits important context such as what happens after creation, error handling, or how it relates to other warning tools like 'get_warnings'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter having a Chinese description. The tool description adds no extra meaning beyond the schema. Baseline 3 is appropriate since the schema already documents parameters.
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: '创建新的报警记录' (create a new alarm record). It uses a specific verb 'create' and resource 'alarm record', making it distinct from sibling tools like 'create_warning_clean'.
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. With 12 sibling tools including 'acknowledge_alarm', 'batch_confirm_warnings', and 'resolve_alarm', the description fails to differentiate usage contexts or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_warning_cleanB
创建新的报警清除规则
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | 清除规则名称 | |
| enable | No | 是否启用 | |
| cleanType | Yes | 清除类型: archive-归档, delete-删除 | |
| cleanCondition | Yes | 清除条件 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fails to disclose behavioral traits like side effects, authentication needs, or data modifications. The description only states the creation action, lacking detail on what happens upon execution.
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 that efficiently conveys the core purpose. It is front-loaded and concise, though it could include 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 moderate complexity (4 parameters, nested object) and lack of output schema, the description is too sparse. It does not explain the purpose of cleanup rules, the effect of 'enable', or the conditions, which would help in understanding the tool's functionality.
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 100%, so the parameters are already described in the input schema. The description adds no additional meaning beyond the schema, meeting the baseline score of 3.
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 (create) and resource (new alarm cleanup rule), distinguishing it from siblings like 'create_warning' or 'create_warning_rule'. 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 versus alternatives, such as 'create_warning_rule' or 'execute_warning_clean'. No prerequisites or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_warning_ruleC
创建新的报警规则
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | 规则名称 | |
| level | Yes | 报警级别: 1-提示, 2-一般, 3-重要, 4-紧急 | |
| enable | No | 是否启用 | |
| description | No | 规则描述 | |
| tags | No | 关联的属性点列表 | |
| applyRange | No | 应用范围配置 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior, but it only says 'create'. No mention of side effects, response, permissions, or constraints beyond the schema.
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 clear sentence with no superfluous words, perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 parameters (including nested objects) and no output schema, the description is insufficient. It lacks details on how the rule creation behaves, required fields, or post-creation effects.
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 100% with descriptions for all parameters. The tool description adds no extra parameter meaning, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description '创建新的报警规则' clearly states the action (create) and resource (warning rule), matching the tool name. However, it does not distinguish from siblings like 'create_warning' or 'update_warning_rule'.
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., update_warning_rule) or any prerequisites. The description omits context entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_fileD
删除文件
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 文件ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without any annotations, the description must disclose behavioral traits. It fails to mention that this is a destructive action, whether the operation is irreversible, what permissions are required, or the effect on associated data.
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 short but it is underspecified rather than concise. A single-word description that merely repeats the tool name is not effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool performing a destructive operation, the description is severely incomplete. It lacks information about irreversibility, permissions, error handling, and how it differs from sibling delete tools.
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 100% coverage for the single parameter 'id', with a description '文件ID'. The tool description does not add any meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '删除文件' is a tautology that simply restates the tool name (delete file) without adding any specific verb or resource scope. It does not distinguish this tool from numerous sibling tools like delete_record, delete_warning, etc.
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 preconditions, prerequisites, or scenarios where other tools would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_recordC
删除单条表记录
| Name | Required | Description | Default |
|---|---|---|---|
| tableName | Yes | 表名称(不是ID) | |
| id | Yes | 记录ID | |
| attachment | No | 是否级联删除附件 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states 'delete' with no mention of side effects, such as whether attachments are deleted when attachment parameter is false, or any other behavioral details.
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 single sentence, but it adds little value beyond the tool name; could include more useful information without being 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 a destructive action with 3 parameters and no output schema, the description lacks information on return values, error handling, or behavior of the optional attachment 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?
Schema description coverage is 100% and already explains each parameter. The tool description adds no additional meaning 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?
Description clearly states it deletes a single table record, which is a specific verb+resource. However, it does not explicitly distinguish from sibling tool batch_delete_records, though '单条' implies single record.
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 like batch_delete_records for multiple records or delete_table for entire tables.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_reportC
删除报表
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 报表ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose behavioral traits. It only states 'delete report', implying destruction but omitting details like permanence, cascading effects, or authorization needs.
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 characters), but at the cost of missing essential information. It is not structured and does not earn its place, as it repeats the name.
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 param, no output schema), the description still lacks crucial context such as deletion behavior, response format, or error conditions, making it incomplete.
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 100% for parameter 'id', described as '报表ID'. The description adds no additional meaning beyond the schema, resulting in a baseline score of 3.
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 '删除报表' is a direct translation of the tool name 'delete_report', constituting a tautology. It states verb and resource but adds no additional distinction from sibling delete 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?
No usage guidelines provided. The description does not indicate when to use this tool versus alternatives like 'delete_record' or 'delete_file', nor any prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_tableC
删除数据表
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 表ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description adds no behavioral context (e.g., irreversibility, cascading effects, permissions). The agent cannot infer side effects from the description alone.
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: a single phrase with no extraneous words. Every word is earned.
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 1 parameter and no output schema, the description is minimal. It lacks complete information about deletion behavior, return values, or success/failure states.
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 100% with the 'id' parameter described as '表ID' (table ID). The description does not add further meaning 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 'delete data table' (Chinese) clearly states the action and resource. It distinguishes from siblings like 'delete_record' and 'delete_file' by specifying 'table', but does not elaborate on scope or behavior.
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., when to delete a table vs. a record). No prerequisites, warnings, or context for invoking.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_warningC
删除报警记录
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 报警ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only says 'delete' without disclosing behavioral traits such as destructiveness, reversibility, permission requirements, or side effects. The agent has insufficient information to understand the impact.
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: a single sentence in Chinese. It is front-loaded and to the point, with no 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 the complexity of a delete operation and the presence of many sibling tools, the description is incomplete. It lacks information about return values, confirmation steps, or how it differs from similar tools. The absence of an output schema further reduces 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 already describes the 'id' parameter as '报警ID', achieving 100% coverage. The description adds no further semantic meaning beyond what is in the schema, so it meets the baseline.
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 (delete) and the resource (alarm record). However, it does not differentiate from sibling tools like batch_delete_records or delete_warning_clean, which could cause confusion about scope.
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. It does not explain that it deletes a single warning by ID, nor does it mention any prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_warning_cleanC
删除报警清除规则
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 清除规则ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must convey behavioral traits. It only states 'delete', implying a destructive action, but fails to mention permanence, required permissions, or any side effects. This is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short phrase, but it is uninformative and tautological. Conciseness does not compensate for lack of content; this is under-specification.
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 simple operation, the description omits important context such as consequences of deletion or dependencies. With no output schema and missing annotations, the description is insufficient for a complete 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 input schema covers the single parameter 'id' with a clear description ('清除规则ID'). The tool description adds no extra meaning, but baseline is 3 due to high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '删除报警清除规则' translates to 'delete alarm clearing rule', which is a direct restatement of the tool name 'delete_warning_clean'. It adds no new information beyond the name, making it a tautology.
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 'execute_warning_clean' or 'create_warning_clean'. The description does not specify 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.
delete_warning_ruleC
删除报警规则
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 规则ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the action. It fails to disclose any behavioral traits such as irreversibility, cascading effects, or authentication requirements.
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—a single phrase with no superfluous words. However, it lacks any structure or supplementary 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?
Given the tool's simplicity (1 param, no output schema), the description is still insufficient. It omits context about why you would delete a rule, what happens after deletion, and how it relates to other tools.
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 100% (the id parameter is documented). The description adds no additional meaning beyond the schema, so baseline 3 is appropriate.
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 '删除报警规则' (delete alarm rule) clearly states a specific verb and resource. It distinguishes from sibling tools like delete_warning and delete_warning_clean, which operate on different entities.
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. With many delete tools available, the agent has no information on context or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_reportB
执行报表生成,返回报表数据
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 报表ID | |
| parameters | No | 报表参数(可选) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It only states 'execute and return data', omitting details like synchronization, side effects, permissions, or state changes. This is insufficient for a mutation-like 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 very short at one sentence, which is concise. However, it could be slightly expanded to add context 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?
No output schema exists, so the description should explain return data structure. It does not. Also, the tool's complexity (parameters, execution) is not adequately addressed.
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 100% with descriptions for id and parameters. The description does not add further meaning beyond the schema, so baseline 3 is appropriate.
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 'execute report generation, return report data', which specifies the action and result. It differentiates from sibling tools like create_report or get_report_by_id.
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 prerequisites or context after creating a report. The description is a single phrase without any usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execute_warning_cleanC
立即执行清除规则
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 清除规则ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description does not disclose that executing a clean rule is likely destructive (mutates data). No mention of side effects, permissions, or rate limits. The burden falls entirely on the description, which fails to provide 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 (one sentence). While concise, it lacks necessary detail, making it under-specified rather than 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?
With no annotations, output schema, and only one parameter, the description should explain execution behavior, return value, and side effects. It does not, leaving the tool's context incomplete.
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 100% (the only parameter 'id' is described as '清除规则ID'). The description does not add any additional semantic meaning beyond what the schema provides. Baseline score of 3.
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 indicates the action: execute a cleaning rule. The verb 'execute' and resource 'clearing rule' are clear. It distinguishes from sibling tools like create/delete/update_warning_clean.
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, context, or when not to use it. With no annotations, an agent lacks usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_alarm_by_idA
[已废弃] 请使用 get_warning_by_id 替代。根据ID查询单个告警的详细信息
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 告警ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only states the tool queries alarm details, with no mention of response format, error handling, permissions, or side effects. For a deprecated read tool, some transparency is missing (e.g., whether it still works).
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 that combines deprecation notice and purpose. It is fairly concise, but could be slightly improved by separating the deprecation and functionality. Still efficient for the amount of 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 the tool is deprecated and has one parameter with no output schema, the description covers the essential purpose and deprecation. However, it lacks details about expected output, behavior for missing IDs, or that the tool still functions. Adequate but not 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?
Schema description coverage is 100% (one parameter 'id' described as '告警ID'). The description adds no extra meaning beyond the schema; it does not provide examples, constraints, or format details. Baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is deprecated ('已废弃') and points to 'get_warning_by_id' as the replacement. It also explains the purpose: query detailed alarm info by ID. This is a specific verb+resource and distinguishes itself from siblings by being deprecated.
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 explicitly says '请使用 get_warning_by_id 替代' (please use get_warning_by_id instead), providing clear when-not-to-use guidance and a direct alternative. This is ideal for an AI agent to avoid using this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_alarmsA
[已废弃] 请使用 get_warnings 替代。查询告警列表,支持按级别、状态、时间范围过滤
| Name | Required | Description | Default |
|---|---|---|---|
| level | No | 告警级别: critical, warning, info | |
| status | No | 告警状态: active, acknowledged, resolved | |
| startTime | No | 开始时间戳(毫秒) | |
| endTime | No | 结束时间戳(毫秒) | |
| limit | No | 返回数量限制 | |
| skip | No | 跳过数量,用于分页 |
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 states the tool is deprecated and queries alarms with filters, but lacks details on pagination, default behavior, or result handling. The deprecation note adds transparency, but behavioral specifics are 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?
The description is two sentences: a deprecation warning and a purpose statement. It is front-loaded with the most critical information (deprecation) and contains no fluff. Efficient and direct.
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 is deprecated, the description adequately covers the deprecation context and directs to the replacement. For a deprecated tool, it is complete. If active, it would lack details on return values and pagination, but the deprecation lowers the requirement.
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 100%, so the schema already documents all parameters. The description only adds that filtering is supported by level, status, time range, which is already evident from the schema. No additional semantic 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 is deprecated and to use get_warnings instead, while also indicating it queries alarm lists with filtering capabilities. This provides a specific verb (query), resource (alarm list), and distinguishes from the sibling get_warnings.
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 explicitly advises to use get_warnings instead, giving clear when-not-to-use guidance. It also mentions filtering support, indicating suitable use cases. This is highly explicit for usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_archived_warningsB
查询已归档的报警列表
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | 查询过滤条件 | |
| sort | No | 排序条件 | |
| limit | No | 返回数量限制 | |
| skip | No | 跳过数量,用于分页 | |
| withCount | No | 是否返回总数 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only states the query action without clarifying that it is read-only, whether it requires special permissions, or how archived data is managed. The description does not address potential side effects or constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence in Chinese, front-loaded with the key action. It is efficient with no redundant information, though it could be expanded slightly without sacrificing conciseness.
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 having 5 parameters (including a nested object) and no output schema, the description is lacking. It does not explain the return format, pagination behavior, or how archived warnings differ from regular ones. The presence of many sibling tools increases the need for richer context.
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 100%, with all 5 parameters described in the schema. The tool description adds no extra meaning beyond the schema descriptions of 'filter', 'sort', 'limit', 'skip', and 'withCount'. Baseline score of 3 is appropriate per guidelines.
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 function: 'Query the list of archived alarms'. The verb '查询' (query) and resource '已归档的报警列表' (archived alarm list) are specific, and it distinguishes from sibling tools like 'get_warnings' or 'get_alarms' which likely handle non-archived 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?
The description provides no guidance on when to use this tool versus alternatives such as 'get_warnings' or 'get_latest_warnings'. There is no mention of context like 'for viewing only archived alarms' or exclusions for non-archived data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_archive_settingB
获取自动归档设置
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey all behavioral traits. It only states the purpose, omitting details like return format, side effects, or idempotency. The tool appears safe, but this is implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler. Every word is necessary and contributes to understanding the tool's 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?
For a simple getter with no parameters and no output schema, the description is minimally sufficient. However, it could clarify what the archive setting represents or how it relates to other archive tools.
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?
There are zero parameters, so the schema is fully covered. The description adds no parameter info, but the baseline for 0 params is 4. No improvement is needed here.
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 indicates it retrieves archive settings. While it does not differentiate from siblings like update_archive_setting, the verb 'get' sufficiently specifies the action.
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 context is provided. The description does not explain when to use this tool versus alternatives like get_archived_warnings or update_archive_setting.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_current_userA
获取当前登录用户的信息
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 authentication requirements, permissions, or side effects. It only states the 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 a single sentence that is clear and to the point, with no unnecessary 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?
For a simple tool with no parameters and no output schema, the description is minimally adequate but lacks behavioral context like authentication 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 input schema has 0 parameters, so the description does not need to add parameter information. Baseline for 0 parameters is 4.
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 information about the currently logged-in user. It distinguishes itself from the sibling 'get_users' by specifying 'current user'.
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 is given on when to use this tool. However, the purpose is straightforward, implying use when needing info about the logged-in user.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_file_infoC
获取文件信息
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 文件ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description fails to disclose read-only nature, authentication needs, or any behavioral characteristics beyond the generic 'get file info'.
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?
Single short sentence, concise, but lacks structure such as front-loading key 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?
Does not describe return value, error scenarios, or any useful context beyond the bare purpose, 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 has 100% parameter description coverage (id as file ID), and the tool description adds no additional meaning beyond that.
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 'get' and resource 'file info', but does not differentiate from sibling tools like get_record_by_id or get_table_by_id.
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 upload_file or delete_file.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_history_dataB
查询设备属性点的历史时序数据
| Name | Required | Description | Default |
|---|---|---|---|
| deviceTagPairs | Yes | 设备和属性点对数组 | |
| startTime | Yes | 开始时间戳(毫秒) | |
| endTime | Yes | 结束时间戳(毫秒) | |
| limit | No | 返回数量限制 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It only states the purpose without disclosing side effects, rate limits, or pagination behavior, leaving significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, but it could be more front-loaded with key information. Still appropriately sized for a straightforward query tool.
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 detail on return format, error handling, and usage context, making it insufficiently 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?
Schema coverage is 100% with descriptions for all parameters. The description adds no additional meaning beyond the schema, achieving baseline 3.
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 queries historical time series data for device attribute points, distinguishing it from siblings like get_latest_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?
The description implies usage for historical data retrieval but provides no explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_latest_dataB
查询设备属性点的最新数据
| Name | Required | Description | Default |
|---|---|---|---|
| deviceTagPairs | 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 performance, error handling, or idempotency. As a read operation, it is likely safe, but nothing is 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?
One short, direct sentence with no unnecessary words. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is adequate for a simple query tool but lacks details like what 'latest' means in terms of time range or data freshness. It is 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?
Schema description coverage is 100%, so the schema already documents the parameter. The description adds no additional meaning beyond what is in the schema, earning a baseline score of 3.
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 queries the latest data of device attribute points, using a specific verb-resource pair. It distinguishes from sibling tools like get_history_data and get_latest_warnings which have different scopes.
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 get_history_data or get_latest_warnings. The description provides no selection criteria or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_latest_warningsC
获取最新的报警列表
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 返回数量限制 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits such as whether the tool is read-only, how it handles pagination, or if it applies any implicit filters. The current description only states the basic function, omitting essential 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 a single concise phrase that conveys the core purpose without superfluous words. It is front-loaded and efficient, though it could benefit from slightly more detail without harming conciseness.
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 simple tool (one optional param, no output schema), the description provides a minimal but functional explanation. However, it lacks contextual nuances like how 'latest' is defined relative to other warning tools, which is needed for complete 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?
Schema coverage is 100% with one optional 'limit' parameter. The description does not add any information beyond the schema, such as the meaning of 'limit' or its default behavior. Baseline score of 3 applies as the schema is self-sufficient.
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 explicitly states it retrieves the latest alarm list, which clearly indicates the verb (获取/get) and resource (报警列表/alarm list). It distinguishes from siblings like 'get_alarms' or 'get_archived_warnings' by specifying 'latest', but could be more precise about what 'latest' entails.
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 the many similar siblings (e.g., get_alarms, get_warnings, get_archived_warnings). The description does not mention criteria like time range or order, leaving the AI 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.
get_online_statsD
统计数据表下设备的在线状态
| Name | Required | Description | Default |
|---|---|---|---|
| tableIds | Yes | 表ID数组 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description offers no behavioral details such as whether the operation is read-only, requires specific permissions, has rate limits, or what happens if no table IDs match. Annotations are absent, so the description bears full burden but fails to disclose any traits.
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?
At one short phrase, the description is concise but at the expense of clarity. It lacks a complete sentence structure and fails to provide essential information. It should be expanded to a full sentence while maintaining brevity.
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 parameter and no output schema, so the description is expected to compensate by describing the return value or behavior. It does not mention the format of the online status (e.g., boolean, list, object) or any other behavioral details, making it incomplete for an AI agent to reliably 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?
The input schema parameter 'tableIds' is described only as '表ID数组' (table ID array). The tool description does not add any additional context, such as how to obtain table IDs or whether the table refers to a specific type. With 100% schema coverage but minimal description, the tool adds no 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 is a noun phrase 'Online status of devices under statistical data table' that lacks an action verb. While it identifies the resource (devices under table) and property (online status), it does not explicitly state that this tool retrieves or gets such data, leaving ambiguity. Among siblings like get_latest_data and get_history_data, no differentiation is provided.
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 compared to other get_* tools. For example, there is no mention of whether it differs from get_latest_data or get_history_data in terms of the data source or recency.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_record_by_idB
根据ID查询单个表记录的详细信息
| Name | Required | Description | Default |
|---|---|---|---|
| tableName | Yes | 表名称(不是ID) | |
| id | Yes | 记录ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive 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?
单个句子,无冗余,直截了当。
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?
没有输出架构,描述未提及返回格式。工具名称暗示返回记录详细信息,但未明确说明。参数描述足够,但整体缺少对响应内容的预期。对于简单工具,基本完整但可改进。
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?
参数架构覆盖100%,两个参数都有描述。tableName的描述(“表名称,不是ID”)增加了额外信息。但工具描述本身没有补充参数含义,因此基线为3。
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?
描述明确指出工具功能:根据ID查询单个表记录的详细信息。动词“查询”和“单个”表明确切用途,与get_table_records(列表)和get_table_by_id(表元数据)等兄弟工具区分。但未明确提及排除项。
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?
未提供使用指南。没有说明何时使用此工具与兄弟工具(如get_table_records)的对比,也没有提到前提条件或排除情况。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_record_tagsC
查询表记录的属性点列表
| Name | Required | Description | Default |
|---|---|---|---|
| tableName | Yes | 表名称(不是ID) | |
| recordId | Yes | 记录ID |
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. It does not mention behaviors like readonly, destructive effects, authentication needs, or rate limits. As a query tool, it likely has no side effects, but this is not 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?
Single sentence with no wasted words. It earns its place by conveying the core purpose efficiently.
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 query tool with two well-defined parameters and no output schema, the description is minimally adequate but lacks details about return values or pagination that might be 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?
Schema coverage is 100% and both parameters are described with clear names and descriptions. The description adds no additional meaning beyond what the schema provides, so a baseline score of 3 is appropriate.
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 (query) and the resource (attribute point list of table records), distinguishing it from sibling tools like get_table_tags which may refer to table-level tags.
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 versus alternatives. The description implies usage but does not provide exclusions or context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_report_by_idB
根据ID查询单个报表的详细信息
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 报表ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should cover behavioral traits. It only says 'query detailed information,' but doesn't disclose what details are returned, read-only nature, or any preconditions.
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?
Single sentence, no fluff, front-loaded. Perfectly concise.
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 fetch-by-ID tool, the description is adequate but could specify the return format since there is no output schema.
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 100% with one parameter (id) described. The description adds the purpose but no extra meaning 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 verb (查询/query) and resource (报表/report), and distinguishes from siblings like get_reports (plural) and execute_report.
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 provided on when to use this tool vs alternatives (e.g., get_reports for listing, execute_report for running). Missing context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_reportsC
查询报表列表
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | 查询过滤条件 | |
| limit | 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 authentication requirements, rate limits, or whether the operation is read-only. For a list query, it is implied to be safe, but the agent receives no explicit confirmation.
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 brief—one phrase in Chinese. While concise, it may be too minimal for an English-based agent to interpret without translation. The structure is simple, but a slightly more informative description would be more helpful without sacrificing conciseness.
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 context about output format, pagination, or filter usage. With two parameters including a nested object, more explanation is needed for an agent to correctly invoke the tool. The absence of an output schema further increases the need for descriptive 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 coverage is 100%, and the schema descriptions for 'filter' and 'limit' are adequate. The tool description does not add any additional meaning beyond the schema, which is acceptable given the high coverage, but it does not enhance understanding of parameter usage.
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 '查询报表列表' indicates a query/list action for reports, which is clear for a basic purpose. However, it does not differentiate from sibling tools like get_report_by_id or execute_report, which could cause confusion. A more specific description noting that it returns a list would improve clarity.
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 like get_report_by_id or execute_report. The absence of usage context leaves the agent uncertain about how to select this tool among many report-related functions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_table_by_idA
根据ID查询单个数据表的详细信息
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 表ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It only states it queries details, but does not disclose whether it is read-only, what happens if ID is not found, or any other behavioral traits. For a simple read operation, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence in Chinese that conveys the tool's purpose with no wasted words. It is front-loaded and efficiently communicates the key 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?
Given no output schema, the description does not specify what 'detailed information' includes (e.g., fields returned). For a tool with one parameter and low complexity, it is minimally complete but could be more informative about the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (parameter 'id' described as '表ID'). The description adds 'by ID' context but does not provide additional meaning beyond the schema. Baseline of 3 applies since schema covers the parameter adequately.
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 purpose: querying detailed information of a single data table by ID. It uses a specific verb (查询) and resource (数据表), and the method (by ID) distinguishes it from siblings like get_tables (list all) or get_table_records.
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 when you need details of one specific table by ID, but it does not explicitly state when to use this tool versus alternatives (e.g., get_tables for listing, get_table_records for records). No when-not-to-use or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_table_recordsB
查询数据表的记录列表,支持过滤、排序、分页和字段投影
| Name | Required | Description | Default |
|---|---|---|---|
| tableName | Yes | 表名称(不是ID) | |
| filter | No | 查询过滤条件,类似于关系库的where参数。第一级的key可以是字段名称或者or等特殊参数。 - 字段名称支持完全匹配和模糊搜索 - or表示多个条件中满足其中一个即可 - 示例1(完全匹配): {"status": "online", "type": "sensor"} - 示例2(模糊搜索): {"name": {"$regex": "设备", "$options": "i"}} - 示例3(or条件): {"$or": [{"status": "online"}, {"type": "sensor"}]} - 示例4(组合查询): {"status": "online", "$or": [{"type": "sensor"}, {"type": "controller"}]} | |
| sort | No | 排序条件,类似于关系库的order by参数。格式{key:value},key是需要排序的字段名称,value是1和-1,1表示升序,-1表示降序。 - 可以同时按照多个字段排序,排序优先级按照字段顺序 - 示例1(单字段升序): {"createTime": 1} - 示例2(单字段降序): {"createTime": -1} - 示例3(多字段排序): {"status": 1, "createTime": -1} (先按status升序,相同值按createTime降序) | |
| limit | No | 分页查询参数,指定返回的记录数量限制,格式{key:value},key是limit,value是实际值。类似于关系库的LIMIT语句。 | |
| skip | No | 分页查询参数,指定跳过的记录数量,用于分页,格式{key:value},key是skip,value是实际值。类似于关系库的OFFSET语句。 | |
| project | No | 字段投影,指定需要查询返回的字段,格式{key:value},key是字段名称,value是1表示包含该字段。 - 示例: {"name": 1, "status": 1, "createTime": 1} 只返回name、status和createTime字段 | |
| withCount | No | 总条数统计参数,格式{key:value},key是固定值withCount,value是true。会在响应头加上count字段,对应值为总条数。 - 示例: {"withCount": true} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It only mentions supported features but does not reveal traits like read-only nature, rate limits, or what happens with large result sets.
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 that covers all main features without redundancy. It is concise, though slightly more structure 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?
No output schema exists, and the description does not explain the return value format. While parameters are well-documented, the lack of output details and behavioral context leaves the description incomplete 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?
Schema description coverage is 100%, so the schema already thoroughly documents each parameter. The description provides no additional meaning beyond the schema, meriting a baseline score of 3.
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 queries a record list from a data table, supporting filtering, sorting, pagination, and projection. It distinguishes itself from sibling tools like get_record_by_id (single record) and get_table_by_id (table metadata).
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 listing records but does not explicitly state when to use this tool versus alternatives. It lacks guidance on when not to use it (e.g., for a single record) or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tablesA
查询AIRIOT数据表列表,支持过滤、排序和分页
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | 查询过滤条件,例如: {"name": "设备表"} | |
| sort | No | 排序条件,例如: {"createTime": -1} 表示按创建时间倒序 | |
| limit | No | 返回数量限制 | |
| skip | No | 跳过数量,用于分页 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must cover behavioral traits. It states the operation is a query with filtering, sorting, and pagination, implying read-only. However, it does not disclose any potential side effects, authorization needs, or rate limits.
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, front-loaded with the core action, and contains no redundant information. Every word serves a 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 no output schema, the description lacks information about return structure. It covers the basic functionality but leaves an agent uncertain about response format. For a simple list tool with 4 optional params, it is minimally adequate.
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?
Input schema coverage is 100%, so baseline 3. The description adds minimal value beyond schema names by grouping filter, sort, limit, skip under 'supports filtering, sorting and pagination'. It does not explain parameter semantics further.
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 queries a list of AIRIOT data tables, with support for filtering, sorting, and pagination. This distinguishes it from sibling tools like get_table_by_id (single table) or create_table/delete_table (mutations).
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 by listing supported features (filter, sort, paginate) but does not explicitly state when to use this tool versus alternatives like get_table_by_id. No when-not or alternative naming provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_table_tagsA
查询数据表的所有属性点定义
| Name | Required | Description | Default |
|---|---|---|---|
| tableId | Yes | 表ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It only states it's a query (read) operation, but does not disclose any behavioral traits such as authentication requirements, rate limits, 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 a single sentence with no extraneous information, efficiently conveying the tool's 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?
For a simple read tool with one parameter and no output schema, the description is adequate. It provides the necessary purpose without needing extensive details, though it omits what 'attribute point definitions' entails.
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 100% with one parameter (tableId) having a description. The description adds no additional meaning or context beyond the schema, so it meets the minimum viable level.
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 function: querying all attribute point definitions of a data table. It uses a specific verb ('query') and resource ('data table's attribute point definitions'), which distinguishes it from sibling tools like get_record_tags or get_tables.
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, but the purpose is straightforward. Usage is implied for retrieving table tags, but no when-not or alternative suggestions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_usersC
获取用户列表
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | 查询过滤条件 | |
| limit | No | 返回数量限制 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the burden. It only says 'get list', implying read-only, but no mention of side effects, pagination behavior, or authorization needs. The limit parameter implies pagination but isn't described. Score 2 for insufficient behavioral disclosure.
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 (5 Chinese characters) but may be too minimal. It essentially repeats the tool name. While it doesn't waste words, it doesn't add much value. Score 3 for being too brief without earning 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?
Despite having 2 parameters (one nested object) and no output schema, the description provides only a bare phrase. No information about return format, filtering capabilities, or pagination. The tool is straightforward but the description is 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 coverage is 100% (both parameters have descriptions). The description adds no meaning beyond the schema—it doesn't explain 'filter' structure or 'limit' usage. Baseline 3 is appropriate since schema already documents parameters.
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 resource (user list), and the tool name 'get_users' aligns. However, it does not differentiate from sibling tools like 'get_current_user' or 'get_record_by_id', but the resource is specific enough. Score 4 because it's clear but lacks sibling 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_current_user' for single user, or 'get_reports'). No when-not or context description. Score 2 for minimal guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_warning_by_idB
根据ID查询单个报警的详细信息
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 报警ID |
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, side effects, or required permissions. It only states the action, leaving important context unclear.
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 no unnecessary words, making it highly concise and front-loaded with the key 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?
For a simple ID lookup tool, the description is minimally adequate. However, it lacks details about the return format or error handling, and given the presence of similar sibling tools, more context 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 100% coverage, and the description adds no extra meaning beyond the parameter name and type. The baseline of 3 is appropriate as the schema already documents the parameter adequately.
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 detailed information of a single alarm by ID, which is a specific verb+resource. However, it does not differentiate from the sibling tool 'get_alarm_by_id', which likely serves a similar 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?
No guidance on when to use this tool versus alternatives like 'get_warnings' or 'get_alarm_by_id'. The description provides no context for appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_warning_clean_by_idA
根据ID查询单个清除规则的详细信息
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 清除规则ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description only says 'query details', which is a read operation. It does not disclose error behavior (e.g., missing ID), permissions, or response format. Minimal 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 a single, front-loaded sentence with no wasted words. It efficiently conveys 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?
Given no output schema, the description only hints at 'detailed information', which is vague. It could specify what fields are returned. Adequate but not 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?
Schema coverage is 100% with one parameter 'id' described as '清除规则ID'. The description does not add extra meaning beyond the schema, so baseline 3 is appropriate.
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 (query/get) and resource (a single cleaning rule by ID). It distinguishes from sibling 'get_warning_cleans' which lists all rules.
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 retrieving a single rule by ID but provides no explicit when-to-use, when-not, or alternatives like batch retrieval. Usage is inferred from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_warning_cleansC
查询报警清除规则列表
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | 查询过滤条件 | |
| sort | No | 排序条件 | |
| limit | No | 返回数量限制 | |
| skip | No | 跳过数量,用于分页 | |
| withCount | No | 是否返回总数 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description is minimal and does not disclose read-only behavior, side effects, or response format. User must infer 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?
Single sentence, no redundant information. However, could be more descriptive without being 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?
No output schema, so description should explain return structure. It does not. Parameters are well-documented, but overall completeness is low for a query 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 100% with parameter descriptions already present. Description adds no additional meaning beyond what 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?
Description clearly states the tool queries a list of alarm clear rules. However, 'cleans' is ambiguous without context of what a warning clean is. Sibling tool names help disambiguate.
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 get_warning_clean_by_id. Missing context on filtering or pagination behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_warning_descriptionsC
获取报警描述列表
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose any behavioral traits (e.g., read-only, auth requirements, rate limits). The description is too minimal to inform an agent about side effects or constraints.
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 (one phrase), but it lacks structure and clarity. While short, it does not convey sufficient information to earn 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 zero parameters, no output schema, and minimal description, the tool definition leaves significant gaps. An agent cannot determine the format, ordering, or content of the returned list.
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 declares 0 parameters with 100% coverage. Since there are no parameters, the description cannot add parameter semantics, but the baseline score for zero parameters is 4.
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 '获取报警描述列表' translates to 'Get warning description list', which identifies a verb and resource. However, it is merely a phrase and does not distinguish from sibling tools like 'get_warnings', leaving ambiguity about what 'warning descriptions' specifically entail.
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_warnings' or 'get_warning_by_id'. The description lacks any context about usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_warning_rule_by_idA
根据ID查询单个报警规则的详细信息
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 规则ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully convey behavioral traits. It states 'query' (read operation) but does not disclose error handling, authentication needs, or what happens if the ID is not found. The minimal description leaves significant behavioral gaps for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that efficiently conveys the tool's purpose. It is front-loaded with no extraneous words, earning 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 the simplicity (1 parameter, no output schema) and missing annotations, the description is minimally adequate. It covers the basic purpose but lacks behavioral context like error responses or prerequisites. For a simple retrieval tool, it is barely sufficient but not comprehensive.
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 100% with the 'id' parameter already described as '规则ID' (rule ID). The description adds no extra meaning beyond the schema; it simply restates 'by ID'. Baseline 3 is appropriate as the schema carries the weight.
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 'query detailed information of a single warning rule by ID'. It uses a specific verb (query) and resource (warning rule), distinguishing it from sibling tools like get_warning_rules which lists all rules, and get_warning_by_id which retrieves warnings, not rules.
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 provide when to use this tool versus alternatives. It implies usage for single rule retrieval but offers no guidance on when not to use it or comparisons with siblings like get_warning_rules. This is adequate but lacks explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_warning_rulesA
查询报警规则列表,支持过滤、排序和分页
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | 查询过滤条件,例如: {"enable": true, "level": 4} | |
| sort | No | 排序条件,例如: {"createTime": -1} 表示按创建时间倒序 | |
| limit | No | 返回数量限制 | |
| skip | No | 跳过数量,用于分页 | |
| withCount | No | 是否返回总数 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behaviors. It mentions filtering, sorting, and pagination, implying a read operation, but does not specify side effects, authorization, or output format. Adequate but not thorough.
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, well-structured sentence that conveys the essential purpose and capabilities without redundancy. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 5 parameters and no output schema or annotations, the description could be more complete (e.g., default sorting behavior, maximum limit). It covers core functionality but leaves some 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?
Schema coverage is 100% and each parameter is described in the schema. The description does not add new meaning beyond what the schema provides. Baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (查询/query), resource (报警规则列表/alarm rule list), and key operations (过滤/filtering, 排序/sorting, 分页/pagination). It effectively distinguishes from sibling tools like get_warnings or get_warning_rule_by_id.
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 state when to use this tool versus alternatives, such as get_warning_rule_by_id for a single rule. Usage is implied but lacks guidance on when not to use or comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_warningsC
查询报警列表,支持按级别、状态、设备、时间范围等过滤
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | 查询过滤条件,例如: {"level": 4, "status": 0, "deviceId": "xxx"} | |
| sort | No | 排序条件,例如: {"occurTime": -1} 表示按发生时间倒序 | |
| limit | No | 返回数量限制 | |
| skip | No | 跳过数量,用于分页 | |
| withCount | No | 是否返回总数 | |
| level | No | 报警级别: 1-提示, 2-一般, 3-重要, 4-紧急 | |
| status | No | 报警状态: 0-未确认, 1-已确认, 2-已恢复, 3-已归档 | |
| ruleId | No | 规则ID | |
| deviceId | No | 设备ID | |
| tagId | No | 属性点ID | |
| startTime | No | 开始时间戳(毫秒) | |
| endTime | No | 结束时间戳(毫秒) | |
| keyword | No | 关键词搜索 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description fails to disclose behavioral traits such as read-only nature, pagination behavior, or data freshness. It only mentions filtering options, leaving important behavioral aspects unclear.
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 that directly states the purpose, but it is too brief and omits necessary context. It could be expanded while remaining concise.
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 13 parameters, no output schema, and many sibling tools, the description is insufficient. It lacks explanation of output format, pagination, and how this tool differs from similar query tools.
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 descriptions cover all 13 parameters clearly (100% coverage). The description adds no new parameter information beyond listing a few filtering dimensions, so it does not improve 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 it queries a list of warnings with filtering support, but does not differentiate from sibling tools like get_alarms or get_latest_warnings, which target similar resources.
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 get_alarms, get_archived_warnings, or get_latest_warnings. The description only states capability without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_warning_statisticsA
获取报警统计信息(总数、各级别数量、各状态数量等)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 aspects such as read-only nature, potential side effects, or whether permissions are required. For a 'get' operation, the read-only assumption is implicit but not confirmed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that conveys the core purpose without any redundant information. It is front-loaded and 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 lack of annotations and output schema, the description is adequate but minimal. It provides a basic understanding of returned data but does not clarify scope (e.g., all alarms or filtered) or output format. More detail would be helpful for complete context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is 100%. The description adds value by explaining the output (totals and breakdowns) which is not captured in the schema. Baseline for zero parameters is 4.
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 alarm statistics including total count, counts by level and status. It distinguishes itself from sibling tools like 'get_alarms' (returns a list) and 'get_warning_by_id' (single warning) by focusing on aggregated 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?
The description implies use when aggregated statistics are needed, but does not explicitly state when to avoid this tool or mention alternatives like 'get_warnings' for individual records. Better guidance would improve selection accuracy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_warning_timelineB
获取报警时间线数据(指定时间段内的报警趋势)
| Name | Required | Description | Default |
|---|---|---|---|
| startTime | Yes | 开始时间戳(毫秒) | |
| endTime | Yes | 结束时间戳(毫秒) | |
| level | No | 过滤指定级别: 1-提示, 2-一般, 3-重要, 4-紧急 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description must disclose behavioral traits, but it only states that the tool returns timeline/trend data. It does not mention whether the operation is read-only, required permissions, rate limits, or any side effects. The lack of behavioral context limits transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the core purpose and scope. Every word is necessary and there is no redundancy or filler, making it highly 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 description lacks detail on the output format, such as the structure of timeline data (e.g., time buckets, counts) or aggregation method. Without an output schema, the agent needs more context to correctly interpret the response. Given the tool's moderate complexity, it does not fully equip 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 input schema provides full descriptions for all three parameters (100% coverage), so the description need not repeat them. However, the description adds context by linking parameters to the 'specified time period' and 'trends', reinforcing their purpose. This is adequate but not a strong enhancement 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 'get warning timeline data' with a specific scope: 'within a specified time period', making the purpose precise. It distinguishes from sibling tools like 'get_warnings' which likely return individual warning records, while this focuses on aggregated trend data. The verb 'get' and resource 'warning timeline' are 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 versus alternatives such as 'get_warnings' or 'get_warning_statistics'. The description only states the tool's function without contextual comparisons, exclusions, or recommended scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
loginB
用户登录,返回 token 和用户信息
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | 用户名 | |
| password | Yes | 密码 | |
| code | No | 验证码(如果需要) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No behavioral traits are disclosed beyond the basic action. There is no mention of side effects (e.g., session creation), security considerations (e.g., rate limiting, password handling), or error cases.
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 gets to the point, but lacks structured sections (e.g., input, output). It is concise without being verbose, acceptable for a simple tool.
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 exists, so the description should elaborate on the return format (e.g., token type, user info fields) and error conditions. Current description is too vague for a production 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 covers all 3 parameters with minimal descriptions (labels only). The tool description adds no further meaning beyond the schema, so baseline 3 is appropriate.
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 the specific action 'login' and the resource 'user', and mentions the return of 'token and user info', which clearly distinguishes this authentication function from siblings like get_current_user and CRUD 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?
No guidance on when to use this tool versus alternatives (e.g., get_current_user for already authenticated users), nor any exclusion criteria or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_alarmA
[已废弃] 请使用 update_warning 替代。解除告警,将告警状态改为resolved
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 告警ID | |
| note | No | 恢复备注 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the functional effect (changing alarm status to resolved) but does not mention permissions, side effects, or other behavioral details. For a deprecated tool, this 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?
Two sentences, front-loaded with deprecation warning and alternative. No unnecessary words. Efficient 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?
For a deprecated tool with simple mutation and no output schema, the description is complete: tells agents to avoid, explains purpose, and parameters are well-documented in schema. No 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?
Schema description coverage is 100% (both parameters have Chinese descriptions). Description adds no extra meaning beyond the schema. Baseline 3 is appropriate.
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 is deprecated and provides the alternative (update_warning). It also explains the action: resolve alarm and change status to resolved. This is explicit and distinguishes from siblings by directing to use update_warning.
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?
Explicitly says '请使用 update_warning 替代' (please use update_warning instead), which is strong guidance to avoid this tool and use an alternative. This fulfills the usage guideline dimension perfectly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
restore_archived_warningC
恢复已归档的报警
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 归档记录ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It indicates a mutating operation but does not disclose required permissions, side effects (e.g., alarm status changes), or whether the operation is reversible. This is insufficient for safe invocation.
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 short (three words), which is concise but at the expense of completeness. It lacks structured information that could aid understanding without increasing length significantly.
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 is too minimal. It does not explain when to use it, what the outcome is, or any preconditions, leaving the agent with insufficient context.
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 covers 100% of parameters, including a description for 'id'. The tool description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Restore archived alarms' clearly states the action and resource, distinguishing it from sibling tools like 'archive_all_warnings' and 'get_archived_warnings'. However, it is a short phrase rather than a full sentence, slightly reducing clarity.
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 'acknowledge_alarm' or 'resolve_alarm'. The description lacks context for appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_batch_control_commandsC
批量发送控制命令
| Name | Required | Description | Default |
|---|---|---|---|
| commands | 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 execution order, error handling, or destructive nature. The description is insufficient for an agent to understand 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 but vague. It states the purpose without extra detail. While concise, it lacks necessary context for completeness.
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 a simple schema but complex batch operation, the description is incomplete. It does not address potential failures, ordering, or return behavior, which are important for a control command 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 100%, so baseline is 3. The description adds no additional meaning beyond what the schema provides (e.g., valid values for 'value' or 'timeout').
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 indicates the tool sends multiple control commands in batch. It distinguishes from the sibling 'send_control_command' which likely handles single commands.
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 'send_control_command'. There is no context on prerequisites or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_control_commandC
向设备发送控制命令
| Name | Required | Description | Default |
|---|---|---|---|
| deviceId | Yes | 设备ID | |
| tagName | Yes | 属性点名称 | |
| value | Yes | 控制值(可以是数字、字符串、布尔值等) | |
| timeout | No | 超时时间(秒),默认30秒 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only says 'Send control command to device', with no disclosure of side effects, permissions, or whether it is destructive.
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, concise but lacking substance; no wasted words but also no added 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?
With no output schema and no annotations, the description is insufficient for a mutation tool, lacking details on response, errors, or side effects.
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 100% with descriptions for all parameters, but the description adds no further meaning 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 states the action 'send control command' and the target 'device'. It is clear but does not differentiate from the sibling 'send_batch_control_commands'.
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, or any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_archive_settingC
更新自动归档设置
| Name | Required | Description | Default |
|---|---|---|---|
| enable | No | 是否启用自动归档 | |
| archiveDays | No | 归档天数(多少天前的报警自动归档) | |
| archiveStatus | No | 归档条件状态: 2-已恢复 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only says 'update auto-archive settings' without disclosing side effects, permissions, or whether changes are reversible. This is insufficient for an agent to understand the tool's impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that directly states the purpose. It is front-loaded and efficient, though it could benefit from slight expansion without losing conciseness.
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 has 3 parameters and no annotations or output schema, the description is too brief. It lacks details on prerequisites, effects, and integration with other archive operations, making it incomplete for safe and correct 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?
Schema coverage is 100%, so the baseline is 3. The description adds no additional parameter information beyond what the schema already provides, meeting the minimum but not exceeding 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 action (update) and resource (auto-archive settings), separating it from read-only or other archive-related tools. However, it does not elaborate on the scope or differentiate from update tools for other resources.
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 'archive_all_warnings' or 'get_archive_setting'. The description lacks context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_recordC
更新表记录数据
| Name | Required | Description | Default |
|---|---|---|---|
| tableName | Yes | 表名称(不是ID) | |
| id | Yes | 记录ID | |
| data | Yes | 要更新的数据,键值对形式 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and a minimal description, the behavioral traits are not disclosed. The description does not explain what happens on missing records, validation errors, or whether the operation is idempotent. The agent is left to infer behavior from the schema alone.
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 of only 5 Chinese characters, making it very concise. It wastes no words, but it could be more structured by including key information upfront. Still, it is appropriately sized for a simple update operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema and the tool performs a mutation (update), the description should explain the return value (e.g., success message, updated record). It also does not address potential errors or constraints, leaving the agent without sufficient context for robust 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?
The input schema covers 100% of parameters with clear descriptions (tableName, id, data). The description adds no additional meaning beyond the schema. Since schema coverage is high, a baseline of 3 is appropriate.
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 updates table record data, which aligns with the name and action. However, it does not differentiate from sibling tools like 'create_record' or 'delete_record,' but the purpose 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 is provided on when to use this tool versus alternatives (e.g., create, delete, get). There is no mention of prerequisites, such as whether the table and record must exist, or when to prefer another tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_reportB
更新报表信息
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 报表ID | |
| name | No | 报表名称 | |
| description | No | 报表描述 | |
| config | No | 报表配置 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only states '更新报表信息', lacking details on behavioral traits such as whether updates are incremental or overwriting, permission requirements, or response 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 very short and front-loaded, but it lacks sufficient detail for a tool with 4 parameters including a nested object. It is not verbose, but the brevity sacrifices 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 complexity (4 parameters, nested config object, no annotations, no output schema), the description is too brief. It does not explain return values, side effects, or how to configure the update.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (all parameters have descriptions). The tool description adds no additional meaning beyond the schema. Baseline 3 is appropriate.
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 (update) and the resource (report information). It distinguishes from sibling tools like create_report (create) and get_report_by_id (read).
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 does not specify when to use this tool versus alternatives like update_record or create_report, nor does it mention prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_tableC
更新数据表信息
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 表ID | |
| name | No | 表名称 | |
| description | No | 表描述 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must disclose behavioral traits. It only says 'update', implying a mutation, but fails to mention permissions, side effects, idempotency, or response behavior. This is insufficient for safe use.
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 (4 Chinese characters) but oddly under-specified for a mutating tool with multiple parameters. It is not verbose, but could better utilize space to add value without becoming lengthy.
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 only 3 parameters, no output schema, and no annotations, the description is too minimal. It does not explain return values, error conditions, or how this update interacts with other table operations, leaving gaps for an AI.
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 100% with each parameter described (id, name, description). The overall description adds zero extra context beyond repeating the tool's purpose, so it meets the baseline but does not enhance understanding.
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 (update) and resource (table), distinguishing it from create and delete table tools. However, it does not detail which specific fields can be updated beyond what the schema already shows.
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 create_table or update_record. There is no mention of prerequisites, conditions, or scenarios, making it hard for an AI to decide when to invoke it correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_warningB
更新报警信息(状态、确认信息等)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 报警ID | |
| status | No | 报警状态: 0-未确认, 1-已确认, 2-已恢复, 3-已归档 | |
| confirmTime | No | 确认时间戳(毫秒) | |
| confirmUser | No | 确认人 | |
| confirmNote | No | 确认备注 | |
| recoverTime | No | 恢复时间戳(毫秒) | |
| recoverNote | No | 恢复备注 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It only states 'update,' implying mutation, but does not reveal required permissions, side effects, idempotency, or any other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core action and resource. No unnecessary words; every part is informative.
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 annotations and output schema, and the presence of 7 parameters, the description is insufficient. It does not clarify partial update behavior, the effect on related entities, or how it fits into the broader workflow with siblings like batch_confirm_warnings.
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 100%, with all 7 parameters having descriptions in the input schema. The description adds minimal semantic value beyond listing the updated fields, so it meets the baseline of 3.
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 (更新) and the resource (报警信息), specifying status and confirmation information. It distinguishes from specialized siblings like acknowledge_alarm and batch_confirm_warnings by implying general updates, but does not explicitly differentiate.
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 updating alarm fields like status and confirmation details, but provides no explicit guidance on when to use this tool versus alternatives (e.g., acknowledge_alarm for specific status changes) 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.
update_warning_cleanC
更新报警清除规则
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 清除规则ID | |
| name | No | 清除规则名称 | |
| enable | No | 是否启用 | |
| cleanType | No | 清除类型: archive-归档, delete-删除 | |
| cleanCondition | No | 清除条件 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only says 'update', which implies mutation, but fails to disclose side effects, permissions, reversibility, or behavior of nested parameters like cleanCondition.
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, which is concise but too sparse. While not verbose, it lacks structure and could be more informative without being long.
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 has 5 parameters including a nested object, no output schema, and no annotations, the description is incomplete. It does not explain update behavior, such as what happens when enable is toggled or how cleanCondition is used.
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 100%, so the schema already documents all parameters. The description adds no extra meaning beyond the parameter names and types.
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 'Update alarm clearing rules', which clearly identifies the verb and resource. However, it does not differentiate this tool from similar siblings like create_warning_clean or delete_warning_clean.
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., create or delete). No prerequisites or conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_warning_ruleC
更新报警规则
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | 规则ID | |
| name | No | 规则名称 | |
| level | No | 报警级别: 1-提示, 2-一般, 3-重要, 4-紧急 | |
| enable | No | 是否启用 | |
| description | No | 规则描述 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description is the sole source for behavioral traits. It only states 'update alarm rule' without disclosing whether updates are partial or full, what happens to omitted fields, or if the operation requires existing rules. This lack of detail limits transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short phrase, which is concise but overly terse. It lacks structure and fails to provide essential context. Conciseness should not come at the expense of completeness.
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 has 5 parameters (1 required) and no output schema, the description is insufficient. It does not explain the update behavior, required fields (id), or potential side effects. More complete information is needed for effective tool 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?
The input schema covers all 5 parameters with descriptions in Chinese, achieving 100% coverage. The tool description adds no extra semantic value beyond what the schema provides. A score of 3 is baseline given the high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description '更新报警规则' (update alarm rule) clearly identifies the action and resource, distinguishing it from sibling tools like create_warning_rule or delete_warning_rule. However, it merely restates the tool name in Chinese, adding minimal new 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?
No usage guidelines are provided. The description does not specify when to use this tool over alternatives, such as create_warning_rule for new rules or get_warning_rule_by_id for viewing. There is no context on prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_fileB
上传文件到AIRIOT平台
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | 本地文件路径 | |
| filename | No | 文件名(可选,默认使用原文件名) | |
| mimeType | No | MIME类型(可选) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description merely says 'upload file' without disclosing behavioral traits such as overwrite behavior, authentication needs, or error handling.
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?
One short sentence with no wasted words, though it could be more informative while remaining concise.
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?
Missing details on output, error cases, and file size limits, making it insufficient for a tool with no output schema and no annotations.
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 100% with descriptions for all three parameters, so the description adds no extra meaning; baseline of 3 is appropriate.
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 'Upload file to AIRIOT platform', specifying the action (upload) and resource (file to platform), distinguishing it from siblings like delete_file and get_file_info.
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 mention of prerequisites or constraints like file size limits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
60 tool updates
v1.0.0- First observed
acknowledge_alarm - First observed
archive_all_warnings - First observed
batch_confirm_warnings - First observed
batch_delete_records - First observed
create_record - First observed
create_report - First observed
create_table - First observed
create_warning - First observed
create_warning_clean - First observed
create_warning_rule - First observed
delete_file - First observed
delete_record - First observed
delete_report - First observed
delete_table - First observed
delete_warning - First observed
delete_warning_clean - First observed
delete_warning_rule - First observed
execute_report - First observed
execute_warning_clean - First observed
get_alarm_by_id - First observed
get_alarms - First observed
get_archive_setting - First observed
get_archived_warnings - First observed
get_current_user - First observed
get_file_info - First observed
get_history_data - First observed
get_latest_data - First observed
get_latest_warnings - First observed
get_online_stats - First observed
get_record_by_id - First observed
get_record_tags - First observed
get_report_by_id - First observed
get_reports - First observed
get_table_by_id - First observed
get_table_records - First observed
get_table_tags - First observed
get_tables - First observed
get_users - First observed
get_warning_by_id - First observed
get_warning_clean_by_id - First observed
get_warning_cleans - First observed
get_warning_descriptions - First observed
get_warning_rule_by_id - First observed
get_warning_rules - First observed
get_warning_statistics - First observed
get_warning_timeline - First observed
get_warnings - First observed
login - First observed
resolve_alarm - First observed
restore_archived_warning - First observed
send_batch_control_commands - First observed
send_control_command - First observed
update_archive_setting - First observed
update_record - First observed
update_report - First observed
update_table - First observed
update_warning - First observed
update_warning_clean - First observed
update_warning_rule - First observed
upload_file
TDQS
Scored across 60 tools
Many tools have overlapping purposes, especially around alarms/warnings with both deprecated and current tools (e.g., acknowledge_alarm vs update_warning). Numerous similar warning-related tools (get_warnings, get_latest_warnings, get_archived_warnings) can confuse an agent on which to use.
Most tools follow a consistent verb_noun pattern using snake_case. However, there are minor inconsistencies: use of 'alarm' in deprecated tools vs 'warning' in current ones, and singular/plural variations (e.g., archive_all_warnings vs restore_archived_warning).
With 60 tools, the server covers a very broad scope (user management, tables, reports, warnings, files, device control) making it unwieldy. The number is excessive for a typical MCP server, leading to tool selection challenges.
The tool set provides comprehensive CRUD and lifecycle operations for tables, records, reports, and warnings, plus additional features like archiving, statistics, and device control. Only minor gaps exist due to the presence of deprecated tools, but functionally the surface is complete.
Maintenance
Related MCP Connectors
- mcpOAuthcom.gibsonai
GibsonAI MCP server: manage your databases with natural language
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Related MCP Servers
- AlicenseAqualityCmaintenanceAn MCP server that enables AI assistants to query databases, execute SQL, and manage Metabase resources like dashboards, cards, and collections through natural language.22MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for hubNote, enabling AI assistants to manage workspaces, pages, and data rows via natural language.8 npmMIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI assistants to manage LoRaWAN devices on Actility ThingPark, allowing device listing, details, and downlink command sending via natural language.MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for integrating with Bika.ai platform, enabling AI assistants to perform CRUD operations on databases, manage attachments, and utilize automation and webhooks.1MIT