Bagikan melalui


Mengekspos dan mengatur server MCP yang ada

BERLAKU UNTUK: Pengembang | Basic | Basic v2 | Standar | Standar v2 | Premium | Premium v2

Artikel ini menunjukkan cara menggunakan API Management untuk mengekspos dan mengatur server Protokol Konteks Model jarak jauh (MCP) yang ada - server alat yang dihosting di luar API Management. Mengekspos dan mengatur alat server melalui API Management sehingga klien MCP dapat memanggilnya dengan menggunakan protokol MCP.

Contoh skenario meliputi:

  • Server alat Proxy LangChain atau LangServe melalui API Management dengan autentikasi per server dan batas tarif.
  • Mengekspos alat yang berbasis Azure Logic Apps dengan aman ke copilot dengan menggunakan pemfilteran IP dan OAuth.
  • Pusatkan alat server MCP dari Azure Functions dan runtime sumber terbuka ke Azure API Center.
  • Aktifkan GitHub Copilot, Claude by Anthropic, atau ChatGPT untuk berinteraksi dengan aman dengan alat di seluruh perusahaan Anda.

API Management juga mendukung server MCP yang diekspos secara asli di API Management dari REST API terkelola. Untuk informasi selengkapnya, lihat Mengekspos REST API sebagai server MCP.

Pelajari selengkapnya tentang:

Keterbatasan

Prasyarat

  • Jika Anda belum memiliki instans API Management, selesaikan mulai cepat berikut: Membuat instans Azure API Management. Instans harus berada di salah satu tingkat layanan yang mendukung server MCP.

  • Akses ke server eksternal yang kompatibel dengan MCP (misalnya, dihosting di Azure Logic Apps, Azure Functions, LangServe, atau platform lainnya).

  • Kredensial yang sesuai ke server MCP (seperti kredensial klien OAuth 2.0 atau kunci API, tergantung pada server) untuk akses yang aman.

  • Jika Anda mengaktifkan pembuatan log diagnostik melalui Application Insights atau Azure Monitor di skala global (semua API) untuk instans API Management Anda, atur Jumlah byte payload yang akan di-log untuk Response Frontend ke 0. Pengaturan ini mencegah pengelogan badan respons yang tidak diinginkan di semua API dan membantu memastikan berfungsinya server MCP. Untuk mencatat payload secara selektif untuk API tertentu, konfigurasikan pengaturan satu per satu di cakupan API, memungkinkan kontrol yang ditargetkan atas pengelogan respons.

  • Untuk menguji server MCP, gunakan Visual Studio Code dengan akses ke GitHub Copilot atau alat seperti MCP Inspector.

Mengekspos server MCP yang ada

Ikuti langkah-langkah ini untuk mengekspos server MCP yang ada di API Management:

  1. Di portal Microsoft Azure, buka instans API Management Anda.
  2. Di menu sebelah kiri, di bawah API, pilih server> MCP+ Buat server MCP.
  3. Pilih Ekspos server MCP yang sudah ada.
  4. Di server MCP Backend:
    1. Masukkan URL dasar server MCP yang ada. Misalnya, https://learn.microsoft.com/api/mcp untuk server MCP Microsoft Learn.
    2. Dalam Jenis transportasi, HTTP yang Dapat Dialirkan dipilih secara default.
  5. Di server MCP Baru:
    1. Masukkan Nama untuk server MCP di API Management.
    2. Di Jalur dasar, masukkan awalan rute untuk alat. Contohnya, mytools.
    3. Secara opsional, masukkan Deskripsi untuk server MCP.
  6. Pilih Buat.

Cuplikan layar pembuatan server MCP di portal.

  • Server MCP dibuat dan operasi server jarak jauh diekspos sebagai alat.
  • Server MCP tercantum di panel Server MCP . Kolom URL Server memperlihatkan URL server MCP untuk memanggil pengujian atau dalam aplikasi klien.

Cuplikan layar daftar server MCP di portal.

Penting

Saat ini, API Management tidak menampilkan alat dari server MCP yang ada. Anda harus mendaftar dan mengonfigurasi semua alat di server MCP jarak jauh yang ada.

Mengonfigurasi kebijakan untuk server MCP

Konfigurasikan satu atau beberapa kebijakan API Management untuk membantu mengelola server MCP. Kebijakan berlaku untuk semua operasi API yang diekspos sebagai alat di server MCP. Gunakan kebijakan ini untuk mengontrol akses, autentikasi, dan aspek alat lainnya.

Pelajari selengkapnya tentang mengonfigurasi kebijakan:

Perhatian

Jangan mengakses isi respons dengan menggunakan context.Response.Body variabel dalam kebijakan server MCP. Melakukannya memicu buffering respons, yang mengganggu perilaku streaming yang diperlukan oleh server MCP dan dapat menyebabkannya tidak berfungsi.

Untuk mengonfigurasi kebijakan untuk server MCP, ikuti langkah-langkah berikut:

  1. Di portal Microsoft Azure, buka instans API Management Anda.

  2. Di menu sebelah kiri, di bawah API, pilih Server MCP.

  3. Pilih server MCP dari daftar.

  4. Di menu sebelah kiri, di bawah MCP, pilih Kebijakan.

  5. Di editor kebijakan, tambahkan atau edit kebijakan yang ingin Anda terapkan ke alat server MCP. Tentukan kebijakan dalam format XML.

    Misalnya, Anda dapat menambahkan kebijakan untuk membatasi panggilan ke alat server MCP (dalam contoh ini, satu panggilan per 60 detik per sesi MCP).

    <!-- Rate limit tool calls by Mcp-Session-Id header -->
    <set-variable name="body" value="@(context.Request.Body.As<string>(preserveContent: true))" />
    <choose>
        <when condition="@(
            Newtonsoft.Json.Linq.JObject.Parse((string)context.Variables["body"])["method"] != null 
            && Newtonsoft.Json.Linq.JObject.Parse((string)context.Variables["body"])["method"].ToString() == "tools/call"
        )">
        <rate-limit-by-key 
            calls="1" 
            renewal-period="60" 
            counter-key="@(
                context.Request.Headers.GetValueOrDefault("Mcp-Session-Id", "unknown")
            )" />
        </when>
    </choose>
    

    Cuplikan layar editor kebijakan untuk server MCP.

Nota

API Management mengevaluasi kebijakan yang dikonfigurasi pada cakupan global (semua API) sebelum mengevaluasi kebijakan di cakupan server MCP.

Memvalidasi dan menggunakan server MCP

Gunakan agen LLM yang sesuai (seperti GitHub Copilot, Semantic Kernel, atau Copilot Studio) atau klien pengujian (seperti curl) untuk memanggil titik akhir MCP yang dihosting API Management. Pastikan bahwa permintaan menyertakan header atau token yang sesuai, dan konfirmasikan perutean dan respons yang berhasil dari server MCP.

Petunjuk / Saran

Jika Anda menggunakan Inspektur MCP untuk menguji server MCP yang dikelola oleh API Management, gunakan versi 0.9.0.

Menambahkan server MCP di Visual Studio Code

Di Visual Studio Code, gunakan obrolan GitHub Copilot dalam mode agen untuk menambahkan server MCP dan menggunakan alat. Untuk latar belakang tentang server MCP di Visual Studio Code, lihat Menggunakan Server MCP di VISUAL Code.

Untuk menambahkan server MCP di Visual Studio Code:

  1. Gunakan perintah MCP: Tambahkan Server dari Palet Perintah.

  2. Saat diminta, pilih jenis server: HTTP (HTTP atau Server Sent Events).

  3. Masukkan URL Server server MCP di API Management. Misalnya, https://<apim-service-name>.azure-api.net/<api-name>-mcp/mcp untuk titik akhir MCP.

  4. Masukkan ID Server pilihan Anda.

  5. Pilih apakah akan menyimpan konfigurasi ke pengaturan ruang kerja atau pengaturan pengguna Anda.

    • Pengaturan ruang kerja - Konfigurasi server disimpan ke file yang .vscode/mcp.json hanya tersedia di ruang kerja saat ini.

    • Pengaturan pengguna - Konfigurasi server ditambahkan ke file global settings.json Anda dan tersedia di semua ruang kerja. Konfigurasi terlihat mirip dengan yang berikut ini:

    Cuplikan layar server MCP yang dikonfigurasi di Visual Studio Code.

Tambahkan bidang ke konfigurasi JSON untuk pengaturan seperti header autentikasi. Contoh berikut menunjukkan konfigurasi untuk kunci langganan API Management yang dikirim dalam header sebagai nilai input. Pelajari selengkapnya tentang format konfigurasi

Cuplikan layar konfigurasi header autentikasi untuk server MCP

Menggunakan alat dalam mode agen

Setelah menambahkan server MCP di Visual Studio Code, Anda dapat menggunakan alat dalam mode agen.

  1. Di obrolan GitHub Copilot, pilih Mode agen dan pilih tombol Alat untuk melihat alat yang tersedia.

    Tangkapan layar tombol Alat di obrolan.

  2. Pilih satu atau beberapa alat dari server MCP yang akan tersedia di obrolan.

    Cuplikan layar memilih alat di Visual Studio Code.

  3. Masukkan perintah di obrolan untuk memanggil alat. Misalnya, jika Anda memilih alat untuk mendapatkan informasi tentang pesanan, Anda dapat bertanya kepada agen tentang pesanan.

    Get information for order 2
    

    Pilih Lanjutkan untuk melihat hasilnya. Agen menggunakan alat untuk memanggil server MCP dan mengembalikan hasilnya dalam obrolan.

    Cuplikan layar hasil obrolan di Visual Studio Code.

Pemecahan masalah dan isu yang diketahui

Masalah Sebab Solusi
401 Unauthorized kesalahan dari backend Header otorisasi tidak diteruskan Jika perlu, gunakan set-header kebijakan untuk melampirkan token secara manual
Panggilan API berfungsi di API Management tetapi gagal dalam agen URL dasar yang salah atau token yang hilang Periksa kembali kebijakan keamanan dan titik akhir
Streaming server MCP gagal ketika log diagnostik diaktifkan Pengelogan isi respons atau mengakses isi respons melalui kebijakan mengganggu transportasi MCP Menonaktifkan pengelogan isi respons di cakupan Semua API - lihat Prasyarat