跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

Qwen3 + Qwen Agent 智能体开发实战:接入 MCP 工具

Qwen3 大模型结合 Qwen-Agent 框架,为 MCP(Model Context Protocol)工具接入提供了高效方案。本教程详细记录了从阿里云百炼平台获取 API-Key 开始,完成 Qwen-Agent 环境初始化与多轮对话机器人构建的全过程。核心部分演示了如何通过 stdio 模式将 mcp-server-sqlite 接入 Agent,实现通过自然语言指令创建数据表、插入记录及查询结果。该实践验证了 Agent 在工具调用、任务规划及上下文管理上的实际效能,为开发具备外部工具交互能力的智能应用提供了可复用的技术路径。

DataScient发布于 2026/1/29更新于 2026/7/2131 浏览
Qwen3 + Qwen Agent 智能体开发实战:接入 MCP 工具

Qwen3 + Qwen Agent 智能体开发实战:接入 MCP 工具

前言

近期阿里发布的 Qwen3 系列模型在开源界表现亮眼,凭借混合推理模式和强大的 MCP(Model Context Protocol)支持,迅速成为 AI Agent 开发的主流基座。很多开发者关心如何快速利用 Qwen3 构建具备工具调用能力的智能应用,这就需要用到 Qwen 官方推荐的开发框架——Qwen-Agent。

本期我们将聚焦于如何使用 Qwen3 配合 Qwen-Agent 接入 MCP 服务端,通过实战案例演示如何快速开发具备外部工具交互能力的 AI Agent。

一、获取 Qwen3 API-Key

本次实践基于阿里云百炼大模型服务平台进行 API 调用。获取 API Key 的步骤如下:

  1. 登录阿里云百炼控制台,若未开通服务需先点击开通。
  2. 进入 API-KEY 管理页面,创建新的 API Key。
  3. 复制生成的 API Key,这是请求 Qwen3 模型的重要凭证。

二、Qwen-Agent 快速入门

2.1 框架简介

Qwen-Agent 是通义团队推出的开源智能体开发框架,基于 Qwen 大语言模型构建。它提供了从底层原子组件到高级智能体抽象的完整工具链,支持指令遵循、工具调用、规划与记忆等能力。

核心特性包括:

  • 更强的工具调用能力:支持自动调用外部工具或函数,包括内置的代码解释器、浏览器助手及自定义工具。
  • 便捷的 MCP 接入流程:新版已集成 MCP 工具接入,仅需配置即可调用。
  • 规划与记忆能力:能根据用户需求制定执行步骤,并在对话中保持上下文状态。
  • 长文本处理:集成 RAG 机制,支持处理长文档。

2.2 构建多轮对话机器人

通过 Assistant 组件,我们可以快速实现工具调用和 Agent 编排。下面通过一个多轮对话机器人的案例来熟悉基本用法。

首先,使用 conda 创建虚拟环境并安装依赖库:

conda create -n qwen_agent python=3.12
pip install -U "qwen-agent[rag,code_interpreter,gui,mcp]"
pip install uv

接着导入必要的类和函数。Assistant 用于创建智能体对象,typewriter_print 负责格式化打印消息,处理函数调用与普通对话的逻辑差异,并支持推理类模型的输出格式。

from qwen_agent.agents import Assistant
from qwen_agent.utils.output_beautify import typewriter_print

配置模型服务参数,注意将 api_key 替换为实际获取的密钥:

llm_cfg = {
    'model': 'qwen3-235b-a22b',  # 可按需更换模型名称
    'model_server': 'dashscope',
    'api_key': '你的 api-key',
    'generate_cfg': {'top_p': 0.8}  # top_p 越高生成的文本越多样,范围 0-1.0
}

创建智能体对象:

bot = Assistant(
    llm=llm_cfg,
    system_message='你是一位乐于助人的小助理',
    name='智能助理'
)

最后构建多轮对话循环:

messages = []
while True:
    query = input('\n用户请求:输入 quit 终止对话')
    if query == 'quit':
        break
    else:
        messages.append({'role': 'user', 'content': query})
        response_plain_text = ''
        print('AI 回复:')
        for response in bot.run(messages=messages):
            response_plain_text = typewriter_print(response, response_plain_text)
        messages.extend(response)

运行代码后,即可看到与 Qwen3 模型的对话结果。

三、Qwen-Agent 接入 MCP 工具

3.1 项目背景

熟悉基础操作后,我们开始深入 MCP 工具的接入。Qwen-Agent 采用 stdio 模式将 MCP 服务作为子进程运行,Agent 作为客户端与子进程通信。

本例将开发一个 SQLite 数据库小助手,接入 mcp-server-sqlite 服务端,实现通过自然语言指令对本地数据库进行操作。

3.2 接入 mcp-server-sqlite

首先导入相关包并初始化 Assistant 类。接入 MCP 需要定义一个 tools 数组存放 JSON Schema 格式的服务器配置,类似于 Function Calling 的配置方式。

from qwen_agent.agents import Assistant
from qwen_agent.utils.output_beautify import typewriter_print

def init_agent_service():
    llm_cfg = {
        'model': 'qwen3-235b-a22b',
        'model_server': 'dashscope',
        'api_key': '你的 api-key',
        'generate_cfg': {'top_p': 0.8}
    }
    
    # 定义 MCP 服务配置
    tools = [{
        "mcpServers": {
            "sqlite": {
                "command": "uvx",
                "args": ["mcp-server-sqlite", "--db-path", "test.db"]
            }
        }
    }]
    
    bot = Assistant(
        llm=llm_cfg,
        name='数据库管理员',
        description='你是一位数据库管理员,具有对本地数据库的增删改查能力',
        system_message='你扮演一个数据库助手,你具有查询数据库的能力',
        function_list=tools
    )
    return bot

接下来定义数据库助手逻辑,构造提示词让 Agent 创建学生表并插入数据:

def run_query(query=None):
    bot = init_agent_service()
    messages = []
    messages.append({'role': 'user', 'content': [{'text': query}]})
    previous_text = ""
    print('数据库管理员:', end='', flush=True)
    for response in bot.run(messages):
        previous_text = typewriter_print(response, previous_text)

if __name__ == '__main__':
    query = '帮我创建一个学生表,表名是 students,包含 id, name, age, gender, score 字段,然后插入一条数据,id 为 1,name 为张三,age 为 20,gender 为男,score 为 95'
    run_query(query)

执行代码时,uvx 会自动检测并安装所需依赖。完成后,Qwen-Agent 会分析用户请求,生成思考过程,调用 sqlite-create_table 创建表,并使用 sqlite-write_query 插入数据。

程序运行结束后,本地目录会生成名为 test.db 的数据库文件。为了验证工具调用的正确性,可以使用 sqlite3 工具查看数据:

import sqlite3
conn = sqlite3.connect('test.db')
cursor = conn.cursor()

# 查看数据库中有哪些表
cursor.execute("SELECT name FROM sqlite_master WHERE type='table';")
tables = cursor.fetchall()
print("数据库中的表:", tables)

# 如果有表,则查询第一个表的数据
if tables:
    table_name = tables[0][0]
    cursor.execute(f"SELECT * FROM {table_name}")
    print(f"{table_name} 表中的数据:", cursor.fetchall())
else:
    print("数据库中没有表,需要先创建表并插入数据")
conn.close()

可以看到,Qwen-Agent 已成功创建数据表并插入了指定数据。

四、总结

本篇分享了如何利用 Qwen3 大模型和 Qwen-Agent 工具快速接入 MCP 服务端并开发 AI Agent 智能体。主要内容包括:

  1. 注册 Qwen3 API-Key:通过阿里云百炼平台获取密钥。
  2. Qwen-Agent 入门:介绍了核心功能,并演示了多轮对话机器人的构建。
  3. 接入 MCP 工具:以 SQLite 数据库助手为例,展示了配置 MCP 服务端及实现自然语言操作数据库的功能。

当然,这只是 Qwen3 + Qwen-Agent + MCP 智能体开发的初步案例。Qwen-Agent 还具备出色的前端交互展示能力,后续可以进一步探索更复杂的可视化应用场景。希望这篇内容能为开发者提供实用的参考路径。

目录

  1. Qwen3 + Qwen Agent 智能体开发实战:接入 MCP 工具
  2. 前言
  3. 一、获取 Qwen3 API-Key
  4. 二、Qwen-Agent 快速入门
  5. 2.1 框架简介
  6. 2.2 构建多轮对话机器人
  7. 三、Qwen-Agent 接入 MCP 工具
  8. 3.1 项目背景
  9. 3.2 接入 mcp-server-sqlite
  10. 查看数据库中有哪些表
  11. 如果有表,则查询第一个表的数据
  12. 四、总结
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Qwen3-Embedding-4B 基于 llama.cpp 的集成部署教程
  • Qwen3-Embedding-4B 本地部署实战:llama.cpp 与 Open WebUI 集成
  • 基于 LLaMA-Factory 微调 Qwen3.5-4B 构建医疗 AI 助手
  • Qwen3.5-4B 微调实战:基于 LLaMA-Factory 构建医疗 AI 助手
  • Qwen3.5-4B 微调实战:LLaMA-Factory 打造医疗 AI 助手
  • Qwen3-32B 集成实战:Clawdbot Web 网关配置与 CORS 问题解决
  • Qwen3-32B 模型部署:使用 Clawdbot 网关实现 WebSocket 长连接
  • Qwen3-1.7B 流式响应实战验证与前端集成教程
  • Qwen3-0.6B 实战:构建原生支持思考链的对话机器人
  • Qwen2.5-VL 视觉理解案例:Ollama 部署解析设计稿生成前端代码
  • Qwen2.5-Coder:阿里开源的个性化编程助手
  • Qwen-Image-Edit-2511 与 Stable Diffusion 图像编辑能力对比
  • QWEN-AUDIO 语音合成支持 20+ 情感指令与多音色演绎
  • Qt WebChannel 多方法调用导致 execCallbacks 错误的解决方案
  • RabbitMQ Spring Boot 集成:Hello World 实战
  • C++ 标准库算法实用手册
  • Python 数据分析与可视化实战指南
  • QUEST 一体机 SideQuest 安装 APK 与 OBB 数据包教程
  • Whisper-WebUI 语音转文字工具实战指南
  • Python 编程入门教程:从零基础到高级应用详解

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online