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

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

利用阿里云百炼平台的 Qwen3 大模型结合 Qwen-Agent 框架开发 AI 智能体。内容涵盖获取 API Key、构建多轮对话机器人以及通过 stdio 模式接入 MCP 服务器(以 mcp-server-sqlite 为例)实现自然语言操作数据库的功能。重点展示工具调用配置、代码示例及验证方法,帮助开发者快速上手 MCP 应用开发。

RefactorPro发布于 2026/2/10更新于 2026/7/2446 浏览
Qwen3 与 Qwen Agent 智能体开发实战:接入 MCP 工具

前言

本文介绍如何利用阿里云百炼大模型服务平台的 Qwen3 系列模型结合 Qwen-Agent 框架快速开发 AI Agent 应用,重点演示如何接入 MCP 服务端。

一、注册 Qwen3 API-Key

通过阿里云百炼大模型服务平台 API Key 请求方式调用 Qwen3 大模型。获取步骤如下:

  1. 登录阿里云百炼大模型服务平台,如果页面顶部显示需要开通百炼的模型服务,点击立即开通即可。
  2. 前往我的 API-KEY 页面,单击创建我的 API-KEY。
  3. 在已创建的 API Key 操作列,单击查看,获取 API KEY。该 API KEY 是请求 Qwen3 大模型的重要凭证。

API Key 获取界面

二、Qwen-Agent 快速入门

2.1 Qwen-Agent 简介

Qwen-Agent 是阿里通义团队推出的开源智能体(Agent)开发框架,基于 Qwen 大语言模型(LLM)构建,旨在帮助开发者快速构建具备指令遵循、工具调用、规划与记忆等能力的 AI 应用。它提供了从底层原子组件到高级智能体抽象的完整开发工具链。

Qwen-Agent 具备如下核心特性:

  • 更强的工具调用能力:支持智能体自动调用外部工具或函数,包括内置的代码解释器、浏览器助手等,也支持开发者自定义工具。
  • 便捷的 MCP 工具接入流程:最新版的 Qwen-Agent 已经集成了 MCP 工具接入流程,仅需写入 MCP 配置,即可在 Qwen-Agent 中调用 MCP 工具。
  • 规划与记忆能力:智能体具备任务规划能力,能够根据用户需求自动制定执行步骤。同时具备上下文记忆功能,能在对话中保持状态。
  • 长文本处理与 RAG:集成了检索增强生成(RAG)机制,支持处理长文档,提升上下文理解与展示。
  • UI 前端交互与展示

2.2 Qwen-Agent 构建多轮对话机器人

Qwen-Agent 具备快速接入 Qwen 系列模型能力,通过 Assistant 组件,可以实现工具调用、Agent 编排和 MCP 接入等一系列功能。

  1. 安装相关软件,这里使用 anaconda 创建虚拟环境并安装相关库。
conda create -n qwen_agent python=3.12
pip install -U "qwen-agent[rag,code_interpreter,gui,mcp]"
pip install uv
  1. 导入需要的类和函数,Assistant 是用来创建智能体对象的类,typewriter_print 用于格式化和打印消息。
from qwen_agent.agents import Assistant
from qwen_agent.utils.output_beautify import typewriter_print
  1. 配置所使用的模型服务,注意 api_key 填入你在百炼平台注册的 api_key。
llm_cfg = {
    'model': 'qwen3-235b-a22b',  
    : ,
    : ,
    : {: }  
}
# 可按需更换模型名称
'model_server'
'dashscope'
'api_key'
'your_api_key'
'generate_cfg'
'top_p'
0.8
# top_p 越高生成的文本越多样,范围在 0-1.0 之间
  1. 创建一个智能体对象。
bot = Assistant(
    llm=llm_cfg,
    system_message='你是一位乐于助人的小助理',
    name='智能助理'
)
  1. 构建多轮对话聊天。
messages = []  # 存储历史聊天内容
while True:
    query = input('\n用户请求:输入 quit 终止对话')
    if query == 'quit':
        break
    else:
        messages.append({'role': 'user', 'content': query})
        response = []
        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 项目简介

熟悉 Qwen-Agent 的基本操作后,下一步开始学习 Qwen-Agent 接入 MCP 工具。Qwen-Agent 接入 MCP 的原理采用 stdio 开发模式,将 mcp 服务作为 Qwen-Agent 应用的子进程,Qwen-Agent 作为客户端与子进程服务通信。

本次分享采用 Qwen-Agent+Qwen3 开发一个 sqlite 数据库小助手,Qwen-Agent 接入 mcp-server-sqlite MCP 服务器,能够理解自然语言并依据语言内容调用 mcp-server-sqlite 服务端的功能函数完成对 sqlite 数据库的相关操作。

3.2 Qwen-Agent 接入 mcp-server-sqlite

  1. 导入相关包并初始化 Assistant 类,同时接入 mcp-server-sqlite MCP 服务端。接入 mcp 的流程需要先定义一个 tools 数组存放 json schema 格式的 mcp 服务器配置。
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': 'your_api_key',
        'generate_cfg': {'top_p': 0.8}
    }
    # 定义 MCP 服务配置,类似 Function Calling 调用的 JSON Schema 格式
    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
  1. 定义数据库助手,并构造提示词让 Qwen-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 检测到用户请求中要创建学生表并插入数据,Qwen3 模型对 mcp-server-sqlite 服务端的函数理解生成思考过程,利用 sqlite-create_table 创建表,并使用 sqlite-write_query 插入数据。

MCP 工具调用结果

  1. 执行完程序发现本地目录下多了名为 test.db 的数据库文件。

为进一步验证工具调用的正确性,我们使用 sqlite3 数据库工具查看数据库中的数据,在 test.db 同级目录下新建 py 文件并写入如下代码:

# 查看数据库中的数据
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 成功创建了数据表并插入了数据。以上就是我们今天的分享,Qwen-Agent 的能力非常强大,开发者可以利用其开发属于自己的 AI Agent。

四、总结

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

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

目录

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

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

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

更多推荐文章

查看全部
  • 机器人脑部药物递送三大技术路径可转化性分析
  • 大模型 API 注册与调用实战:OpenAI、文心一言、通义千问
  • ROS2 slam_toolbox 激光雷达建图配置指南
  • VSCode 本地部署 DeepSeek:打造隐私安全的 AI 编程助手
  • 前端三年职业复盘:理想与现实的碰撞
  • 前端地图开发:标记点(Marker)的添加、删除、拖拽与事件绑定
  • PyTorch 文本引导图像生成技术与 Stable Diffusion 实践
  • MySQL 窗口函数与 JSON 数据类型实战教程
  • LLL 与 BKZ 算法:理论、实现与优化
  • TanStack Table 核心特性与选型分析
  • InspireFace 与其他开源人脸识别 SDK 性能对比与选型指南
  • 9 款主流 AI Agent 产品横评与场景推荐
  • OpenClaw 搭建 QQ AI 办公机器人:关键词触发与邮件集成
  • VS Code 配置 Anaconda Python 环境
  • 动态规划经典题解:按摩师、打家劫舍、删除点数与粉刷房子
  • DeepFace 与 OpenCV 实现实时情绪分析
  • 世界模型发展脉络综述:理解世界与预测未来
  • AI 绘画提示词工程与结构化创意引擎解析
  • mdev 与 udev:嵌入式及桌面 Linux 设备管理对比
  • MacOS 下基于 Docker 部署 OpenClaw 并集成飞书机器人

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如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