Qwen3+Qwen Agent +MCP智能体开发实战(二)—10分钟打造"MiniManus"

0 阅读7分钟

前言

上篇文章Qwen3+Qwen Agent 智能体开发实战,打开大模型MCP工具新方式!(一) 介绍了如何利用阿里发布的Qwen3系列大模型和Qwen-Agent工具快速接入MCP服务端。同时上篇文章通过SQLite数据库AI Agent开发案例带大家贯通了从Qwen3模型API Key注册、Qwen-Agent基本使用和Qwen-Agent接入mcp-server-sqlite的完整开发流程。然而,Qwen-Agent除了具备极强工具调用和接入能力,更有完备的UI展示和用户体验。有不少读者也在后台私信想复现Qwen3官网的github统计分析项目,本期分享就和大家一起利用Qwen-Agent 接入 MCP 10分钟完成项目开发,打造属于你的"MiniManus"~

7.png

一、项目准备

1.1 开发环境依赖

编写该项目前我们需要完成如下准备工作:

  1. 注册Qwen3 API Key (阿里百炼大模型云服务平台
  2. 使用conda创建虚拟环境,安装uvQwen-Agent等python库。

以上环境全部步骤已在我的文章Qwen3+Qwen Agent 智能体开发实战,打开大模型MCP工具新方式!(一) 中详细说明,大家可阅读操作~

1.2 Firecrawl MCP Server接入

要完成github收藏量统计分析项目的开发,我们首先需要一个可以爬取网页的MCP服务器,我这里选择的是Firecrawl MCP Server。 该MCP Server实现了与Firecrawl工具的集成以支持网页抓取搜索、内容提取、批量爬取等功能。Firecrawl MCP Server使用需要以下几步:

  1. 打开Firecrawl登录页,这里可以选择github账号登录。

0.png

  1. 注册成功后点击左边栏API Keys, 可以看到Firecrawl默认已经创建了一个api_key

1.png

二、代码编写

完成Firecrawl api key的注册之后就可以着手开发AI Agent项目。使用Qwen-Agent开发MCP项目流程特别简单,仅需如下几步,完整代码在: codecopy.cn/post/nttt97

  1. 导入相关包并初始化Assistant类, 编写firecrawl-mcp mcp server的json schema配置传入tools参数:
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
        }
    }

    tools = [{
        "mcpServers": {
            "firecrawl-mcp": {
                "command": "npx",
                "args": ["-y", "firecrawl-mcp"],
                "env": {
                    "FIRECRAWL_API_KEY": "你注册的Firecrawl api key"
                },
            },
        },

    },
    ]

    system = """
        你是一个数据分析师,可以提取网页信息进行数据分析
        """

    bot = Assistant(
        llm=llm_cfg,
        name='智能助理',
        description='具备查询高德地图、提取网页信息、数据分析的能力',
        system_message=system,
        function_list=tools,
    )

    return bot
  1. 定义智能助手,编写简单提示词描述本次任务,要求Qwen-Agent帮我们搜寻QwenLM首页的Markdown文档,分析该仓库下不同项目的收藏量并绘制条形图统计。
def run_query(query=None):
    # 定义智能助手
    bot = init_agent_service()

    from qwen_agent.gui import WebUI

    chatbot_config = {
        'prompt.suggestions': [
            "https://github.com/orgs/QwenLM/repositories 提取这一页的Markdown 文档,然后绘制一个柱状图展示每个项目的收藏量",
        ]
    }
    WebUI(
        bot,
        chatbot_config=chatbot_config,
    ).run()

if __name__ == '__main__':
    run_query()

Qwen-Agent内部实现了一个基于Gradio(大模型应用快速开发库)构建的前端页面,运行该程序后会执行 qwen3_mcp_apply显示内置的WebUI, 启动后即可在 localhost:7860 访问, 效果如下:

2.png

界面右侧就是我们在代码chatbot_config字典prompt.suggestions键中设置的推荐问题,我们点击该问题,点击提交,Qwen-Agent就会根据我们的问题自动查找所需Firecrawl工具函数,完成功能调用。

3.png

4.png

5.png

怎么样是不是不到10分钟我们就完成了Qwen3官网的github页面统计分析案例开发!

三、项目扩展

这时有人要反驳“不是说开发一个MiniManus嘛,这里只能爬取分析网页也没有其它功能呀?”其实这两篇分享只是想让大家体会Qwen-Agent开发智能体的便利性,要扩展功能只需在tools列表中加入新的mcp服务即可,受益于Qwen3大模型强大的工具调用和MCP功能,可以方便的使用Qwen-Agent框架开发Multi Agent应用。

下面我们就来实现在Qwen-Agent中接入高德地图MCP Server打造既可分析网页又可出行规划的多智能体!仅需如下两步修改:

  1. 修改init_agent_service函数中的tools MCP Servers 列表项,加入高德地图amap-mcp-server,关于高德地图API Key的注册可以参考我以前的文章 不写一行代码! VsCode+Cline+高德地图MCP Server 帮你搞定和女友的出行规划(附原理解析), 同时修改system系统提示词,修改后的init_agent_service函数如下。
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
        }
    }

    tools = [{
        "mcpServers": {
            "firecrawl-mcp": {
                "command": "npx",
                "args": ["-y", "firecrawl-mcp"],
                "env": {
                    "FIRECRAWL_API_KEY": "你注册的firecrawl api key"
                },
            },

            "amap-mcp-server": {
                "command": "npx",
                "args": [
                    "-y",
                    "@amap/amap-maps-mcp-server"
                ],
                "env": {
                    "AMAP_MAPS_API_KEY": "你注册的高德地图api key"
                }
            }
        },
    },]

    system = """
            你是一个规划师和数据分析师 \
                你可以调用高德地图规划旅行路线,同时可以提取网页信息进行数据分析
            """

    bot = Assistant(
        llm=llm_cfg,
        name='智能助理',
        description='具备查询高德地图、提取网页信息、数据分析的能力',
        system_message=system,
        function_list=tools,
    )

    return bot
  1. run_query函数中添加高德地图规划路线的描述,代码如下:
def run_query(query=None):
    # 定义智能助手
    bot = init_agent_service()

    from qwen_agent.gui import WebUI

    chatbot_config = {
        'prompt.suggestions': [
            "https://github.com/orgs/QwenLM/repositories 提取这一页的Markdown 文档,然后绘制一个柱状图展示每个项目的收藏量",
            '帮我查询从故宫去颐和园的路线'
        ]
    }
    WebUI(
        bot,
        chatbot_config=chatbot_config,
    ).run()

if __name__ == '__main__':
    run_query()

测试一下,我们发现Qwen-Agent不只能统计网页信息,更具备高德地图的全部功能啦。要扩展智能体的功能只需要将其与MCP服务结合即可获得相应能力,现在大家还觉得实现一个"MiniManus"只是我们的愿景嘛?

6.png

7.png

四、总结

本篇分享我们进一步使用Qwen-AgentMCPWebUI功能开发了用户友好的智能体应用。得益于Qwen3模型的强大能力和Qwen-Agent工具接入MCP的便捷性,我们可以方便的打造多功能AI Agent,让10min实现Manus成为可能~

MCP技术在 AI 与 应用 之间架起一座桥梁,通过 MCP 服务器和 MCP 客户端,实现“万物互联”, 让大模型不再拘泥于简单的对话转而获得了丰富的能力更好为用户服务。MCP技术必将成为未来开发的主流,受到大家广泛关注的同时也在如火如荼的发展着。

MCP官方在5月9号的1.8.0版本更新中,正式在SDK中加入了HTTP流式MCP服务器的相关功能支持。自此开发者可以通过MCP SDK,高效快速开发流式HTTP MCP服务器,并顺利进行多通道并发的企业级MCP工具部署。毫无疑问,这将是MCP技术迈向企业级应用的至关重要的一步。在以后的文章中我也会对MCP HTTP流式 协议进行深度解析与案例实战。

与此同时众多的开发者也发挥自己的聪明才智,开发了多种多样的MCP服务端,极大的丰富了MCP应用生态。在以后文章中我同时也会通过亲身实践,为大家推荐便捷好用的MCP服务器,方便大家日常应用开发。感兴趣大家点个关注吧。大家也可关注我的同名微信公众号:大模型真好玩,免费分享工作生活中大模型开发教程和资料~