AgentSkillsCN

参数 MCP 工具集成专家

集成参数 Model Context Protocol (MCP) 工具,通过 HTTP 与外部参数 MCP 服务交互,提供参数管理、工单生成等功能。

SKILL.md
--- frontmatter
name: "参数 MCP 工具集成专家"
description: "集成参数 Model Context Protocol (MCP) 工具,通过 HTTP 连接与外部参数 MCP 服务交互,提供参数管理、工单生成等功能。"

Execution Instructions

基本说明

参数 MCP (Model Context Protocol) 工具集成技能,允许智能体通过 HTTP 协议连接到外部参数 MCP 服务,并使用服务提供的工具。

使用前提

  1. MCP 服务运行: 确保 MCP 服务已启动并运行在配置的 URL 上(默认:http://localhost:9014/mcp
  2. 服务可用性: 在加载此技能前,系统会尝试连接 MCP 服务,如果服务不可用,将使用占位工具

可用工具

加载此技能后,MCP 服务提供的所有工具将自动添加到智能体的工具列表中。ADK 框架会自动识别和发现 McpToolset 中的所有工具,因此智能体无需手动查询,可以直接使用这些工具。

具体可用的工具取决于 MCP 服务的配置。每个工具都有详细的描述和参数说明(通过工具的 docstring 提供),智能体可以通过工具的描述来理解如何使用它们。

常见的参数 MCP 工具包括:

  • 参数工单修改记录查询工具: 查询工单的参数修改记录
  • 参数草稿生成工具: 生成参数修改草稿
  • 工单生成工具: 生成完整的参数修改工单
  • 其他参数管理工具: 根据 MCP 服务配置而定

使用流程

  1. 加载技能: 调用 skill_load("param_mcp") 加载参数 MCP 集成技能
  2. 自动发现工具: ADK 会自动识别 MCP 服务提供的所有工具,并将它们添加到智能体的工具列表中
  3. 查看工具描述: 每个工具都有详细的描述和参数说明,智能体可以通过工具的 docstring 了解如何使用
  4. 使用工具: 根据用户需求,直接调用相应的 MCP 工具
  5. 处理结果: 工具调用结果将自动返回给智能体

重要提示: 无需手动查询可用工具列表,ADK 框架会自动处理工具发现和注册。智能体只需要根据用户需求,直接调用相应的工具即可。

配置

MCP 服务的 URL 可以通过环境变量 MCP_URL 配置,默认值为 http://localhost:9014/mcp

错误处理

  • 如果 MCP 服务不可用,将使用占位工具,返回友好的错误提示
  • 工具调用失败时,会返回详细的错误信息
  • 连接超时时间设置为 300 秒

注意事项

  1. 服务依赖: 此技能依赖于外部 MCP 服务,确保服务正常运行
  2. 网络连接: 确保能够访问 MCP 服务的 URL
  3. 工具命名: MCP 工具的名称由服务定义,可能与本地工具名称冲突(系统会自动处理)

示例

示例 1: 查询工单参数修改记录

用户问题: "查看工单 HN-HN-20251222-1627 的参数修改记录"

执行流程:

code
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"

执行流程:

code
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分"

执行流程:

code
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 的参数修改记录,并告诉我当前时间"

执行流程:

code
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 了解工具的功能和参数
  • 根据用户问题的语义,选择最合适的工具
  • 工具参数如果不确定,可以查看工具的定义或尝试调用,工具会返回参数错误信息
  • 可以组合使用多个工具来完成复杂任务