阿里云百炼提供了全周期 MCP 服务,既支持在平台内部(如智能体、工作流)进行配置,也支持通过外部调用集成至第三方应用或个人项目。针对外部调用场景,可以选择以下两种方式:
集成至第三方应用:支持一键自动配置到第三方应用,快速实现外部调用。
集成至个人项目:通过 MCP SDK 调用,实现灵活编码和深度定制。
效果展示
在 Cherry Studio 中调用阿里云百炼提供的 Amap Maps MCP 服务,搭建一个路线规划智能体应用。
前提条件
开通阿里云百炼
如果您是首次访问阿里云百炼服务平台,请按照以下步骤进行开通。
登录阿里云百炼大模型服务平台。
如果页面顶部显示
,您需要开通阿里云百炼的模型服务,并获得免费额度。如果未显示该消息,则表示您已经开通。
如果开通服务时提示“您尚未进行实名认证”,请先进行个人实名认证。
获取百炼 API Key
前往密钥管理页面,在API-Key页签(下图位置①)下单击创建API-KEY(下图位置②)。
在创建API-KEY弹窗中,选择API Key的归属账号,填写描述信息,并单击确定。
针对某个API Key,单击
图标(上图位置③)获取API Key。
主账号可以查看全部API-KEY,子账号仅能查看自己创建的API Key。
开通 MCP 服务
前往阿里云百炼 MCP 页面选择 MCP 服务。以 Amap Maps 服务为例,点击卡片。
点击立即开通,点击确认开通后即可开通 Amap Maps MCP 服务。
说明阿里云百炼已部署云端的 Amap Maps MCP 服务,开通试用服务无需填写AMAP_MAPS_API_KEY。如需商业化服务定制,也支持使用个人AMAP_MAPS_API_KEY。
如果涉及输入敏感信息,需通过创建 KMS 凭据进行加密。
外部调用 MCP 服务
集成至第三方应用
阿里云百炼支持配置 MCP 服务至 Cherry Studio 和 Cursor,支持自动配置和手动配置。以 Amap Maps 服务为例。
Cherry Studio
安装 Cherry Studio。
进入 Amap Maps MCP 服务界面,在外部调用界面中选择 Cherry Studio。
点击
,选择 API Key,点击确定。
可以在弹出的 Cherry Studio 界面中看到所配置的 MCP 服务的详细信息。
也可以手动配置 MCP 服务。点击右上角
,在弹出界面选择 API Key 并复制配置文件。在 Cherry Studio 的 MCP 设置页面点击添加服务器>从JSON导入,粘贴配置信息,点击确定。
在 Cherry Studio中使用 MCP 服务。新建话题,在下方点击
,选择AliyunBailianMCP_amap-maps 服务。
在对话框中输入
现在出发,从杭州萧山国际机场到杭州西湖景区。请你提供三种公共交通出行方案
,可以看到大模型成功调用了 MCP 工具来规划路线。若模型无法调用 MCP,请参考常见问题。
Cursor
安装 Cursor。
进入 Amap Maps MCP 服务界面,在外部调用界面中选择 Cursor。
点击
,选择 API Key,点击确定。在弹出的 Cursor 界面中点击 Install。
头像右下角状态显示为绿色即为安装成功。
通过 SDK 进行开发集成
通过 MCP SDK 调用阿里云百炼 MCP 服务,编码更加灵活。
以下是一个基于 Qwen Agent 框架、调用 Amap Maps MCP 服务的智能体应用实例,支持查询杭州市天气。
安装 Qwen Agent 框架。
pip install -U "qwen-agent[gui,rag,code_interpreter,mcp]"
新建文件
hangzhou_weather.py
,代码实例如下:Python
# -*- coding: utf-8 -*- # 使用amap-maps工具查询杭州天气 import os from qwen_agent.agents import Assistant def query_hangzhou_weather(): """查询杭州今日天气""" # 检查环境变量 api_key = os.getenv('DASHSCOPE_API_KEY') if not api_key: print("错误:请设置环境变量 DASHSCOPE_API_KEY") print("例如:export DASHSCOPE_API_KEY=your_api_key") return llm_cfg = {'model': 'qwen-max'} system = ( '你是一个天气查询智能体。你将调用名为 阿里云百炼_Amap Maps 的 MCP 服务来查询天气信息。' '请优先调用工具获取结构化的天气数据,并对天气情况做简明解释。' ) # 配置MCP工具 tools = [{ "mcpServers": { "阿里云百炼_Amap Maps": { "command": "npx", "args": [ "mcp-remote", "https://dashscope.aliyuncs.com/api/v1/mcps/amap-maps/sse", "--header", "Authorization:${AUTH_HEADER}" ], "env": { "AUTH_HEADER": f"Bearer {api_key}" } } } }] # 创建智能体 bot = Assistant( llm=llm_cfg, name='天气查询智能体', description='天气信息查询', system_message=system, function_list=tools, ) # 查询杭州天气 messages = [] query = "查询杭州今日的天气情况" messages.append({'role': 'user', 'content': query}) print("正在查询杭州今日天气...") print("=" * 50) # 执行查询并收集所有响应 all_responses = [] for response in bot.run(messages): all_responses.append(response) # 提取最终的assistant回复内容 final_content = "" if all_responses: last_response = all_responses[-1] if isinstance(last_response, list): for item in last_response: if isinstance(item, dict) and item.get('role') == 'assistant' and 'content' in item: final_content = item['content'] elif isinstance(last_response, dict) and 'content' in last_response: final_content = last_response['content'] # 输出最终结果 if final_content: print(final_content) else: print("未能获取到天气信息") if __name__ == '__main__': query_hangzhou_weather()
运行代码,结果如下:
运行代码时,若提示
npx
不是内部或外部命令,请先安装Node.js
。
常见问题
为什么模型无法成功地调用 MCP ?
大模型需要明确的指令才能准确地调用 MCP 服务。请在提示词中明确工具名称和工具能力。示例:调用阿里云百炼 Amap Maps MCP 服务,规划从杭州到上海的自驾路线。