Почему соединение закрыто со Stdiervertransport, даже если оно работает в VSCODE? ⇐ C#

Место общения программистов C#
Anonymous
Почему соединение закрыто со Stdiervertransport, даже если оно работает в VSCODE?

Сообщение Anonymous »

Я работаю над инструментом, используя ModelContextProtocol в C# (.net 8), и я ставлю разочаровывающую проблему при попытке запустить мой сервер MCP от JetBrains Rider.
Вот настройка:
my program.cs использует witdStdiOserTransport ():
p>
p> p> p> p>
p> precomer.cs.

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

builder.Services.AddMcpServer().WithStdioServerTransport().WithToolsFromAssembly();
< /code>
Я могу просто запустить проект с кода Visual Studio, используя: < /p>
{
"servers": {
"TestMcp": {
"type": "stdio",
"command": "dotnet",
"args": [
"run",
"--project",
"/Path/To/My/Project/Project.csproj"
]
}
}
}
и MCP подключается в vscode без проблем.
Но когда я пытаюсь запустить его из Rider , либо:

[*] с помощью регулярной конфигурации. config) < /li>
< /ul>
Я получаю эту ошибку: < /p>

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

MCP error -1: Connection closed
< /code>
Журнал показывает, что приложение запускается, и даже печатает: < /p>
Application started...
< /code>
so stdin /stdout технически там, -но MCP просто сразу отключается при запуске от Rider.
То же самое происходит, если я сдачу приложение и запускаю его через гонку с Docker Run>. Withstreamservertransport (Console.OpenStandardInput()< /code>,
Console.OpenStandardOutput()
) - та же проблема
[*] вручную промывание потоков с console.out.flush () - все еще нет
luck
[*] Настройка "тип": "stdio" in .mcp.json - не имеет значения в
rider


Подробнее здесь: https://stackoverflow.com/questions/796 ... gh-it-work

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