Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu hızlı başlangıçta, MCP için C# SDK'sını kullanarak en düşük Model Bağlam Protokolü (MCP) sunucusu oluşturacak ve GitHub Copilot kullanarak bu sunucuya bağlanacaksınız. MCP sunucuları, Model Bağlam Protokolü (MCP) aracılığıyla istemcilerin özelliklerini kullanıma sunan hizmetlerdir.
Önkoşullar
- .NET 8.0 SDK veya üzeri
- Visual Studio Code
- Visual Studio Code için GitHub Copilot uzantısı
Projeyi oluşturma
Terminal penceresinde, uygulamanızı oluşturmak istediğiniz dizine gidin ve komutuyla
dotnet new
yeni bir konsol uygulaması oluşturun:dotnet new console -n MinimalMcpServer
Dizine
MinimalMcpServer
gidin:cd MinimalMcpServer
Aşağıdaki NuGet paketlerini uygulamanıza ekleyin:
dotnet add package ModelContextProtocol --prerelease dotnet add package Microsoft.Extensions.Hosting
- ModelContextProtocol paketi, Model Bağlam Protokolü ile çalışmaya yönelik resmi C# SDK'dır.
- Microsoft.Extensions.Hosting paketi, kaydetme ve bağımlılık enjeksiyonu için genel .NET altyapı sağlayıcıları ve hizmetleri sunar.
Uygulama kodunu ekleme
Minimal bir MCP sunucusunu uygulayarak basit yankı işlevlerini sunmak için Program.cs
'nin içeriğini aşağıdaki kodla değiştirin. Yapay zeka modeli, kullanıcı istemlerine yanıt oluşturmak için gerektiğinde bu araçları çağırır.
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());
}
Önceki kod:
- Bağımlılık ekleme, günlüğe kaydetme ve yapılandırma için genel bir konak oluşturucu oluşturur.
- MCP istemcileriyle daha iyi entegrasyon için günlüğe kaydetme yapılandırılır.
- MCP sunucusunu kaydeder, stdio aktarım kullanacak şekilde yapılandırır ve takım tanımları için derlemeyi tarar.
- MCP sunucusunu başlatan ana bilgisayarı oluşturur ve çalıştırır.
- Değerleri istemciye geri yankılayan iki MCP aracını tutmak için statik bir sınıf tanımlar.
Visual Studio Code'da MCP sunucusunu yapılandırma
Visual Studio Code için GitHub Copilot'ı özel MCP sunucunuzu kullanacak şekilde yapılandırın:
Henüz açmadıysanız proje klasörünüzü Visual Studio Code'da açın.
Projenizin kökünde bir
.vscode
klasör oluşturun.Klasöre aşağıdaki içeriğe sahip bir
mcp.json
dosya.vscode
ekleyin:{ "inputs": [], "servers": { "MinimalMcpServer": { "type": "stdio", "command": "dotnet", "args": [ "run", "--project", "${workspaceFolder}/MinimalMcpServer.csproj" ] } } }
Dosyayı kaydedin.
MCP sunucusunu test edin
Visual Studio Code'da GitHub Copilot'ı açın ve aracı moduna geçin.
MinimalMcpServer'ınızın her iki araçta da listelendiğini doğrulamak için Araçları seç simgesini seçin.
ReverseEcho aracını çalıştırmak için bir istem girin:
Reverse the following: "Hello, minimal MCP server!"
GitHub Copilot, isteminiz için ReverseEcho aracını çalıştırmak için izin ister. Devam'ı seçin veya daha belirli bir davranış seçmek için oku kullanın:
- Geçerli oturum her zaman işlemi geçerli GitHub Copilot Aracı Modu oturumunda çalıştırır.
- Geçerli çalışma alanı, her zaman geçerli Visual Studio Code çalışma alanı için komutu çalıştırır.
- Her zaman izin ver , işlemi her zaman herhangi bir GitHub Copilot Aracı Modu oturumu veya herhangi bir Visual Studio Code çalışma alanı için çalışacak şekilde ayarlar.
Sunucunun yankılanan iletiyle yanıt verdiğini doğrulayın:
!revres PCM laminim ,olleH
İlgili içerik
En düşük MCP istemcisi oluşturma.NET AI ve Model Bağlam Protokolü ile çalışmaya başlama