Udostępnij przez


Rozpocznij pracę z AI .NET i protokołem kontekstu modelu

Model Context Protocol (MCP) to otwarty protokół przeznaczony do standaryzacji integracji między aplikacjami sztucznej inteligencji a zewnętrznymi narzędziami i źródłami danych. Korzystając z mcP, deweloperzy mogą zwiększyć możliwości modeli sztucznej inteligencji, umożliwiając im tworzenie bardziej dokładnych, odpowiednich i kontekstowych odpowiedzi.

Na przykład przy użyciu programu MCP możesz połączyć llM z zasobami, takimi jak:

  • Bazy danych dokumentów lub usługi przechowywania.
  • Internetowe interfejsy API, które udostępniają dane biznesowe lub logikę.
  • Narzędzia do zarządzania plikami lub wykonywania zadań lokalnych na urządzeniu użytkownika.

Wiele produktów firmy Microsoft już obsługuje mcp, w tym:

Możesz użyć zestawu SDK C# MCP , aby szybko utworzyć własne integracje MCP i przełączać się między różnymi modelami sztucznej inteligencji bez znaczących zmian w kodzie.

Architektura klienta-serwera MCP

McP używa architektury klient-serwer, która umożliwia aplikacji opartej na sztucznej inteligencji (hosta) nawiązywanie połączenia z wieloma serwerami MCP za pośrednictwem klientów MCP:

  • Hosty MCP: narzędzia sztucznej inteligencji, edytory kodu lub inne oprogramowanie, które rozszerzają modele sztucznej inteligencji przy użyciu zasobów kontekstowych za pośrednictwem mcP. Na przykład narzędzie GitHub Copilot w programie Visual Studio Code może pełnić rolę hosta MCP i używać klientów i serwerów MCP, aby rozszerzyć swoje możliwości.
  • Klienci MCP: klienci używany przez aplikację hosta do łączenia się z serwerami MCP w celu pobrania danych kontekstowych.
  • Serwery MCP: usługi, które udostępniają funkcje klientom za pośrednictwem MCP. Na przykład serwer MCP może zapewnić abstrakcję dla interfejsu API REST lub lokalnego źródła danych, aby dostarczyć dane biznesowe do modelu AI.

Na poniższym diagramie przedstawiono tę architekturę:

Diagram przedstawiający wzorzec architektury mcp, w tym hosty, klientów i serwery.

Klient i serwer MCP mogą wymieniać zestaw standardowych komunikatów:

Komunikat Opis
InitializeRequest To żądanie jest wysyłane przez klienta do serwera po pierwszym nawiązaniu połączenia z prośbą o rozpoczęcie inicjowania.
ListToolsRequest Wysłane przez klienta w celu zażądania listy narzędzi, które ma serwer.
CallToolRequest Używany przez klienta do wywoływania narzędzia dostarczonego przez serwer.
ListResourcesRequest Wysłane przez klienta w celu zażądania listy dostępnych zasobów serwera.
ReadResourceRequest Wysłane przez klienta do serwera w celu odczytania określonego identyfikatora URI zasobu.
ListPromptsRequest Klient wysyła żądanie do serwera o listę dostępnych monitów i szablonów monitów.
GetPromptRequest Używany przez klienta do wyświetlania monitu dostarczonego przez serwer.
PingRequest Polecenie ping wysłane przez serwer lub klienta, aby sprawdzić, czy druga strona jest nadal aktywna.
CreateMessageRequest Żądanie przez serwer do próbkowania usługi LLM za pośrednictwem klienta. Klient ma pełną swobodę wyboru modelu. Klient powinien również poinformować użytkownika przed rozpoczęciem próbkowania, aby umożliwić im sprawdzenie żądania (człowieka w pętli) i zdecydować, czy go zatwierdzić.
SetLevelRequest Żądanie klienta do serwera w celu włączenia lub dostosowania rejestrowania.

Programowanie przy użyciu zestawu SDK C# MCP

Jako deweloper platformy .NET możesz użyć programu MCP, tworząc klientów i serwery MCP, aby ulepszyć aplikacje przy użyciu integracji niestandardowych. McP zmniejsza złożoność związaną z łączeniem modelu sztucznej inteligencji z różnymi narzędziami, usługami i źródłami danych.

Oficjalny zestaw SDK C# MCP jest dostępny za pośrednictwem narzędzia NuGet i umożliwia tworzenie klientów i serwerów MCP dla aplikacji i bibliotek platformy .NET. Zestaw SDK jest utrzymywany przez współpracę między firmą Microsoft, antropią i organizacją protokołu open protocol MCP.

Aby rozpocząć, dodaj zestaw SDK C# MCP do projektu:

dotnet add package ModelContextProtocol --prerelease

Zamiast tworzyć unikatowe łączniki dla każdego punktu integracji, często można korzystać ze wstępnie utworzonych integracji z różnych dostawców, takich jak GitHub i Docker, lub odwoływać się do nich:

Integracja z Microsoft.Extensions.AI

Zestaw SDK C# MCP zależy od bibliotek Microsoft.Extensions.AI do obsługi różnych interakcji i zadań sztucznej inteligencji. Te biblioteki rozszerzeń udostępniają podstawowe typy i abstrakcje do pracy z usługami sztucznej inteligencji, dzięki czemu deweloperzy mogą skupić się na kodowaniu pod kątem koncepcyjnych funkcji sztucznej inteligencji, a nie określonych platform lub implementacji dostawców.

Wyświetl zależności zestawu SDK C# MCP na stronie pakietu NuGet.

Więcej zasobów programistycznych programu .NET MCP

Różne narzędzia, usługi i zasoby szkoleniowe są dostępne w ekosystemach platformy .NET i platformy Azure, które ułatwiają tworzenie klientów i serwerów MCP lub integrację z istniejącymi serwerami MCP.

Rozpocznij pracę z następującymi narzędziami programistycznymi:

  • Platforma Agent Framework obsługuje integrację z serwerami MCP, umożliwiając agentom dostęp do zewnętrznych narzędzi i usług. Struktura agentów współpracuje z oficjalnym zestawem SDK C# MCP, aby umożliwić agentom łączenie się z serwerami MCP, pobieranie dostępnych narzędzi i używanie ich za pomocą wywołania funkcji w celu rozszerzenia możliwości agenta za pomocą zewnętrznych źródeł danych i usług.
  • Zdalne serwery MCP usługi Azure Functions łączą standardy MCP z elastyczną architekturą usługi Azure Functions. Odwiedź przykładowe repozytorium funkcji remote MCP , aby zapoznać się z przykładami kodu.
  • Usługa Azure MCP Server implementuje specyfikację MCP, aby bezproblemowo łączyć agentów sztucznej inteligencji z kluczowymi usługami platformy Azure, takimi jak Azure Storage, Cosmos DB i nie tylko.

Zobacz także