全部产品
Search
文档中心

大模型服务平台百炼:MCP

更新时间:Mar 21, 2026

模型上下文协议(Model Context Protocol, MCP)可帮助大模型使用外部工具与数据,相比 Function Calling,MCP 更灵活且易于使用。本文介绍通过 Responses API接入 MCP 的方法。

使用方式

使用 Responses API,在 tools 参数中配置MCP Server信息。

可从 ModelScope 等平台获取 MCP 服务的 SSE Endpoint 与鉴权信息。
仅支持配置SSE协议的 MCP Server。
最多添加 10 个 MCP Server。
# 导入依赖与创建客户端...
mcp_tool = {
    "type": "mcp",
    "server_protocol": "sse",
    "server_label": "my-mcp-service",
    "server_description": "MCP 服务功能描述,帮助模型理解使用场景。",
    "server_url": "https://your-mcp-server-endpoint/sse",
    "headers": {
        "Authorization": "Bearer YOUR_TOKEN"
    }
}

response = client.responses.create(
    model="qwen3.5-plus",
    input="你的问题...",
    tools=[mcp_tool]
)

print(response.output_text)

支持的模型

国际

  • 千问 Plus:qwen3.5-plusqwen3.5-plus-2026-02-15

  • 千问 Flash:qwen3.5-flashqwen3.5-flash-2026-02-23

  • 千问开源:qwen3.5-397b-a17bqwen3.5-122b-a10bqwen3.5-27bqwen3.5-35b-a3b

全球

  • 千问 Plus:qwen3.5-plusqwen3.5-plus-2026-02-15

  • 千问 Flash:qwen3.5-flashqwen3.5-flash-2026-02-23

  • 千问开源:qwen3.5-397b-a17bqwen3.5-122b-a10bqwen3.5-27bqwen3.5-35b-a3b

中国内地

  • 千问 Plus:qwen3.5-plusqwen3.5-plus-2026-02-15

  • 千问 Flash:qwen3.5-flashqwen3.5-flash-2026-02-23

  • 千问开源:qwen3.5-397b-a17bqwen3.5-122b-a10bqwen3.5-27bqwen3.5-35b-a3b

欧盟

千问 Flash:qwen3.5-flashqwen3.5-flash-2026-02-23

仅支持通过 Responses API 调用。

快速开始

以接入 ModelScope 提供的Fetch网页抓取MCP为例。通过右侧的Service configuration,获取服务的 SSE Endpoint 与鉴权信息。

需要已获取API Key配置API Key到环境变量

请将示例代码中的 server_url 替换为您从 MCP 服务平台获取的 SSE Endpoint,将 headers 中的鉴权信息替换为对应平台提供的 Token。
import os
from openai import OpenAI

client = OpenAI(
    # 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx"(不建议),
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope-intl.aliyuncs.com/api/v2/apps/protocols/compatible-mode/v1"
)

# MCP 工具配置
# 请将 server_url 替换为您从 ModelScope 等平台获取的 SSE Endpoint
# 如需鉴权,请在 headers 中添加对应平台的 Token
mcp_tool = {
    "type": "mcp",
    "server_protocol": "sse",
    "server_label": "fetch",
    "server_description": "Fetch MCP Server,提供网页内容获取能力,可以抓取指定URL的网页内容并返回文本。",
    "server_url": "https://mcp.api-inference.modelscope.net/xxx/sse",
}

response = client.responses.create(
    model="qwen3.5-plus",
    input="https://news.aibase.com/zh/news,今天有哪些AI新闻?",
    tools=[mcp_tool]
)

print("[模型回复]")
print(response.output_text)
print(f"\n[Token 用量] 输入: {response.usage.input_tokens}, 输出: {response.usage.output_tokens}, 合计: {response.usage.total_tokens}")
import OpenAI from "openai";
import process from 'process';

const openai = new OpenAI({
    // 若没有配置环境变量,请用百炼API Key将下行替换为:apiKey: "sk-xxx",
    apiKey: process.env.DASHSCOPE_API_KEY,
    baseURL: "https://dashscope-intl.aliyuncs.com/api/v2/apps/protocols/compatible-mode/v1"
});

async function main() {
    // MCP 工具配置
    // 请将 server_url 替换为您从 ModelScope 等平台获取的 SSE Endpoint
    // 如需鉴权,请在 headers 中添加对应平台的 Token
    const mcpTool = {
        type: "mcp",
        server_protocol: "sse",
        server_label: "fetch",
        server_description: "Fetch MCP Server,提供网页内容获取能力,可以抓取指定URL的网页内容并返回文本。",
        server_url: "https://mcp.api-inference.modelscope.net/xxx/sse",
    };

    const response = await openai.responses.create({
        model: "qwen3.5-plus",
        input: "https://news.aibase.com/zh/news,今天有哪些AI新闻?",
        tools: [mcpTool]
    });

    console.log("[模型回复]");
    console.log(response.output_text);
    console.log(`\n[Token 用量] 输入: ${response.usage.input_tokens}, 输出: ${response.usage.output_tokens}, 合计: ${response.usage.total_tokens}`);
}

main();
# 请将 server_url 替换为您从 ModelScope 等平台获取的 SSE Endpoint
# 如需鉴权,请在 headers 中添加对应平台的 Token
curl -X POST https://dashscope-intl.aliyuncs.com/api/v2/apps/protocols/compatible-mode/v1/responses \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen3.5-plus",
    "input": "https://news.aibase.com/zh/news,今天有哪些AI新闻?",
    "tools": [
        {
            "type": "mcp",
            "server_protocol": "sse",
            "server_label": "fetch",
            "server_description": "Fetch MCP Server,提供网页内容获取能力,可以抓取指定URL的网页内容并返回文本。",
            "server_url": "https://mcp.api-inference.modelscope.net/xxx/sse"
        }
    ]
}'

运行以上代码可获取如下回复:

[模型回复]
从北京到上海驾车,您可以选择以下路线:

1. 推荐路线(京沪高速)
   - 沿G2京沪高速公路一路向南行驶,途经河北、天津、山东、江苏等省市
   - 全程约1,200公里,预计驾驶时间约13–15小时

2. 备选路线(京台高速转沪昆高速)
   - 沿G3京台高速南下,进入安徽后转入G60沪昆高速前往上海
   - 全程约1,250公里,预计驾驶时间约14–16小时

...

[Token 用量] 输入: 55, 输出: 195, 合计: 250

流式输出

MCP 工具调用可能涉及多次外部服务交互,建议启用流式输出,实时获取工具调用过程与回复内容。

import os
from openai import OpenAI

client = OpenAI(
    # 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope-intl.aliyuncs.com/api/v2/apps/protocols/compatible-mode/v1"
)

# 请将 server_url 替换为您从 ModelScope 等平台获取的 SSE Endpoint
# 如需鉴权,请在 headers 中添加对应平台的 Token
mcp_tool = {
    "type": "mcp",
    "server_protocol": "sse",
    "server_label": "fetch",
    "server_description": "Fetch MCP Server,提供网页内容获取能力,可以抓取指定URL的网页内容并返回文本。",
    "server_url": "https://mcp.api-inference.modelscope.net/xxx/sse",
}

stream = client.responses.create(
    model="qwen3.5-plus",
    input="https://news.aibase.com/zh/news,今天有哪些AI新闻?",
    tools=[mcp_tool],
    stream=True
)

for event in stream:
    # 模型回复开始
    if event.type == "response.content_part.added":
        print("[模型回复]")
    # 流式文本输出
    elif event.type == "response.output_text.delta":
        print(event.delta, end="", flush=True)
    # 响应完成,输出用量
    elif event.type == "response.completed":
        usage = event.response.usage
        print(f"\n\n[Token 用量] 输入: {usage.input_tokens}, 输出: {usage.output_tokens}, 合计: {usage.total_tokens}")
import OpenAI from "openai";
import process from 'process';

const openai = new OpenAI({
    // 若没有配置环境变量,请用百炼API Key将下行替换为:apiKey: "sk-xxx",
    apiKey: process.env.DASHSCOPE_API_KEY,
    baseURL: "https://dashscope-intl.aliyuncs.com/api/v2/apps/protocols/compatible-mode/v1"
});

async function main() {
    // 请将 server_url 替换为您从 ModelScope 等平台获取的 SSE Endpoint
    // 如需鉴权,请在 headers 中添加对应平台的 Token
    const mcpTool = {
        type: "mcp",
        server_protocol: "sse",
        server_label: "fetch",
        server_description: "Fetch MCP Server,提供网页内容获取能力,可以抓取指定URL的网页内容并返回文本。",
        server_url: "https://mcp.api-inference.modelscope.net/xxx/sse",
    };

    const stream = await openai.responses.create({
        model: "qwen3.5-plus",
        input: "https://news.aibase.com/zh/news,今天有哪些AI新闻?",
        tools: [mcpTool],
        stream: true
    });

    for await (const event of stream) {
        // 模型回复开始
        if (event.type === "response.content_part.added") {
            console.log("[模型回复]");
        }
        // 流式文本输出
        else if (event.type === "response.output_text.delta") {
            process.stdout.write(event.delta);
        }
        // 响应完成,输出用量
        else if (event.type === "response.completed") {
            const usage = event.response.usage;
            console.log(`\n\n[Token 用量] 输入: ${usage.input_tokens}, 输出: ${usage.output_tokens}, 合计: ${usage.total_tokens}`);
        }
    }
}

main();
# 请将 server_url 替换为您从 ModelScope 等平台获取的 SSE Endpoint
# 如需鉴权,请在 headers 中添加对应平台的 Token
curl -X POST https://dashscope-intl.aliyuncs.com/api/v2/apps/protocols/compatible-mode/v1/responses \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen3.5-plus",
    "input": "https://news.aibase.com/zh/news,今天有哪些AI新闻?",
    "tools": [
        {
            "type": "mcp",
            "server_protocol": "sse",
            "server_label": "fetch",
            "server_description": "Fetch MCP Server,提供网页内容获取能力,可以抓取指定URL的网页内容并返回文本。",
            "server_url": "https://mcp.api-inference.modelscope.net/xxx/sse"
        }
    ],
    "stream": true
}'

运行以上代码可获取如下回复:

[模型回复]
从北京到上海驾车,您可以选择以下路线:

1. 推荐路线(京沪高速)
   - 沿G2京沪高速公路一路向南行驶,途经河北、天津、山东、江苏等省市
   - 全程约1,200公里,预计驾驶时间约13–15小时

...

[Token 用量] 输入: 55, 输出: 195, 合计: 250

参数说明

mcp 工具支持以下参数:

参数

必填

说明

type

固定为 "mcp"

server_protocol

与 MCP 服务的通信协议,当前仅支持 "sse"

server_label

MCP 服务的标签名称,用于标识该服务。

server_description

MCP 服务的功能描述,供模型理解该服务的能力与适用场景。建议填写以提升模型调用准确性。

server_url

MCP 服务的端点 URL。

headers

连接 MCP 服务时携带的请求头,例如 Authorization 等认证信息。

示例:

{
    "type": "mcp",
    "server_protocol": "sse",
    "server_label": "fetch",
    "server_description": "Fetch MCP Server,提供网页内容获取能力,可以抓取指定URL的网页内容并返回文本。",
    "server_url": "https://mcp.api-inference.modelscope.net/xxx/sse"
}

计费说明

计费包含以下部分:

  • 模型推理费用:按模型的 Token 用量计费。

  • MCP 服务费用:以各 MCP 服务的计费为准。