基于 Qwen-Agent 与 MCP 实现阿里云 ECS 实例查询(含完整代码与实操)

✅ 关键词:Qwen-Agent、MCP、阿里云、运维、LLM、Function Calling

在现代云运维场景中,我们不仅希望大语言模型(LLM)能回答文本问题,更希望它能直接调用云端 API、查询资源,实现「智能运维」。

本文将分享如何 基于 Qwen-Agent 和 MCP,快速实现一个“云资源助手”,能帮你查询阿里云 ECS 实例信息。


📝 什么是 MCP?

MCP (Model-Computing Platform) 是阿里云提供的一种“模型驱动 API 调用”能力,可以让 LLM 自动识别用户意图,生成对应参数,然后调用 MCP 后端服务完成查询。

它非常类似 Function Calling 的思路:

  • 用户:用自然语言提问
  • LLM:生成 JSON 参数
  • MCP:根据 JSON 执行 API
  • LLM:将结果转换为用户易懂的答案

你不需要写复杂的 API 请求,只要配置好 MCP,LLM 就能帮你干活。


🎯 MCP 配置

在 MCP 中,需要告诉 Qwen-Agent:

  • 哪些服务可用
  • 服务对应的调用方式(比如 npx

比如,以下就是一个 MCP 配置片段:

"mcpServers": {
   
   
    "cst": {
   
   
        "command": "npx",
        "args": [
            "mcp-remote-alibaba-cloud",
            "https://openapi-mcp.cn-hangzhou.aliyuncs.com/accounts/xxxxxxxx/custom/cst/id/xxxxxxxxxxx/mcp"
        ]
    }
}

其中:

  • cst → 自定义服务别名

  • command → 使用 npx 执行 MCP CLI

  • args → MCP CLI 参数

    • 第一个是脚本名
    • 第二个是 MCP Server 的地址

MCP Server 地址需要你从以下页面获取:

👉 MCP Servers 管理页面

如图所示:

### 关于Qwen-AgentMCP结合使用的文档或指南 Qwen-Agent 是一种基于大模型的能力扩展框架,能够通过集成多种工具来增强其功能。其中,MCP(Multi-Client Protocol)作为 Qwen-Agent 的一个重要组成部分,提供了对多个客户端工具的支持能力[^1]。 #### MCPManager 单例模式的作用 MCPManager 使用单例模式设计,主要负责初始化和管理 MCP 工具以及 clients。它可以通过配置文件动态加载不同的工具和服务。例如,在 `mcp_servers` 配置中定义了一个 SQLite 数据库服务,并指定了启动命令及其参数: ```python {'mcpServers': {'sqlite': {'command': 'uvx', 'args': ['mcp-server-sqlite', '--db-path', 'test.db']}}} ``` 此部分日志表明 MCPManager 正在尝试初始化一个标准的 stdio_client 客户端实例[^1]。如果该过程耗时过久,则可能是因为配置错误或者外部依赖未正常工作。 #### 实际应用中的代码示例 下面是一个完整的 Python 脚本案例,展示如何利用 Qwen-AgentMCP实现时间查询的功能[^2]: ```python from qwen_agent.agents import Assistant from dotenv import load_dotenv import os load_dotenv() API_KEY = os.getenv("API_KEY") BASE_URL = os.getenv("BASE_URL") MODEL = os.getenv("MODEL") # 定义LLM配置 llm_cfg = { 'model': MODEL, 'model_server': BASE_URL, 'api_key': API_KEY, 'enable_thinking': False # 禁用思考模式 } # 定义工具列表 tools = [ {"mcpServers": { "time-sse": { "url": "https://time.mcp.minglog.cn/sse", "name": "time-sse" } }}, 'code_interpreter' # 内置工具 ] # 初始化Agent bot = Assistant(llm=llm_cfg, function_list=tools) # 执行对话请求 messages = [{'role': 'user', 'content': '现在几点了?'}] for responses in bot.run(messages=messages): final_response = responses[-1]['message']['content'] print(final_response) print("___________________") ``` 这段脚本展示了如何设置 LLM 参数、指定可用工具并运行实际的任务交互逻辑。特别注意的是,“time-sse” 这一远程 SSE 时间服务器被成功嵌入到工具链当中。 #### 总结 以上内容涵盖了从理论层面理解 MCPManager 到实践操作编写具体程序的过程。希望这些资料可以帮助开发者更好地掌握 Qwen-Agent 结合 MCP 的开发技巧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未名编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值