Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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
- .NET 8.0 SDK vagy újabb
- Visual Studio Code
- GitHub Copilot-bővítmény a Visual Studio Code-hoz
A projekt létrehozása
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
Nyissa meg a
MinimalMcpServer
könyvtáratcd MinimalMcpServer
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:
Ha még nem tette meg, nyissa meg a projektmappát a Visual Studio Code-ban.
Hozzon létre egy
.vscode
mappát a projekt gyökerénél.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" ] } } }
Mentse a fájlt.
Az MCP-kiszolgáló tesztelése
Nyissa meg a GitHub Copilotot a Visual Studio Code-ban, és váltson ügynök módra.
Az Eszközök kijelölése ikont választva ellenőrizheti, hogy a MinimalMcpServer elérhető-e a felsorolt mindkét eszközzel.
Adjon meg egy kérést a ReverseEcho eszköz futtatásához:
Reverse the following: "Hello, minimal MCP server!"
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.
Ellenőrizze, hogy a kiszolgáló válaszol-e a visszhangzott üzenettel:
!revres PCM laminim ,olleH
Kapcsolódó tartalom
Minimális MCP-ügyfél létrehozása– A .NET AI és a Modellkörnyezeti protokoll használatának első lépései