Sdílet prostřednictvím


Zveřejnění a řízení existujícího serveru MCP

PLATÍ PRO: Vývojář | Základní | Základní v2 | Standardní | Standardní v2 | Premium | Premium v2

Tento článek ukazuje, jak pomocí služby API Management zveřejnit a řídit existující vzdálený server MCP (Model Context Protocol) – server nástrojů hostovaný mimo službu API Management. Zveřejnění a řízení nástrojů serveru prostřednictvím služby API Management, aby je klienti MCP mohli volat pomocí protokolu MCP.

Mezi ukázkové scénáře patří:

  • Servery nástrojů Proxy LangChain nebo LangServe prostřednictvím služby API Management s omezeními počtu ověřování a rychlosti pro jednotlivé servery.
  • Zpřístupnění nástrojů založených na Azure Logic Apps kopilotům pomocí filtrování IP adres a OAuth.
  • Centralizace nástrojů serveru MCP ze služby Azure Functions a opensourcových modulů runtime do Azure API Center
  • Povolte GitHub Copilot, Claude by Anthropic nebo ChatGPT, abyste mohli bezpečně pracovat s nástroji v celém podniku.

API Management také podporuje servery MCP nativně zveřejněné ve službě API Management ze spravovaných rozhraní REST API. Další informace najdete v tématu Zveřejnění rozhraní REST API jako serveru MCP.

Další informace o:

Omezení

Požadavky

  • Pokud ještě nemáte instanci služby API Management, proveďte následující rychlý start: Vytvořte instanci služby Azure API Management. Instance musí být v jedné z úrovní služby, které podporují servery MCP.

  • Přístup k externímu serveru kompatibilnímu s MCP (například hostovaný v Azure Logic Apps, Azure Functions, LangServe nebo jiných platformách).

  • Vhodné přihlašovací údaje pro server MCP (například přihlašovací údaje klienta OAuth 2.0 nebo klíče rozhraní API v závislosti na serveru) pro zabezpečený přístup.

  • Pokud povolíte protokolování diagnostiky prostřednictvím Application Insights nebo Azure Monitoru v globálním oboru (všechna rozhraní API) pro vaši instanci služby API Management, nastavte počet bajtů datové části k protokolování pro odpověď na straně klienta na hodnotu 0. Toto nastavení zabraňuje nezamýšleným protokolováním orgánů odpovědí napříč všemi rozhraními API a pomáhá zajistit správné fungování serverů MCP. Pokud chcete protokolovat datové části selektivně pro konkrétní rozhraní API, nakonfigurujte nastavení jednotlivě v oboru rozhraní API, což umožňuje cílenou kontrolu nad protokolováním odpovědí.

  • Pokud chcete otestovat server MCP, použijte Visual Studio Code s přístupem k GitHub Copilotu nebo nástroji, jako je MCP Inspector.

Zveřejnění existujícího serveru MCP

Při zveřejnění existujícího serveru MCP ve službě API Management postupujte takto:

  1. Na webu Azure Portal přejděte do vaší instance služby API Management.
  2. V nabídce vlevo v části Rozhraní API vyberte servery> MCP + Vytvořit server MCP.
  3. Vyberte Zveřejnit existující server MCP.
  4. Na serveru MCP back-endu:
    1. Zadejte existující základní adresu URL serveru MCP. Například https://learn.microsoft.com/api/mcp pro server MICROSOFT Learn MCP.
    2. Ve typu přenosu je ve výchozím nastavení vybrán Streamable HTTP.
  5. Na novém serveru MCP:
    1. Zadejte název serveru MCP ve službě API Management.
    2. V základní cestě zadejte předponu trasy pro nástroje. Například: mytools.
    3. Volitelně můžete zadat popis serveru MCP.
  6. Vyberte Vytvořit.

Snímek obrazovky s vytvořením serveru MCP na portálu

  • Vytvoří se server MCP a operace vzdáleného serveru se zveřejňují jako nástroje.
  • Server MCP je uvedený v podokně Servery MCP . Ve sloupci Adresa URL serveru se zobrazí adresa URL serveru MCP, která bude volat pro testování nebo v rámci klientské aplikace.

Snímek obrazovky se seznamem serverů MCP na portálu

Důležité

V současné době služba API Management nezobrazuje nástroje z existujícího serveru MCP. Musíte zaregistrovat a nakonfigurovat všechny nástroje na stávajícím vzdáleném serveru MCP.

Konfigurace zásad pro server MCP

Nakonfigurujte jednu nebo více zásad služby API Management, které vám pomůžou se správou serveru MCP. Zásady platí pro všechny operace rozhraní API vystavené jako nástroje na serveru MCP. Pomocí těchto zásad můžete řídit přístup, ověřování a další aspekty nástrojů.

Další informace o konfiguraci zásad:

Upozornění

Nepřistupujte k textu odpovědi pomocí context.Response.Body proměnné v rámci zásad serveru MCP. Tím se aktivuje ukládání odpovědí do vyrovnávací paměti, což koliduje s chováním streamování vyžadovaným servery MCP a může způsobit jejich selhání.

Chcete-li nakonfigurovat zásady pro server MCP, postupujte takto:

  1. Na webu Azure Portal přejděte do vaší instance služby API Management.

  2. V nabídce vlevo v části Rozhraní API vyberte Servery MCP.

  3. Ze seznamu vyberte server MCP.

  4. V nabídce vlevo v části MCP vyberte Zásady.

  5. V editoru zásad přidejte nebo upravte zásady, které chcete použít pro nástroje serveru MCP. Definujte zásady ve formátu XML.

    Můžete například přidat zásadu, která omezí volání na nástroje serveru MCP (v tomto příkladu jedno volání za 60 sekund na relaci 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>
    

    Snímek obrazovky s editorem zásad pro server MCP

Poznámka:

Služba API Management vyhodnocuje zásady nakonfigurované v globálním oboru (všechna rozhraní API), než vyhodnotí zásady v oboru serveru MCP.

Ověření a použití serveru MCP

Použijte kompatibilního agenta LLM (například GitHub Copilot, Sémantic Kernel nebo Copilot Studio) nebo testovacího klienta (například curl) pro volání koncového bodu MCP hostovaného službou API Management. Ujistěte se, že požadavek obsahuje odpovídající hlavičky nebo tokeny, a ověřte úspěšné směrování a odpověď ze serveru MCP.

Tip

Pokud k otestování serveru MCP spravovaného službou API Management použijete kontrolu MCP , použijte verzi 0.9.0.

Přidání serveru MCP v editoru Visual Studio Code

V editoru Visual Studio Code pomocí chatu GitHub Copilot v režimu agenta přidejte server MCP a použijte nástroje. Základní informace o serverech MCP v editoru Visual Studio Code najdete v tématu Použití serverů MCP ve VS Code.

Přidání serveru MCP v editoru Visual Studio Code:

  1. Použijte příkaz MCP: Přidání serveru z palety příkazů.

  2. Po zobrazení výzvy vyberte typ serveru: HTTP (HTTP nebo Server Sent Events).

  3. Zadejte adresu URL serveru MCP ve službě API Management. Například https://<apim-service-name>.azure-api.net/<api-name>-mcp/mcp pro koncový bod MCP.

  4. Zadejte ID serveru podle vašeho výběru.

  5. Vyberte, jestli chcete konfiguraci uložit do nastavení pracovního prostoru nebo do uživatelského nastavení.

    • Nastavení pracovního prostoru – Konfigurace serveru se uloží do .vscode/mcp.json souboru, který je k dispozici pouze v aktuálním pracovním prostoru.

    • Uživatelská nastavení – Konfigurace serveru se přidá do globálního settings.json souboru a je k dispozici ve všech pracovních prostorech. Konfigurace vypadá nějak takto:

    Snímek obrazovky se servery MCP nakonfigurované v editoru Visual Studio Code

Přidejte pole do konfigurace JSON pro nastavení, jako je hlavička ověřování. Následující příklad ukazuje konfiguraci klíče předplatného služby API Management předaného v hlavičce jako ve vstupní hodnotě. Další informace o formátu konfigurace

Snímek obrazovky s konfigurací hlavičky ověřování pro server MCP

Použití nástrojů v režimu agenta

Po přidání serveru MCP v editoru Visual Studio Code můžete použít nástroje v režimu agenta.

  1. V chatu GitHub Copilot vyberte režim agenta a výběrem tlačítka Nástroje zobrazte dostupné nástroje.

    Snímek obrazovky s tlačítkem Nástroje v chatu

  2. Vyberte jeden nebo více nástrojů ze serveru MCP, které chcete mít k dispozici v chatu.

    Snímek obrazovky s výběrem nástrojů v editoru Visual Studio Code

  3. Zadejte do chatu výzvu k vyvolání nástroje. Pokud jste například vybrali nástroj pro získání informací o objednávce, můžete požádat agenta o objednávce.

    Get information for order 2
    

    Výběrem možnosti Pokračovat zobrazíte výsledky. Agent používá nástroj k volání serveru MCP a vrací výsledky v chatu.

    Snímek obrazovky s výsledky chatu v editoru Visual Studio Code

Řešení problémů a známé problémy

Problém Příčina Řešení
401 Unauthorized chyba z back-endu Autorizační hlavička se nepřesměruje V případě potřeby použijte set-header zásadu k ručnímu připojení tokenu.
Volání rozhraní API funguje ve službě API Management, ale v agentu selže Nesprávná základní adresa URL nebo chybějící token Pečlivě zkontrolujte zásady zabezpečení a koncový bod.
Streamování serveru MCP selže, když jsou povolené diagnostické protokoly Protokolování těla odpovědi nebo přístupu k textu odpovědi prostřednictvím zásad koliduje s přenosem MCP Zakázání protokolování textu odpovědi v oboru Všechna rozhraní API – viz Požadavky