Ansluta agenter till verktyg från tredje part med MCP Services

Important

Den här funktionen finns i Beta. Kontoadministratörer kan styra åtkomsten till den här funktionen från sidan förhandsversioner av kontokonsolen. Se Hantera förhandsversioner av Azure Databricks.

En MCP-tjänst är en Unity Catalog-skyddsbar som registrerar en extern MCP-server och styr hur agenter använder den. Du adresserar det med dess namn i tre nivåer, catalog.schema.mcp_service, och anropar det via Unity AI Gateway, kontrollplanet som styr AI-trafik.

Om du registrerar en MCP-server som en säkerhetsbar Unity-katalog kan du hantera den med samma primitiver som skyddar dina andra Unity Catalog-tillgångar. Dessa inkluderar bidrag för att styra vem som kan anropa det, val av verktyg för att begränsa vilka verktyg som exponeras, tjänstprinciper för att tillåta eller neka enskilda verktygsanrop samt granskning och användningsloggning för att spåra varje anrop.

Det finns två sätt att använda MCP-tjänster:

Tillvägagångssätt Använd när
Använda en MCP-tjänst som tillhandahålls av Databricks Du vill ha ett vanligt SaaS-verktyg (software-as-a-service) – Slack, GitHub, Google Drive med mera – utan konfiguration. Ingen server att vara värd för och ingen anslutning att skapa.
Registrera din egen externa MCP-server Du har en självvärdad MCP-server eller en MCP-server från tredje part att hantera som ett säkringsbart objekt i Unity Catalog.

MCP Services ansluter agenter till externa tjänster. För Azure Databricks data använder du hanterade MCP-servrar. Använd en anpassad MCP-server för att vara värd för dina egna verktyg.

Tip

Ett fullständigt exempel – registrera GitHub MCP-servern, begränsa dess verktyg, blockera destruktiva anrop med en tjänstprincip och granska användning – följ Självstudie: Styra en kodningsagents GitHub MCP-åtkomst.

Så här fungerar det

En agent anropar en MCP-tjänst via dess URL för Unity AI Gateway och varje anrop flödar genom samma styrda sökväg:

En agent som konfigurerats med en MCP-tjänst-URL anropar tjänsten via Unity AI Gateway. Gatewayen auktoriserar anropet mot MCP-tjänsten i Unity Catalog, som tillämpar principerna EXECUTE-beviljande, val av verktyg och tjänst, och skickar sedan begäran via en HTTP-anslutning för Unity Catalog med hanterade autentiseringsuppgifter till den externa MCP-servern, till exempel GitHub eller Slack. Användnings-, gransknings- och spårningsposter hamnar i systemtabeller.

  1. Anropa: Agenten skickar en MCP-begäran till tjänstens URL för Unity AI Gateway, autentiserad med anroparens Azure Databricks identitet.
  2. Auktorisera och styra: Gatewayen kontrollerar att anroparen har EXECUTE på MCP-tjänsten i Unity Catalog. Tjänsten exponerar endast de verktyg som du har valt och utvärderar alla anslutna tjänstprinciper som kan tillåta, neka eller kräva godkännande för anropet.
  3. Proxy med hanterade autentiseringsuppgifter: Begäran vidarebefordras till den externa MCP-servern via tjänstens HTTP-anslutning. Azure Databricks lagrar autentiseringsuppgifterna och hanterar OAuth-flöden och tokenuppdatering, så att agenten aldrig ser dem.
  4. Logganvändning, granskning och spårningar: Varje anrop registreras i systemtabeller, så att du kan övervaka användnings- och granskningsaktivitet över tid.

Kravspecifikation

  • En arbetsyta aktiverad för Unity Catalog.
  • För att styra en extern MCP-server som en MCP-tjänst aktiveras Unity AI Gateway Beta och förhandsversionen av hanterade MCP-servrar för ditt konto. Se Hantera förhandsversioner av Azure Databricks.

McP-tjänster som tillhandahålls av Databricks

Azure Databricks tillhandahåller färdiga MCP-tjänster i system.ai schemat för vanliga SaaS-program, så att agenter kan nå dessa verktyg utan att vara värd för eller registrera din egen MCP-server. Var och en är en inbyggd MCP-tjänst som du adresserar med dess Unity Catalog-namn. Om du vill ge en agent åtkomst beviljar EXECUTE du tjänsten (till exempel system.ai.github)– ingen anslutning krävs. Inbyggda tjänster levereras med plattformshanterade verktyg och en inbyggd tjänstprincip, till exempel en för att blockera skrivåtgärder. Du styr dem med bidrag i stället för med val av anpassade verktyg eller principfunktioner.

MCP-tjänst Ansluter till
system.ai.slack Slack
system.ai.github GitHub
system.ai.atlassian Jira och Confluence
system.ai.google_drive Google Drive
system.ai.google_calendar Google-kalender
system.ai.gmail Gmail
system.ai.sharepoint Microsoft SharePoint

För Google Drive, Gmail, Google Calendar eller SharePoint hanterar dessa inbyggda tjänster OAuth åt dig, utan att någon appregistrering krävs.

Registrera en extern MCP-server

Registrera din egen externa MCP-server som en MCP-tjänst i fem steg:

  1. Skapa en Unity Catalog-anslutning till MCP-servern.
  2. Skapa MCP-tjänsten från den anslutningen.
  3. Autentisera om anslutningen använder OAuth per användare.
  4. Bevilja åtkomst till dina teammedlemmar.
  5. Anropa tjänsten och styr den sedan med verktygsval och tjänstprinciper.

Den externa MCP-servern måste använda transportmekanismen Streamable HTTP. Du behöver följande behörigheter:

  • Om du vill skapa anslutningen går CREATE CONNECTION du till schemat där du skapar den.
  • För att skapa en MCP-tjänst, USE CATALOG och USE SCHEMA i den överordnade katalogen och schemat, CREATE SERVICE i schemat och USE CONNECTION på den anslutning som MCP-tjänsten refererar till.
  • För att anropa en MCP-tjänst, EXECUTE på MCP-tjänsten, USE CATALOG och USE SCHEMA på den överordnade katalogen och schemat samt tilldelning till arbetsytan där du skickar begäran.

Varning

Att anropa en MCP-tjänst kräver ingen behörighet för den underliggande anslutningenEXECUTE på MCP-tjänsten räcker. Bevilja USE CONNECTION inte slutanvändare: det gör att de kan anropa den externa servern direkt via anslutningen eller registrera sin egen MCP-tjänst på den, kringgå verktygsvalet, tjänstprinciperna och granskning av din MCP-tjänst. Reservera anslutningsåtkomst för tjänstförfattare och administratörer.

Skapa en anslutning

En MCP-tjänst refererar till en HTTP-anslutning för Unity Catalog som lagrar den externa serverns slutpunkt och autentiseringsuppgifter på ett säkert sätt. Azure Databricks kör en hanterad proxy framför den för att hantera autentisering och tokenuppdatering, så att du inte bäddar in autentiseringsuppgifter i din agent eller klientkod.

Skapa anslutningen på schemanivå så att den styrs tillsammans med MCP-tjänsten. Du kan konfigurera den i förväg med stegen nedan eller skapa en när du skapar MCP-tjänsten genom att klicka på Skapa ny anslutning. Anslutningar på metaarkivnivå stöds men rekommenderas inte.

Välj ett av två sätt:

Skapa en HTTP-anslutning

För alla MCP-servrar, inklusive lokalt installerade servrar eller servrar från tredje part:

  1. Gå tillKataloganslutningar>>Skapa anslutning.
  2. Välj HTTP som anslutningstyp.
  3. Ange MCP-serverns URL.
  4. Välj en autentiseringstyp: ägartoken, OAuth M2M, OAuth U2M eller dynamisk klientregistrering. Information om konfiguration finns i Skapa en anslutning till den externa tjänsten.

För hanterade OAuth-leverantörer – Glean, GitHub, Atlassian och Slack – hanterar Azure Databricks autentiseringsuppgifterna, så att du inte registrerar din egen OAuth-app. Se Hanterade OAuth-leverantörer.

Installera från Marketplace

Använd en kuraterad MCP-server från Azure Databricks Marketplace med en förkonfigurerad anslutning. Se Få åtkomst till externa MCP-servrar.

Skapa MCP-tjänsten

Du kan skapa en MCP-tjänst från användargränssnittet eller med REST-API:et. Betaversionen stöder inte SQL DDL för MCP Services.

Användargränssnitt (UI)

  1. I din Azure Databricks arbetsyta går du till AI Gateway>MCP>Registrera MCP Server eller går till Katalog, väljer ett schema och klickar på Skapa>MCP-tjänst.
  2. Ange katalogen, schemat och ett namn för MCP-tjänsten. Det går inte att ändra namnet när det har skapats.
  3. Välj en befintlig HTTP-anslutning till MCP-servern eller klicka på Skapa ny anslutning för att skapa en. Bläddra under ett schema om du vill välja en anslutning på schemanivå; om du vill använda en anslutning på metastore-nivå inaktiverar du Bläddra under ett schema.
  4. Under Verktyg väljer du vilka verktyg som ska vara tillgängliga. Se Välj vilka verktyg som ska exponeras.
  5. Du kan också lägga till en kommentar som beskriver MCP-tjänsten.
  6. Klicka på Skapa. MCP-tjänsten publiceras till den katalog och det schema som du angav.

REST API

Skapa en MCP-tjänst som refererar till en befintlig HTTP-anslutning för Unity Catalog. Ange parent till målschemat och mcp_service_id till tjänstnamnet:

databricks api post \
  "/api/2.1/unity-catalog/mcp-services?parent=schemas/main.default&mcp_service_id=my_mcp" \
  --json '{
    "comment": "External MCP server",
    "config": {
      "connection": {
        "name": "connections/main.default.my_connection"
      },
      "include_tool_selectors": []
    }
  }'

include_tool_selectors styr vilka verktyg tjänsten exponerar. En tom lista visar alla verktyg. Se Välj vilka verktyg som ska exponeras.

Uppdatera en befintlig MCP-tjänst med en PATCH begäran och en update_mask som namnger fälten som ska ändras:

databricks api patch \
  "/api/2.1/unity-catalog/mcp-services/main.default.my_mcp?update_mask=comment" \
  --json '{ "comment": "Updated description" }'

Authenticate

Om MCP-tjänsten refererar till en anslutning som använder OAuth per användare slutför du en engångsinloggning före det första anropet:

  1. Öppna informationssidan för MCP-tjänsten i Katalogutforskaren.
  2. Klicka på Logga in och slutför leverantörens OAuth-medgivandeflöde.
  3. När du har loggat in visar informationssidan automatiskt listan över identifierade verktyg.

Unity Catalog lagrar token mot din identitet. Om du anropar MCP-tjänsten innan du loggar in returnerar AI Gateway ett fel som uppmanar dig att autentisera.

Bevilja åtkomst till gruppmedlemmar

Som standard kan endast MCP-tjänstens ägare anropa den. Bevilja EXECUTE så att andra användare, grupper eller tjänsthuvudnamn kan anropa tjänsten. Ett enda EXECUTE bidrag omfattar alla tjänsters verktyg.

Användargränssnitt (UI)

  1. Öppna MCP-tjänsten i Catalog Explorer, eller gå till AI Gateway>MCP:er och välj tjänsten.
  2. Gå till fliken Behörigheter .
  3. Klicka på Tillåt.
  4. Välj de användare, grupper eller tjänsthuvudnamn som ska ge åtkomst till.
  5. Välj behörigheten KÖR .
  6. Klicka på Tillåt.

REST API

databricks api patch \
  "/api/2.1/unity-catalog/permissions/mcp_service/main.default.my_mcp" \
  --json '{
    "changes": [
      { "principal": "data-team", "add": ["EXECUTE"] }
    ]
  }'

Anropa en MCP-tjänst

Prova en MCP-tjänst i AI Playground, från kommandoraden eller från din agent eller klientkod.

Testa MCP-tjänsten

AI Playground

Testa en MCP-tjänsts verktyg i användargränssnittet utan att skriva kod:

  1. Gå till AI Playground på din Azure Databricks arbetsyta.
  2. Välj en modell med etiketten Verktyg aktiverat .
  3. Klicka på Verktyg > + Lägg till verktyg och välj MCP-servrar.
  4. Välj Externa MCP-servrar och välj sedan MCP-tjänsten.
  5. Chatta med modellen för att se hur den anropar MCP-tjänstens verktyg.

Du kan också testa från Genie Code – se Lägga till MCP-servrar i assistenten.

CURL

För en snabb kommandoradskontroll använder du den genererade begäran på mcp-tjänstens informationssida. Under Kom igång klickar du på Generera åtkomsttoken för att kopiera en åtkomsttoken till begärandeexemplen. Exemplen skickar token som en ägartoken i Authorization rubriken.

Du kan också autentisera Databricks CLI till din arbetsyta och sedan använda databricks auth token för att hämta en OAuth-åtkomsttoken:

databricks auth login --host https://<workspace-url>

Alla begäranden går till samma MCP-tjänstslutpunkt – JSON-RPC method i begärandetexten väljer åtgärden. Visa en lista över de verktyg som tjänsten exponerar:

TOKEN=$(databricks auth token | jq -r .access_token)

curl -s -X POST \
  "https://<workspace-url>/ai-gateway/mcp-services/main.default.my_mcp" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json, text/event-stream" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

Anropa ett verktyg:

curl -s -X POST \
  "https://<workspace-url>/ai-gateway/mcp-services/main.default.my_mcp" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json, text/event-stream" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"<tool_name>","arguments":{}}}'

Använd från agentkod eller en kodagent

Styra en MCP-tjänst

Välj vilka verktyg som ska exponeras

Som standard gör en MCP-tjänst tillgänglig alla verktyg som MCP-servern tillhandahåller. Om du bara vill göra en delmängd tillgänglig väljer du verktygen när du skapar MCP-tjänsten eller uppdaterar markeringen senare. Varje väljare matchas mot verktygsnamn: ett mönster som slutar med * är en prefixmatchning (get_* matchningar get_me och get_issue), och alla andra värden är en exakt matchning (search_repositories matchar endast det verktyget).

Användargränssnitt (UI)

Under Verktyg i skapa-flödet:

  • Välj Välj manuellt för att välja varje verktyg individuellt.
  • Välj Avancerat för att ange markeringsmönster med hjälp av prefixet och reglerna för exakt matchning som beskrivs ovan.
  • Aktivera Inkludera verktyg som läggs till på servern automatiskt i framtiden för att göra nya verktyg tillgängliga när MCP-servern lägger till dem.

REST API

Om du vill ändra verktygsvalet när du har skapat det anger du include_tool_selectors med en PATCH begäran. Begränsa en tjänst till endast get_* verktyg:

databricks api patch \
  "/api/2.1/unity-catalog/mcp-services/main.default.my_mcp?update_mask=config.include_tool_selectors" \
  --json '{
    "config": {
      "include_tool_selectors": ["get_*"]
    }
  }'

Återställ så att alla verktyg blir tillgängliga genom att ange include_tool_selectors som en tom lista.

Verktyg som du inte väljer visas inte i tools/list, och MCP-tjänsten avvisar ett tools/call för ett omarkerat verktyg:

{ "code": -32003, "message": "Tool not allowed by MCP service configuration." }

Använd en tjänstpolicy

En tjänstprincip utvärderar varje verktygsanrop innan det körs (ON CALL) och eventuellt dess resultat (ON RESULT). En princip kan tillåta, neka eller kräva mänskligt godkännande för begäran, till exempel för att blockera destruktiva åtgärder eller blockera anrop som innehåller PII, utan att ändra vilka verktyg som är tillgängliga. Tjänstprinciper är en del av AI-styrningen i Unity Catalog.

Information om hur du skriver en principfunktion och kopplar den till en MCP-tjänst finns i Tjänstprinciper för AI-skyddsbara objekt och Skapa och bifoga en tjänstprincip.

Ange hastighetsgränser

Begränsa hur ofta agenter kan anropa en MCP-tjänst för att kontrollera kostnader och skydda den externa servern. Se Konfigurera hastighetsbegränsningar för AI-tjänster med hjälp av Unity AI Gateway.

Övervaka användning

Unity AI Gateway registrerar aktivitet för varje MCP-tjänst i Unity Catalog-systemtabeller:

  • Användning: anropsvolym, fel och svarstid i system.ai_gateway.usage (filter service_type = 'MCP_SERVICE'). Se Modellanvändning för Unity AI Gateway-tjänster.
  • Revision: kontrollplansändringar (createMcpService, updateMcpService, deleteMcpService) och varje anrop (mcpCall) i system.access.audit. Se referens till systemtabell för granskningslogg.
  • Spårningar: begäranden om verktygsanrop, svar och principbeslut samlas in genom spårningsloggning, som aktiveras en gång på kontonivå och delas över alla MCP-tjänster.
  • Instrumentpanel: extern MCP-servertrafik visas i den inbyggda instrumentpanelen för Unity AI Gateway-användning. Se Inbyggd instrumentpanel för användning.

Alla Systemtabeller i Unity Catalog finns i Referens för systemtabeller. En översikt över styrning av AI-trafik finns i AI-styrning i Unity Catalog.

Autentisering och säkerhet

Azure Databricks använder hanterade MCP-proxyservrar och HTTP-anslutningar i Unity Catalog för att hantera autentisering på ett säkert sätt till externa MCP-servrar.

  • Autentisering med delat huvudnamn: Alla användare delar samma autentiseringsuppgifter vid åtkomst till den externa tjänsten. Detta inkluderar Bearer-token, OAuth Machine-to-Machine (M2M) och OAuth User-to-Machine Shared Authentication. Använd detta när den externa tjänsten inte kräver användarspecifik åtkomst eller när ett enda tjänstkonto är tillräckligt.
  • Autentisering per användare (OAuth U2M per användare): Varje användare autentiserar med sina egna autentiseringsuppgifter. Den externa tjänsten tar emot begäranden för den enskilda användarens räkning, vilket möjliggör användarspecifik åtkomstkontroll, granskning och ansvarsskyldighet. Använd detta när du kommer åt användarspecifika resurser, till exempel en användares GitHub lagringsplatser, Slack-meddelanden eller kalender.

Azure Databricks hanterar OAuth-flöden och tokenuppdatering, så att slutanvändarna inte ser token. Du visar och hanterar dina externa MCP-anslutningar tillsammans med dina LLM-slutpunkter från Unity AI Gateway. Detaljerade konfigurationsinstruktioner för varje autentiseringsmetod finns i HTTP-anslutningar.

Limitations

Under betaversionen gäller följande begränsningar för MCP-tjänster:

  • SQL DDL för MCP Services (till exempel CREATE MCP SERVICE) är inte tillgängligt. Skapa och hantera MCP-tjänster med användargränssnittet eller REST-API:et.
  • Du kan bara registrera externa MCP-servrar som din egen MCP-tjänst. Registrering av Genie-, Apps- eller Unity Catalog-entitetskällor som en MCP-tjänst stöds inte för närvarande. Azure Databricks tillhandahåller även inbyggda MCP-tjänster för vanliga SaaS-appar.
  • Val av verktyg stöder prefix (get_*) och exakta matchningsmönster. Undantagsmönster (till exempel !delete_*) stöds inte.
  • Global sökning i Unity Catalog visar inte MCP-tjänster.

Externa MCP-serveranslutningar har också följande begränsningar:

Nästa steg