Настройка MCP с помощью Microsoft.Extensions.AIC#

Место общения программистов C#
Anonymous
Настройка MCP с помощью Microsoft.Extensions.AI

Сообщение Anonymous »

Использую следующий шаблон Microsoft в качестве основы:
https://devblogs.microsoft.com/dotnet/a ... -preview1/
Я хочу иметь возможность добавить свой локальный сервер stdio MCP в качестве инструмента, но не могу понять, как и возможно ли это.
Кажется, мне не хватает конкретной реализации StdioMcpClient, которая реализует Интерфейс AITools.
Я пробовал использовать типы, определенные в пакете McpDotNet, следующим образом:

Код: Выделить всё

    McpDotNet.Client.McpClientOptions clientOptions = new()
{
ClientInfo = new() { Name = "TestName", Version = "1.0.0" }
};

var serverConfig = new McpServerConfig
{
Id = "demo-server",
Name = "Test MCP",
TransportType = TransportTypes.StdIo,
TransportOptions = new Dictionary
{
["command"] = @"...t"
}
};

using var loggerFactory = LoggerFactory.Create(builder =>
builder.AddConsole().SetMinimumLevel(LogLevel.Information));

var mcpClient =
McpDotNet.Client.McpClientFactory.CreateAsync(serverConfig, clientOptions, loggerFactory: loggerFactory).Result;
Однако возвращаемый mcpClient имеет тип Tool (в пространстве имен McpDotNet), а не Aitool (пространство имен Microsoft.Extensions.AI), поэтому я не могу зарегистрировать его в списке ChatOptions.Tools.
Я также искал в Microsoft.Extensions.AI.Abstractions, но не нашел ничего работающего.
Я не смог найти образец или ссылку на то, как это можно сделать. Может ли кто-нибудь дать некоторую информацию или советы о том, как действовать?

Вернуться в «C#»