Execution Instructions
基本说明
参数 MCP (Model Context Protocol) 工具集成技能,允许智能体通过 HTTP 协议连接到外部参数 MCP 服务,并使用服务提供的工具。
使用前提
- •MCP 服务运行: 确保 MCP 服务已启动并运行在配置的 URL 上(默认:
http://localhost:9014/mcp) - •服务可用性: 在加载此技能前,系统会尝试连接 MCP 服务,如果服务不可用,将使用占位工具
可用工具
加载此技能后,MCP 服务提供的所有工具将自动添加到智能体的工具列表中。ADK 框架会自动识别和发现 McpToolset 中的所有工具,因此智能体无需手动查询,可以直接使用这些工具。
具体可用的工具取决于 MCP 服务的配置。每个工具都有详细的描述和参数说明(通过工具的 docstring 提供),智能体可以通过工具的描述来理解如何使用它们。
常见的参数 MCP 工具包括:
- •参数工单修改记录查询工具: 查询工单的参数修改记录
- •参数草稿生成工具: 生成参数修改草稿
- •工单生成工具: 生成完整的参数修改工单
- •其他参数管理工具: 根据 MCP 服务配置而定
使用流程
- •加载技能: 调用
skill_load("param_mcp")加载参数 MCP 集成技能 - •自动发现工具: ADK 会自动识别 MCP 服务提供的所有工具,并将它们添加到智能体的工具列表中
- •查看工具描述: 每个工具都有详细的描述和参数说明,智能体可以通过工具的 docstring 了解如何使用
- •使用工具: 根据用户需求,直接调用相应的 MCP 工具
- •处理结果: 工具调用结果将自动返回给智能体
重要提示: 无需手动查询可用工具列表,ADK 框架会自动处理工具发现和注册。智能体只需要根据用户需求,直接调用相应的工具即可。
配置
MCP 服务的 URL 可以通过环境变量 MCP_URL 配置,默认值为 http://localhost:9014/mcp。
错误处理
- •如果 MCP 服务不可用,将使用占位工具,返回友好的错误提示
- •工具调用失败时,会返回详细的错误信息
- •连接超时时间设置为 300 秒
注意事项
- •服务依赖: 此技能依赖于外部 MCP 服务,确保服务正常运行
- •网络连接: 确保能够访问 MCP 服务的 URL
- •工具命名: MCP 工具的名称由服务定义,可能与本地工具名称冲突(系统会自动处理)
示例
示例 1: 查询工单参数修改记录
用户问题: "查看工单 HN-HN-20251222-1627 的参数修改记录"
执行流程:
1. 加载技能: skill_load("param_mcp")
2. ADK 自动发现并注册 MCP 工具到智能体工具列表
3. 智能体识别用户需要查询工单,调用相应的查询工具
4. 工具调用: [查询工具名称](order_id="HN-HN-20251222-1627")
5. 返回结果: 显示工单的参数修改记录
示例 2: 生成参数修改草稿
用户问题: "生成参数修改草稿: 460-00-538402-107 参数组为M10 4-5迟滞修改为-11"
执行流程:
1. 确保技能已加载 (如果未加载,先调用 skill_load("param_mcp"))
2. 智能体识别用户需要生成参数修改草稿
3. 调用 MCP 草稿生成工具,传入参数信息:
- ne_name: "460-00-538402-107"
- param_group: "M10"
- param_name: "4-5迟滞"
- new_value: "-11"
4. 返回生成的草稿内容
示例 3: 生成完整工单(结合时间工具)
用户问题: "生成参数修改工单,设备 460-00-538402-107,城市娄底,厂商华为,LTE网络,小区级参数,参数对象CELLSEL,参数名QRxLevMin,参数组N10,新值-110,开始时间2025年12月24号12点23分"
执行流程:
1. 确保技能已加载 2. 智能体识别需要生成完整工单,并且需要处理时间信息 3. 如果需要当前时间或时间计算,先调用时间工具(如 get_current_time) 4. 调用 MCP 工单生成工具,传入完整参数: - city: "娄底" - vendor: "华为" - net_type: "LTE" - param_level: "小区级" - ne_name: "460-00-538402-107" - param_object: "CELLSEL" - param_name: "QRxLevMin" - param_group_id_name: "无" - param_group_id_value: "N10" - new_value: "-110" - current_value: "" (如果需要可以留空或查询) - start_time: "2025-12-24 12:23:00" (LLM 会自动转换时间格式) - end_time: [如果需要,可通过时间工具计算] 5. 返回生成的工单信息
示例 4: 查询工单并获取当前时间
用户问题: "查看工单 HN-HN-20251222-1627 的参数修改记录,并告诉我当前时间"
执行流程:
1. 加载技能: skill_load("param_mcp")
2. 智能体识别需要两个操作:
a. 查询工单参数修改记录
b. 获取当前时间
3. 可以并行或顺序调用两个工具:
- 调用 MCP 查询工具: [查询工具](order_id="HN-HN-20251222-1627")
- 调用时间工具: get_current_time()
4. 整合两个工具的结果,返回给用户
工具发现说明
ADK 自动工具发现机制:
- •当
McpToolset对象被添加到智能体的工具列表时,ADK 框架会自动调用get_tools()方法 - •ADK 会解析每个工具的名称、描述、参数定义等信息
- •这些信息会自动提供给 LLM,智能体可以根据工具描述智能选择和使用工具
- •无需手动查询工具列表,智能体可以直接根据用户需求调用相应的工具
工具使用建议:
- •查看工具的 docstring 了解工具的功能和参数
- •根据用户问题的语义,选择最合适的工具
- •工具参数如果不确定,可以查看工具的定义或尝试调用,工具会返回参数错误信息
- •可以组合使用多个工具来完成复杂任务