Dela via


Använda MCP-servrar

Model Context Protocol (MCP) är en öppen standard som gör det möjligt för AI-modeller att interagera med externa verktyg och tjänster via ett enhetligt gränssnitt. I Visual Studio förbättrar MCP-stödet GitHub Copilot-agentläget genom att du kan ansluta alla MCP-kompatibla servrar till ditt agentiska kodningsarbetsflöde.

Den här artikeln beskriver hur du konfigurerar MCP-servrar och använder verktyg med agentläge i Visual Studio.

Förutsättningar

  • Visual Studio 2022 version 17.14 eller senare. Vi rekommenderar starkt den senaste serviceversionen av 17.14 eftersom varje version lägger till MCP-funktioner.

Så här utökar MCP och Visual Studio GitHub Copilot-agenten

MCP-stöd i Visual Studio fungerar på följande sätt:

  • MCP-klienter, till exempel Visual Studio, ansluter till MCP-servrar och begär åtgärder för AI-modellens räkning.
  • MCP-servrar tillhandahåller ett eller flera verktyg som exponerar specifika funktioner via ett väldefinierat gränssnitt.
  • Protokollet definierar meddelandeformatet för kommunikation mellan klienter och servrar, inklusive verktygsidentifiering, anrop och svarshantering.

En MCP-server för ett filsystem kan till exempel tillhandahålla verktyg för att läsa, skriva eller söka i filer och kataloger. Den officiella GitHub MCP-servern erbjuder verktyg för att lista lagringsplatser, skapa pull-begäranden eller hantera problem. MCP-servrar kan köras lokalt på datorn eller fjärrhanteras. Visual Studio stöder båda konfigurationerna.

Genom att standardisera den här interaktionen eliminerar MCP behovet av anpassade integreringar mellan varje AI-modell och varje verktyg. Du kan sedan utöka AI-assistentens funktioner genom att helt enkelt lägga till nya MCP-servrar på din arbetsyta. Läs mer om MCP-specifikationen.

Konfigurationsexempel med en GitHub MCP-server

Följande genomgång kräver version 17.14.9 eller senare.

  1. Skapa en ny fil: <SOLUTIONDIR>\.mcp.json eller %USERPROFILE%\.mcp.json. Vi rekommenderar att du använder Visual Studio för att redigera den här filen så att dess JSON-schema tillämpas automatiskt.

  2. Klistra in följande innehåll i .mcp.json filen:

    {
      "servers": {
        "github": {
          "url": "https://api.githubcopilot.com/mcp/"
        }
      }
    }
    
  3. Spara filen. Aktivera sedan CodeLens-informationen som visas över den nya servern för att autentisera till den här servern via ett GitHub-konto.

  4. I Visual Studio väljer du pilen Fråga i GitHub Copilot Chat-fönstret och väljer sedan Agent.

    Skärmbild som visar väljaren för Copilot-agentläge.

  5. Välj de verktyg som du vill använda. Till exempel Lista problem.

    Skärmbild som visar MCP GitHub-verktyg.

  6. Prova en exempelprompt: Lista problem som tilldelats mig på GitHub.

  7. Copilot ber om behörighet att använda ett verktyg som MCP-servern har gjort tillgängligt för den. Välj Tillåt med det omfång som du vill fortsätta med.

    Skärmbild som visar bekräftelsealternativ för agentverktyg.

MCP-funktioner som stöds

Visual Studio stöder följande MCP-funktioner:

  • Alternativen för MCP-servertransport är lokala standardindata/utdata (stdio), serverutskickade händelser (sse) och strömmande HTTP (http).
  • För närvarande, av de tre primitiverna (verktyg, uppmaningar, resurser), kan servrar endast tillhandahålla verktyg till Copilot-agentläge. Du kan dynamiskt uppdatera listan och beskrivningarna av verktyg med hjälp av liständringshändelser.
  • Visual Studio tillhandahåller servrar med de aktuella lösningsmapparna genom att använda roots (specifikation).
  • För MCP-auktorisering stöder Visual Studio autentisering för fjärrservrar med valfri OAuth-provider.

Hitta MCP-servrar

Den officiella MCP-serverlagringsplatsen är en bra startpunkt för referensservrar, officiella servrar och community-bidragna servrar som visar MCP:s mångsidighet. Du kan utforska servrar för olika funktioner, till exempel filsystemåtgärder, databasinteraktioner och webbtjänster.

MCP är en relativt ny standard och ekosystemet utvecklas snabbt. När fler utvecklare använder MCP kan du förvänta dig att se ett ökande antal servrar och verktyg som är tillgängliga för integrering med dina projekt.

Alternativ för att lägga till en MCP-server

Du har flera alternativ för att lägga till en MCP-server i Visual Studio.

Installera från webben

Med den senaste serviceversionen av version 17.14 har Visual Studio stöd för direktinstallation av MCP-servrar. Du kan välja knappen Installera på en MCP-server för att automatiskt lägga till den i Visual Studio-instansen.


Lägg till en installationsknapp för en MCP-server
  1. Skriv mcp-serverkonfigurationen i JSON.

    Här är ett HTTP/SSE-serverexempel:

    {"name":"My Server","type":"http","url":"https://example.com/mcp/"} 
    

    Här är ett stdio-serverexempel:

    {"name":"My Server","type":"stdio","command":"python","args":["-m","my_mcp.server"]}
    

    Obligatoriska fält är:

    Fält Description
    name Vänligt namn för servern
    type Serveranslutningstyp, till exempel http eller stdio
    url URL för servern, som krävs för http
    command Kommando för att starta den körbara servern, som krävs för stdio
    args Matris med argument som skickas till kommandot, som krävs för stdio
  2. URL-koda för JSON. Du kan använda en onlinekodare eller din webbläsarkonsol.

    Här är ett exempel på webbläsarkonsolen:

    encodeURIComponent('{"name":"My Server","type":"http","url":"https://example.com/mcp/"}')
    
  3. Infoga den URL-kodade JSON-filen i MCP-URI-formatet för att skapa en Visual Studio-installationslänk. Använd det här formatet:

    vsweb+mcp:/install?<ENCODED_JSON>
    
  4. Lägg till Markdown-märket i din GitHub-lagringsplats eller dina dokument. Till exempel:

    [![Install MCP Server in Visual Studio](https://img.shields.io/badge/Install%20in%20Visual%20Studio-blue?logo=visualstudio)](vsweb+mcp:/install?<ENCODED_JSON>)
    

När en användare väljer märket öppnas Visual Studio (eller uppmanar dig att öppna det). Dialogrutan för MCP-installation visas förifylld med dina serverdetaljer.


Lägg till från chattvyn

Med Visual Studio version 17.14.13 eller senare kan du lägga till en MCP-server från chattvyn i Visual Studio.

Så här lägger du till en MCP-server från chattvyn:

  1. Välj den gröna plusknappen (+) i verktygsväljaren i chattfönstret.

    Skärmbild av plusknappen i verktygsväljaren för Visual Studio-chatten för att lägga till MCP-server.

  2. Ange servernamn och anslutningsinformation, till exempel URL:en för HTTP-servrar eller kommandot och argumenten för stdio-servrar.

    Skärmbild som visar hur du lägger till en MCP-server från chattvyn.

Skapa en fil för att hantera konfigurationen av MCP-servrar

Om du inte redan har en mcp.json fil skapar du en på någon av de platser som stöds baserat på lagringsplatsen, användaren eller redigerarens krav.

Om du vill lägga till en MCP-server letar du reda på serverns JSON-konfiguration online. Du kan till exempel hitta den på GitHub-lagringsplatsen för MCP-servrar. Klistra sedan in den i din mcp.json-fil.

Filplatser för automatisk identifiering av MCP-konfiguration

Visual Studio söker också efter MCP-konfigurationer som andra utvecklingsmiljöer har konfigurerat. Konfigurationerna för MCP-servern läses från följande kataloger i följande ordning:

  1. %USERPROFILE%\.mcp.json
    Fungerar som en global MCP-serverkonfiguration för en specifik användare. Om du lägger till en MCP-server här läses den in för alla Visual Studio-lösningar.
  2. <SOLUTIONDIR>\.vs\mcp.json
    Specifikt för Visual Studio och läser endast in de angivna MCP-servrarna för en specifik användare för den angivna lösningen.
  3. <SOLUTIONDIR>\.mcp.json
    Fungerar bra om du letar efter en MCP-konfiguration som du kan spåra i källkontrollen för en lagringsplats.
  4. <SOLUTIONDIR>\.vscode\mcp.json
    Begränsad till lagringsplatsen/lösningen och vanligtvis inte källkontrollerad.
  5. <SOLUTIONDIR>\.cursor\mcp.json
    Begränsad till lagringsplatsen/lösningen och vanligtvis inte källkontrollerad.

Vissa av dessa platser kräver .mcp.json, medan andra kräver mcp.json.

MCP-konfigurationsformat

Du kan definiera både fjärrservrar (URL och autentiseringsuppgifter) och lokala servrar (kommandoradsanrop).

Det är vanligt att anropa verktyg via pakethanterare. till exempel, npx -y @azure/mcp@latest eller docker run ... mcp/github. Visual Studio respekterar det kommando du anger, så att du kan låsa versioner eller överföra flaggor efter behov.

Formatet måste följa MCP-specifikationen. Den måste till exempel innehålla en matris med serverobjekt, var och en med name, command eller urloch transport.

Redigera MCP-konfiguration

Med en befintlig mcp.json fil lägger du till filplatsen i Lösningsobjekt i Solution Explorer om du kontrollerar filen i versionskontrollsystemet.

När filen sparas med giltig syntax startar GitHub Copilot-agenten om och läser in de konfigurerade servrarna igen.

Skärmbild som visar hur du lägger till platsen för MCP-konfigurationsfilen i Lösningsobjekt.

Verktygslivscykel

Så snart en server har identifierats eller lagts till:

  • Visual Studio initierar servern genom att utföra ett handslag och köra frågor mot verktygslistan.
  • Visual Studio prenumererar på MCP-händelsen notifications/tools/list_changed.
  • När händelsen utlöses återställer Visual Studio alla tidigare godkännanden eller behörigheter för verktyg (för att förhindra rug-pull-attacker ), hämtar verktygslistan igen och uppdaterar antalet/användargränssnittet live.
  • När servern har aktiverats blir verktyg tillgängliga för agenten. Verktygen är inaktiverade som standard och måste aktiveras manuellt.
  • Om en server tas bort stoppar Visual Studio omedelbart processen och drar tillbaka alla verktyg från användargränssnittet.
  • Om du redigerar en serverdefinition avslutar och startar Visual Studio om den och frågar sedan igen.

Hantering av verktygsgodkännanden

När ett verktyg anropas begär Copilot bekräftelse för att köra verktyget. Anledningen är att verktyg kan köras lokalt på datorn och utföra åtgärder som ändrar filer eller data.

Efter ett verktygsanrop använder du listrutealternativen Tillåt i chattfönstret. Du kan automatiskt bekräfta det specifika verktyget för den aktuella sessionen, den aktuella lösningen eller alla framtida anrop.

Skärmbild som visar godkännanden av agentverktyg.

Du kan återställa verktygsbekräftelseval i Verktyg>Alternativ>GitHub>Copilot>Verktyg.

Skärmbild som visar konfigurationsinställningar för verktyg.

Hantera auktorisering

Visual Studio stöder nu autentisering för fjärrservrar med valfri OAuth-provider, i enlighet med MCP-auktoriseringsspecifikationen. Det här stödet är utöver integrering med Visual Studio-nyckelringen.

Så här hanterar du autentisering för en MCP-server:

  1. .mcp.json I filen väljer du Hantera autentisering för servern från CodeLens.

  2. Ange autentiseringsuppgifter för den nödvändiga OAuth-providern för servern i webbläsarens popup-dialogruta.

Vanliga frågor

Hur styr jag som administratör användningen av MCP-servrar i agentläge för Visual Studio-användare?

GitHub-principinställningarna på GitHub Copilot-instrumentpanelen för administratörer styr agentläget och MCP-användningen i Visual Studio. Om administratören inaktiverar den här inställningen kan användare under den prenumerationen inte använda agentläge eller ansluta till MCP-servrar i Visual Studio.

Mer information finns i Hantera principer och funktioner för GitHub Copilot i ditt företag.