All Products
Search
Document Center

Alibaba Cloud Model Studio:MCP

Last Updated:Jun 18, 2026

Model Context Protocol (MCP) memungkinkan model bahasa besar menggunakan tool dan data eksternal. Dibandingkan dengan function calling, MCP menawarkan fleksibilitas dan kemudahan penggunaan yang lebih tinggi. Topik ini menjelaskan cara menghubungkan ke MCP menggunakan Responses API.

Penggunaan

Tambahkan informasi server MCP dalam parameter tools saat menggunakan Responses API.

Dapatkan endpoint Server-Sent Events (SSE) dan informasi autentikasi untuk layanan MCP dari platform seperti ModelScope.
Mendukung server MCP yang menggunakan protokol SSE.
Maksimal 10 server MCP.
# Impor dependensi dan buat client...
mcp_tool = {
    "type": "mcp",
    "server_protocol": "sse",
    "server_label": "my-mcp-service",
    "server_description": "Deskripsi fitur server MCP untuk membantu model memahami kasus penggunaannya.",
    "server_url": "https://your-mcp-server-endpoint/sse",
    "headers": {
        "Authorization": "Bearer YOUR_TOKEN"
    }
}

response = client.responses.create(
    model="qwen3.7-plus",
    input="Your question...",
    tools=[mcp_tool]
)

print(response.output_text)

Model yang didukung

  • Qwen-Max: seri Qwen3.7-Max

  • Qwen-Plus: seri Qwen3.7-Plus, seri Qwen3.6-Plus, seri Qwen3.5-Plus

  • Qwen-Flash: seri Qwen3.6-Flash, seri Qwen3.5-Flash

  • seri open-source Qwen3.6 (kecuali qwen3.6-27b)

  • seri open-source Qwen3.5

Hanya tersedia melalui Responses API.

Memulai

Contoh ini menggunakan layanan MCP Fetch web scraping dari ModelScope. Anda dapat memperoleh endpoint SSE dan informasi autentikasi untuk layanan tersebut dari bagian konfigurasi Layanan di sebelah kanan.

Dapatkan Kunci API dan konfigurasikan sebagai variabel lingkungan.

Ganti server_url dengan endpoint SSE dari platform layanan MCP. Ganti autentikasi dalam headers dengan token yang disediakan oleh platform tersebut.
import os
from openai import OpenAI

client = OpenAI(
    # Jika tidak ada variabel lingkungan, gunakan: api_key="sk-xxx" (tidak disarankan).
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
)

# Konfigurasi tool MCP
# Ganti server_url dengan Endpoint SSE yang Anda peroleh dari platform seperti ModelScope
# Jika diperlukan autentikasi, tambahkan token dari platform terkait ke headers
mcp_tool = {
    "type": "mcp",
    "server_protocol": "sse",
    "server_label": "fetch",
    "server_description": "Server MCP Fetch yang menyediakan kemampuan web scraping. Server ini dapat mengambil konten dari URL tertentu dan mengembalikannya sebagai teks.",
    "server_url": "https://mcp.api-inference.modelscope.net/xxx/sse",
}

response = client.responses.create(
    model="qwen3.7-plus",
    input="https://news.aibase.com/zh/news, what is the AI news today?",
    tools=[mcp_tool]
)

print("[Model Response]")
print(response.output_text)
print(f"\n[Token Usage] Input: {response.usage.input_tokens}, Output: {response.usage.output_tokens}, Total: {response.usage.total_tokens}")
import OpenAI from "openai";
import process from 'process';

const openai = new OpenAI({
    // Jika tidak ada variabel lingkungan, gunakan: apiKey: "sk-xxx" (tidak disarankan).
    apiKey: process.env.DASHSCOPE_API_KEY,
    baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
});

async function main() {
    // Konfigurasi tool MCP
    // Ganti server_url dengan Endpoint SSE yang Anda peroleh dari platform seperti ModelScope
    // Jika diperlukan autentikasi, tambahkan token dari platform terkait ke headers
    const mcpTool = {
        type: "mcp",
        server_protocol: "sse",
        server_label: "fetch",
        server_description: "Server MCP Fetch yang menyediakan kemampuan web scraping. Server ini dapat mengambil konten dari URL tertentu dan mengembalikannya sebagai teks.",
        server_url: "https://mcp.api-inference.modelscope.net/xxx/sse",
    };

    const response = await openai.responses.create({
        model: "qwen3.7-plus",
        input: "https://news.aibase.com/zh/news, what is the AI news today?",
        tools: [mcpTool]
    });

    console.log("[Model Response]");
    console.log(response.output_text);
    console.log(`\n[Token Usage] Input: ${response.usage.input_tokens}, Output: ${response.usage.output_tokens}, Total: ${response.usage.total_tokens}`);
}

main();
# Ganti server_url dengan Endpoint SSE yang Anda peroleh dari platform seperti ModelScope
# Jika diperlukan autentikasi, tambahkan token dari platform terkait ke headers
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/responses \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen3.7-plus",
    "input": "https://news.aibase.com/zh/news, what is the AI news today?",
    "tools": [
        {
            "type": "mcp",
            "server_protocol": "sse",
            "server_label": "fetch",
            "server_description": "Server MCP Fetch yang menyediakan kemampuan web scraping. Server ini dapat mengambil konten dari URL tertentu dan mengembalikannya sebagai teks.",
            "server_url": "https://mcp.api-inference.modelscope.net/xxx/sse"
        }
    ]
}'

Setelah Anda menjalankan kode, respons berikut akan dikembalikan:

[Model Response]
Berdasarkan dokumentasi Model Context Protocol (MCP) di pusat bantuan Alibaba Cloud Model Studio (Bailian), model yang didukung adalah:

*   Qwen Plus:
    *   seri Qwen3.7-Plus
    *   seri Qwen3.6-Plus
    *   seri Qwen3.5-Plus
*   Qwen Flash:
    *   seri Qwen3.6-Flash
    *   seri Qwen3.5-Flash
*   Seri Open Source Qwen3.6 (tidak termasuk qwen3.6-27b)
*   Seri Open Source Qwen3.5

Catatan: Dokumentasi menyatakan bahwa MCP hanya didukung melalui Responses API (client.responses.create) dan bukan melalui API Chat Completions standar.

[Token Usage] Input: 20583, Output: 1638, Total: 22221

Output streaming

Pemanggilan tool MCP dapat melibatkan beberapa interaksi dengan layanan eksternal. Aktifkan streaming untuk mendapatkan hasil antara secara real-time.

import os
from openai import OpenAI

client = OpenAI(
    # Jika tidak ada variabel lingkungan, gunakan: api_key="sk-xxx" (tidak disarankan).
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
)

# Ganti server_url dengan Endpoint SSE yang Anda peroleh dari platform seperti ModelScope
# Jika diperlukan autentikasi, tambahkan token dari platform terkait ke headers
mcp_tool = {
    "type": "mcp",
    "server_protocol": "sse",
    "server_label": "fetch",
    "server_description": "Server MCP Fetch yang menyediakan kemampuan web scraping. Server ini dapat mengambil konten dari URL tertentu dan mengembalikannya sebagai teks.",
    "server_url": "https://mcp.api-inference.modelscope.net/xxx/sse",
}

stream = client.responses.create(
    model="qwen3.7-plus",
    input="https://news.aibase.com/zh/news, what is the AI news today?",
    tools=[mcp_tool],
    stream=True
)

for event in stream:
    # Respons model dimulai
    if event.type == "response.content_part.added":
        print("[Model Response]")
    # Output teks streaming
    elif event.type == "response.output_text.delta":
        print(event.delta, end="", flush=True)
    # Respons selesai, tampilkan penggunaan
    elif event.type == "response.completed":
        usage = event.response.usage
        print(f"\n\n[Token Usage] Input: {usage.input_tokens}, Output: {usage.output_tokens}, Total: {usage.total_tokens}")
import OpenAI from "openai";
import process from 'process';

const openai = new OpenAI({
    // Jika tidak ada variabel lingkungan, gunakan: apiKey: "sk-xxx" (tidak disarankan).
    apiKey: process.env.DASHSCOPE_API_KEY,
    baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
});

async function main() {
    // Ganti server_url dengan Endpoint SSE yang Anda peroleh dari platform seperti ModelScope
    // Jika diperlukan autentikasi, tambahkan token dari platform terkait ke headers
    const mcpTool = {
        type: "mcp",
        server_protocol: "sse",
        server_label: "fetch",
        server_description: "Server MCP Fetch yang menyediakan kemampuan web scraping. Server ini dapat mengambil konten dari URL tertentu dan mengembalikannya sebagai teks.",
        server_url": "https://mcp.api-inference.modelscope.net/xxx/sse",
    };

    const stream = await openai.responses.create({
        model: "qwen3.7-plus",
        input: "https://news.aibase.com/zh/news, what is the AI news today?",
        tools: [mcpTool],
        stream: true
    });

    for await (const event of stream) {
        // Respons model dimulai
        if (event.type === "response.content_part.added") {
            console.log("[Model Response]");
        }
        // Output teks streaming
        else if (event.type === "response.output_text.delta") {
            process.stdout.write(event.delta);
        }
        // Respons selesai, tampilkan penggunaan
        else if (event.type === "response.completed") {
            const usage = event.response.usage;
            console.log(`\n\n[Token Usage] Input: ${usage.input_tokens}, Output: ${usage.output_tokens}, Total: ${usage.total_tokens}`);
        }
    }
}

main();
# Ganti server_url dengan Endpoint SSE yang Anda peroleh dari platform seperti ModelScope
# Jika diperlukan autentikasi, tambahkan token dari platform terkait ke headers
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/responses \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen3.7-plus",
    "input": "https://news.aibase.com/zh/news, what is the AI news today?",
    "tools": [
        {
            "type": "mcp",
            "server_protocol": "sse",
            "server_label": "fetch",
            "server_description": "Server MCP Fetch yang menyediakan kemampuan web scraping. Server ini dapat mengambil konten dari URL tertentu dan mengembalikannya sebagai teks.",
            "server_url": "https://mcp.api-inference.modelscope.net/xxx/sse"
        }
    ],
    "stream": true
}'

Setelah Anda menjalankan kode, respons berikut akan dikembalikan:

[Model Response]
Berdasarkan halaman dokumentasi MCP di Alibaba Cloud Model Studio, model berikut didukung:

*   Seri Qwen Plus: seri Qwen3.7-Plus, seri Qwen3.6-Plus, dan seri Qwen3.5-Plus
*   Seri Qwen Flash: seri Qwen3.6-Flash dan seri Qwen3.5-Flash
*   Seri Open Source Qwen3.6 (tidak termasuk qwen3.6-27b)
*   Seri Open Source Qwen3.5

Catatan: Model-model ini hanya mendukung fungsionalitas MCP melalui Responses API.

[Token Usage] Input: 20472, Output: 945, Total: 21417

Parameter

Tool mcp mendukung parameter berikut:

Parameter

Wajib

Deskripsi

type

Ya

Diatur ke "mcp".

server_protocol

Ya

Protokol komunikasi dengan server MCP. Saat ini, hanya "sse" yang didukung.

server_label

Ya

Nama label server MCP, digunakan untuk mengidentifikasi layanan.

server_description

Tidak

Deskripsi fitur server MCP. Ini membantu model memahami kemampuan dan skenario penggunaan layanan. Mengisi parameter ini direkomendasikan untuk meningkatkan akurasi pemanggilan model.

server_url

Ya

URL titik akhir server MCP.

headers

Tidak

Header permintaan yang disertakan saat menghubungkan ke server MCP, seperti informasi autentikasi seperti Authorization.

Contoh:

{
    "type": "mcp",
    "server_protocol": "sse",
    "server_label": "fetch",
    "server_description": "Server MCP Fetch yang menyediakan kemampuan web scraping. Server ini dapat mengambil konten dari URL tertentu dan mengembalikannya sebagai teks.",
    "server_url": "https://mcp.api-inference.modelscope.net/xxx/sse"
}

Penagihan

Penagihan mencakup:

  • Biaya inferensi model: Ditagih berdasarkan penggunaan token model.

  • Biaya server MCP: Tunduk pada aturan penagihan masing-masing server MCP.