Megosztás a következőn keresztül:


Minimális MCP-kiszolgáló létrehozása és csatlakoztatása a .NET használatával

Ebben a rövid útmutatóban létrehoz egy minimális Model Context Protocol (MCP) kiszolgálót az MCP-hez készült C# SDK használatával, és a GitHub Copilot használatával csatlakozik hozzá. Az MCP-kiszolgálók olyan szolgáltatások, amelyek a Model Context Protocol (MCP) protokollon keresztül teszik elérhetővé a képességeket az ügyfelek számára.

Előfeltételek

A projekt létrehozása

  1. Egy terminálablakban lépjen arra a könyvtárra, ahol létre szeretné hozni az alkalmazást, és hozzon létre egy új konzolalkalmazást a dotnet new következő paranccsal:

    dotnet new console -n MinimalMcpServer
    
  2. Nyissa meg a MinimalMcpServer könyvtárat

    cd MinimalMcpServer
    
  3. Adja hozzá a következő NuGet-csomagokat az alkalmazáshoz:

    dotnet add package ModelContextProtocol --prerelease
    dotnet add package Microsoft.Extensions.Hosting
    
    • A ModelContextProtocol csomag a hivatalos C# SDK a Model Context Protocol használatához.
    • A Microsoft.Extensions.Hosting csomag az általános .NET-et HostBuilder és szolgáltatásokat biztosítja a naplózáshoz és a függőséginjektáláshoz.

Az alkalmazáskód hozzáadása

Cserélje le a Program.cs tartalmát a következő kóddal, hogy megvalósítson egy minimális MCP-kiszolgálót, amely egyszerű visszhangeszközöket tesz elérhetővé. Az AI-modell szükség szerint meghívja ezeket az eszközöket a felhasználói kérésekre adott válaszok létrehozásához.

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using ModelContextProtocol.Server;
using System.ComponentModel;

// Create a generic host builder for
// dependency injection, logging, and configuration.
var builder = Host.CreateApplicationBuilder(args);

// Configure logging for better integration with MCP clients.
builder.Logging.AddConsole(consoleLogOptions =>
{
consoleLogOptions.LogToStandardErrorThreshold = LogLevel.Trace;
});

// Register the MCP server and configure it to use stdio transport.
// Scan the assembly for tool definitions.
builder.Services
    .AddMcpServer()
    .WithStdioServerTransport()
    .WithToolsFromAssembly();

// Build and run the host. This starts the MCP server.
await builder.Build().RunAsync();

// Define a static class to hold MCP tools.
[McpServerToolType]
public static class EchoTool
{
    // Expose a tool that echoes the input message back to the client.
    [McpServerTool, Description("Echoes the message back to the client.")]
    public static string Echo(string message) => $"Hello from C#: {message}";

    // Expose a tool that returns the input message in reverse.
    [McpServerTool, Description("Echoes in reverse the message sent by the client.")]
    public static string ReverseEcho(string message) => new string(message.Reverse().ToArray());
}

Az előző kód:

  • Létrehoz egy általános gazdagépszerkesztőt a függőséginjektáláshoz, a naplózáshoz és a konfigurációhoz.
  • A naplózás konfigurálása az MCP-ügyfelekkel való jobb integráció érdekében.
  • Regisztrálja az MCP-kiszolgálót, konfigurálja az STDIO transzport használatára, és eszközdefiníciókat keres az assemblyben.
  • Létrehozza és futtatja a szervert, amely elindítja az MCP-kiszolgálót.
  • Egy statikus osztályt határoz meg két MCP-eszköz tárolásához, amelyek az ügyfélnek visszaadják az értékeket.

Az MCP-kiszolgáló konfigurálása a Visual Studio Code-ban

Konfigurálja a GitHub Copilot for Visual Studio Code-ot az egyéni MCP-kiszolgáló használatára:

  1. Ha még nem tette meg, nyissa meg a projektmappát a Visual Studio Code-ban.

  2. Hozzon létre egy .vscode mappát a projekt gyökerénél.

  3. Vegyen fel egy mcp.json fájlt a .vscode mappába a következő tartalommal:

    {
      "inputs": [],
      "servers": {
        "MinimalMcpServer": {
          "type": "stdio",
          "command": "dotnet",
          "args": [
            "run",
            "--project",
            "${workspaceFolder}/MinimalMcpServer.csproj"
          ]
        }
      }
    }
    
  4. Mentse a fájlt.

Az MCP-kiszolgáló tesztelése

  1. Nyissa meg a GitHub Copilotot a Visual Studio Code-ban, és váltson ügynök módra.

  2. Az Eszközök kijelölése ikont választva ellenőrizheti, hogy a MinimalMcpServer elérhető-e a felsorolt mindkét eszközzel.

    Képernyőkép az elérhető MCP-eszközökről.

  3. Adjon meg egy kérést a ReverseEcho eszköz futtatásához:

    Reverse the following: "Hello, minimal MCP server!"
    
  4. A GitHub Copilot engedélyt kér a ReverseEcho eszköz futtatására a kéréshez. Válassza a Folytatás lehetőséget, vagy használja a nyílbillentyűt egy konkrétabb viselkedés kiválasztásához:

    • Az aktuális munkamenet mindig az aktuális GitHub Copilot-ügynök módú munkamenetben futtatja a műveletet.
    • Az aktuális munkaterület mindig az aktuális Visual Studio Code-munkaterület parancsát futtatja.
    • Mindig engedélyezze , hogy a művelet mindig fusson a GitHub Copilot Agent Mode-munkamenetekhez vagy bármely Visual Studio Code-munkaterülethez.
  5. Ellenőrizze, hogy a kiszolgáló válaszol-e a visszhangzott üzenettel:

    !revres PCM laminim ,olleH
    

Minimális MCP-ügyfél létrehozása– A .NET AI és a Modellkörnyezeti protokoll használatának első lépései