Как захватить и сохранить идентификаторы сеанса при использовании сервера модели ContextProtocol (MCP) с SSE в .net? [заC#

Место общения программистов C#
Anonymous
Как захватить и сохранить идентификаторы сеанса при использовании сервера модели ContextProtocol (MCP) с SSE в .net? [за

Сообщение Anonymous »

Я строю сервер MCP (протокол контекста модели) в ядре .NET с SSE Communication. Сервер работает -я могу подключить и получать идентификатор сеанса на первом соединении.
Среда:
.net 8
nuget packages:
modelcontextprotocol --prelease
microsoft. /> код: < /p>

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

Tool.cs

using Microsoft.Extensions.AI;
using ModelContextProtocol;
using ModelContextProtocol.Protocol;
using ModelContextProtocol.Server;
using System.ComponentModel;

namespace Tools;

[McpServerToolType]
public sealed class GreetingTools
{
[McpServerTool, Description("Says Hello to a user")]
public static string Echo(string username)
{
return "Hello " + username;
}
}

Program.cs

using Microsoft.Extensions.DependencyInjection;
using ModelContextProtocol;
using ModelContextProtocol.Server;

var builder = WebApplication.CreateBuilder(args);

// Register MCP server and discover tools from the current assembly
builder.Services.AddMcpServer()
.WithHttpTransport()
.WithToolsFromAssembly();

var app = builder.Build();

// Add MCP middleware
app.MapMcp();

app.Run();
Когда я нажимаю http: // localhost: 5000/sse (через почтальон), сервер генерирует идентификатор сеанса, как:
/message? sessionId = b7ty0l9x9qaxis96s7nopkq
на идентификаторы клиента. /> Проблема:
Мне нужно захватить этот идентификатор сеанса, когда клиент подключается в первый раз, и сохранить его в моей базе данных.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... -mcp-serve

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