Qwen3 与 Qwen Agent 智能体开发实战:接入 MCP 工具
基于 Qwen3 大模型与 Qwen-Agent 框架,本文演示了如何配置阿里云百炼 API-Key,构建多轮对话机器人,并通过 stdio 模式接入 mcp-server-sqlite 实现自然语言操作 SQLite 数据库。内容涵盖环境安装、Assistant 组件使用、MCP 工具配置及代码示例,展示了 AI Agent 在数据管理场景下的快速开发流程。

基于 Qwen3 大模型与 Qwen-Agent 框架,本文演示了如何配置阿里云百炼 API-Key,构建多轮对话机器人,并通过 stdio 模式接入 mcp-server-sqlite 实现自然语言操作 SQLite 数据库。内容涵盖环境安装、Assistant 组件使用、MCP 工具配置及代码示例,展示了 AI Agent 在数据管理场景下的快速开发流程。

阿里发布的 Qwen3 系列模型凭借优异的性能、创新的混合推理模式以及极强的 MCP 能力,迅速成为 AI Agent 开发的主流基座模型。针对如何利用 Qwen3 快速开发 MCP 应用的问题,本文将介绍使用 Qwen 官方推荐的开发工具 Qwen-Agent,学习如何快速接入 MCP 服务端并开发 AI Agent 应用。
本次分享通过阿里云百炼大模型服务平台 API Key 请求方式调用 Qwen3 大模型,获取服务平台 API Key 的步骤如下:

Qwen-Agent 是阿里通义团队推出的开源智能体(Agent)开发框架,基于 Qwen 大语言模型(LLM)构建,旨在帮助开发者快速构建具备指令遵循、工具调用、规划与记忆等能力的 AI 应用。
Qwen-Agent 具备如下核心特性:
Qwen-Agent 具备快速接入 Qwen 系列模型能力,通过 Assistant 组件,可以实现工具调用、Agent 编排和 MCP 接入等一系列功能。
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 填入你在百炼平台注册的 api_key。llm_cfg = {
'model': 'qwen3-235b-a22b',
'model_server': 'dashscope',
'api_key': '你的 api-key',
'generate_cfg': {'top_p': 0.8}
}
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 的基本操作后,下一步开始学习 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 数据库的相关操作。
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': '你的 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
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 插入数据。

执行完程序发现本地目录下多了名为 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 智能体。主要内容包括:
后续可进一步探索 Qwen-Agent 出色的前端交互展示能力,复现更复杂的可视化智能体应用。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online