Snabbstart: Skapa en hostad MCP-server i Connector Namespace (förhandsvisning)

Important

Den här förhandsgranskningsfunktionen omfattas av de kompletterande användningsvillkoren för Förhandsversioner av Microsoft Azure.

Under förhandsvisningen finns hostade MCP-servrar tillgängliga i följande regioner: Västra centrala USA, Östasien, Centrala USA och Nordeuropa.

I denna quickstart skapar du en hostad Model Context Protocol (MCP)-server i Connector Namespace och kopplar den till MCP-klienter. Använd serverväljaren överst på den här sidan för att välja den server som du vill distribuera.

MCP-servrar är en förstklassig resurs i Connector Namespace. Namnrymd för anslutningsappar är en helt hanterad tjänst som hanterar anslutningsappar, anslutningar, utlösare och MCP-servrar.

När du skapar en värdbaserad MCP-server i ett namnområde kör plattformen en fördefinierad avbildning av servern i dedikerad beräkning som den etablerar. Du styr serverkonfiguration, miljövariabler och parametrar. Namnområdet hanterar hantering av värd-, skalnings- och autentiseringsuppgifter. AI-agenter som Copilot, anpassade agenter eller mcp-medvetna klienter identifierar och anropar serverns verktyg med hjälp av namnområdets anslutningsmodell.

Värdbaserade MCP-servrar skiljer sig från hanterade MCP-servrar, som är implementeringar som hanteras av plattformen och bygger på anslutningar. Namnområdet hanterar verktygsdefinitioner och konfiguration för hanterade servrar.

Distribuera med hjälp av Azure Developer CLI

Det enklaste sättet att distribuera en SQL MCP-server är att gå till azure-sql-mcp-exemplet och följa README-instruktionerna för att distribuera med Azure Developer CLI eller azd. Exemplet innehåller bicep-filer som låter dig provisionera ett Connector Namespace, SQL MCP-server, SQL-databas och andra nödvändiga Azure-resurser med bara ett kommando.

Om du föredrar att stegvis distribuera en SQL MCP-server och nödvändiga resurser från början till slut, följ instruktionerna nedan.

Förutsättningar

Initiera SQL-databasen

  1. I Azure-portalen går du till DIN SQL-databas (inte servern).

  2. På den vänstra menyn väljer du Frågeredigeraren och loggar in som databasadministratör.

  3. Välj Ny fråga och kör följande kommando för att fylla databasen med initialdata:

    CREATE TABLE dbo.Books
    (
       Id int IDENTITY(1,1) PRIMARY KEY,
       Title nvarchar(200) NOT NULL
    );
    
    INSERT INTO dbo.Books (Title) VALUES (N'The little prince');
    INSERT INTO dbo.Books (Title) VALUES (N'Pride and prejudice');
    

Generera DAB-konfigurationsfilen

Den SQL-värdbaserade MCP-servern bygger på Data API builder (DAB), som tillhandahåller ett säkert data-API för databasen och gör dess entiteter (tabeller) tillgängliga som MCP-verktyg. Servern kräver en DAB-konfigurationsfil som definierar databasanslutningen och entiteterna som ska exponeras.

  1. Generera en DAB-konfigurationsfil för databasen och aktivera endast MCP:

    dab init --database-type "mssql" --host-mode "Development" --graphql.enabled false --rest.enabled false --connection-string "<your-sql-connection-string>"
    

    Eftersom servern får åtkomst till den underliggande databasen med hjälp av en systemtilldelad managed identity (SAMI), bör reťazec pripojenia se ut som följande exempel:

    Server=<your-sql-server>.database.windows.net;Database=<your-database>;Authentication=Active Directory Default;Encrypt=True;TrustServerCertificate=False;
    
  2. Lägg till entiteten Böcker och relaterad behörighet:

    dab add Books --source "dbo.Books" --permissions "anonymous:*"
    

    Mer information om hur du konfigurerar entiteter och behörigheter finns i Auktorisering av data-API-byggare.

    Här är ett exempel på en konfigurationsfil:

    {
       "$schema": "https://github.com/Azure/data-api-builder/releases/download/v1.7.93/dab.draft.schema.json",
       "data-source": {
          "database-type": "mssql",
          "connection-string": "Server=<your-sql-server>.database.windows.net;Database=<your-database>;Authentication=Active Directory Default;Encrypt=True;TrustServerCertificate=False;",
          "options": {
             "set-session-context": false
          }
       },
       "runtime": {
          "rest": {
             "enabled": false,
             "path": "/api",
             "request-body-strict": true
          },
          "graphql": {
             "enabled": false,
             "path": "/graphql",
             "allow-introspection": true
          },
          "mcp": {
             "enabled": true,
             "path": "/mcp"
          },
          "host": {
             "cors": {
                "origins": [],
                "allow-credentials": false
             },
             "authentication": {
                "provider": "AppService"
             },
             "mode": "development"
          }
       },
       "entities": {
          "Books": {
             "source": {
                "object": "dbo.Books",
                "type": "table"
             },
             "graphql": {
                "enabled": true,
                "type": {
                   "singular": "Books",
                   "plural": "Books"
                }
             },
             "rest": {
                "enabled": true
             },
             "permissions": [
                {
                   "role": "anonymous",
                   "actions": [
                      {
                      "action": "*"
                      }
                   ]
                }
             ]
          }
       }
    }
    

Skapa en värdbaserad MCP-server

  1. Logga in på Azure-portalen.

  2. Sök efter din namnområdesresurs för anslutningsprogrammet .

  3. Välj Anslut till namnområde för att öppna namnområdesportalen på en ny webbläsarflik.

  4. När du omdirigeras loggar du in med hjälp av din Microsoft-konto som är associerad med namnområdet.

  5. Leta efter avsnittet MCP-anslutningsprogram i namnområdesinstansen och välj knappen + Skapa .

  1. Sök efter Playwright och välj den för att skapa servern.
  1. Sök efter SQL MCP Server och välj den för att skapa servern.

  2. I fönstret skapa väljer du Hantera identitet för den utgående autentiseringsmetoden.

  3. Ladda upp DAB-konfigurationsfilen som genererades tidigare.

  4. Välj Skapa.

Vänta tills den nödvändiga anslutningen och servern har etablerats och distribuerats. Stäng inte dialogrutan Skapa efter distributionen. Du konfigurerar en Application Insights-resurs för att samla in telemetri från servern.

Aktivera övervakning på servern

  1. Öppna en annan flik för att hämta reťazec pripojenia för din Application Insights-resurs i Azure-portalen.

  2. Gå tillbaka till namnområdesportalen och välj Aktivera övervakning.

  3. Klistra in reťazec pripojenia i rutan och välj Aktivera.

  4. Välj Klar när Application Insights har konfigurerats.

Du blir automatiskt hänvisad till den distribuerade serverns översiktssida , där du kan hitta slutpunkten. Annars väljer du fliken MCP-anslutningsappar på den vänstra menyn och letar reda på den server som du har distribuerat.

Ge namnområdesidentiteten åtkomst till din databas

Den värdbaserade SQL-servern använder namnområdets SAMI för att komma åt databasen. Du kan aktivera en SAMI när namnområdet skapas.

Om du inte aktiverade en SAMI när du skapade den måste du aktivera den genom att gå till din namnområdesinstans i webbportalen. På den vänstra menyn letar du upp fliken Identitet . Växla den systemtilldelade växlingsknappen till och spara uppdateringen.

Gå till DIN SQL-databas i Azure-portalen, öppna Frågeredigeraren och kör följande kommando för att bevilja åtkomst till den hanterade identiteten:

CREATE USER [<your-connector-namespace-name>] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [<your-connector-namespace-name>];
ALTER ROLE db_datawriter ADD MEMBER [<your-connector-namespace-name>];
GRANT VIEW DEFINITION TO [<your-connector-namespace-name>];

Ersätt <your-connector-namespace-name> med namnet på anslutningsappens namnområdesresurs.

Anslut från GitHub Copilot i Visual Studio Code

  1. Om du vill ansluta din värdbaserade MCP-server till GitHub Copilot i Visual Studio Code lägger du till serverkonfigurationen i MCP-inställningarna:

    {
      "servers": {
        "my-hosted-server": {
          "url": "<your-mcp-endpoint-url>",
          "type": "http"
        }
      }
    }
    

    Ersätt <your-mcp-endpoint-url> med slutpunkts-URL:en som du kopierade från serverns översiktssida .

  2. Välj Starta ovanför servernamnet. Du uppmanas att autentisera med Microsoft. Logga in med den e-postadress som du använde för att logga in på Azure portalen.

  3. Kontrollera att antalet tillgängliga verktyg visas ovanför servernamnet.

  1. Öppna Copilot-agent läge och fråga "Vad är den närmaste pizzerian till 11 Times Square?"
  1. Öppna Copilot-agent läge och fråga "Vilka tabeller är tillgängliga?"

Ansluta från MCP Inspector

  1. Kör följande i terminalen:

    az login
    
  2. Hämta en åtkomsttoken från sessionen az login för att ansluta till servern:

    MCP_TOKEN=$(az account get-access-token --resource https://apihub.azure.com --query accessToken -o tsv)
    
  3. Gör ett anrop till servern för att hämta en lista över verktyg:

    npx @modelcontextprotocol/inspector --cli \
    "<your-mcp-endpoint-url>" \
    --transport http \
    --method tools/list \
    --header "Authorization: Bearer $MCP_TOKEN"
    
  1. Anropa ett specifikt verktyg. Följande kommando anropar browser_navigate till exempel verktyget:

    npx @modelcontextprotocol/inspector --cli \
    "<your-mcp-endpoint-url>" \
    --transport http \
    --method tools/call \
    --tool-name browser_navigate \
    --tool-arg url="https://www.google.com/search?q=pizza+near+11+Times+Square+New+York" \
    --header "Authorization: Bearer $MCP_TOKEN"
    
  1. Anropa ett specifikt verktyg. Följande kommando anropar describe_entities till exempel verktyget för att lista tillgängliga entiteter:

    npx @modelcontextprotocol/inspector --cli \
    "<your-mcp-endpoint-url>" \
    --transport http \
    --method tools/call \
    --header "Authorization: Bearer $MCP_TOKEN" \
    --tool-name describe_entities \
    --tool-arg 'nameOnly=true'
    
  2. Anropa verktyget read_records för att hämta poster från en entitet (Books):

    npx @modelcontextprotocol/inspector --cli \
    "<your-mcp-endpoint-url>" \
    --transport http \
    --method tools/call \
    --header "Authorization: Bearer $MCP_TOKEN" \
    --tool-name read_records \
    --tool-arg 'entity=Books' \
    --tool-arg 'first=2'
    

Important

Att skicka åtkomsttoken manuellt är endast lämpligt för lokal utveckling och testning. I produktionsscenarier använder du hanterade identiteter eller OAuth-flöden för att hämta token automatiskt.

Visa serverloggar

  1. Gå till Azure-portalen och leta reda på den Application Insights-resurs som du konfigurerade med MCP-servern.

  2. På den vänstra menyn hittar du Undersök>sökning.

  3. Ange filtret Lokal tid längst upp till de senaste 30 minuterna. Visa loggarna som spårningar eller enskilda objekt.

Felsöka SQL-servern

Om din värdbaserade SQL MCP-server inte ansluter eller returnerar data som förväntat kontrollerar du följande:

  • DAB-konfigurationsfil. Bekräfta att den uppladdade DAB-konfigurationsfilen är giltig, använder rätt reťazec pripojenia och definierar de entiteter och behörigheter som du förväntar dig att exponera.
  • Systemtilldelad hanterad identitet. Kontrollera att en SAMI är aktiverad i namnområdet. Gå till din namnområdesinstans i webbportalen, välj fliken Identitet och bekräfta att Systemtilldelad är inställt på På.
  • Databasåtkomst. Kontrollera att namnområdesidentiteten beviljas åtkomst till databasen. Se Bevilja namnområdesidentiteten åtkomst till databasen.