Skip to content

Commit 2d437fc

Browse files
committed
Flip stdin and stdout in StreamClientTransport
1 parent 3cdaeec commit 2d437fc

File tree

3 files changed

+12
-12
lines changed

3 files changed

+12
-12
lines changed

tests/ModelContextProtocol.Tests/Client/McpClientExtensionsTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ private async Task<IMcpClient> CreateMcpClientForServer()
3838
{
3939
await _server.StartAsync(TestContext.Current.CancellationToken);
4040

41-
var stdin = new StreamReader(_serverToClientPipe.Reader.AsStream());
42-
var stdout = new StreamWriter(_clientToServerPipe.Writer.AsStream());
41+
var stdin = new StreamWriter(_clientToServerPipe.Writer.AsStream());
42+
var stdout = new StreamReader(_serverToClientPipe.Reader.AsStream());
4343

4444
var serverConfig = new McpServerConfig()
4545
{

tests/ModelContextProtocol.Tests/Configuration/McpServerBuilderExtensionsToolsTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ private async Task<IMcpClient> CreateMcpClientForServer()
4848
{
4949
await _server.StartAsync(TestContext.Current.CancellationToken);
5050

51-
var stdin = new StreamReader(_serverToClientPipe.Reader.AsStream());
52-
var stdout = new StreamWriter(_clientToServerPipe.Writer.AsStream());
51+
var stdin = new StreamWriter(_clientToServerPipe.Writer.AsStream());
52+
var stdout = new StreamReader(_serverToClientPipe.Reader.AsStream());
5353

5454
var serverConfig = new McpServerConfig()
5555
{
@@ -124,7 +124,7 @@ public async Task Can_Create_Multiple_Servers_From_Options_And_List_Registered_T
124124

125125
var client = await McpClientFactory.CreateAsync(
126126
serverConfig,
127-
createTransportFunc: (_, _) => new StreamClientTransport(stdout, stdin),
127+
createTransportFunc: (_, _) => new StreamClientTransport(stdin, stdout),
128128
cancellationToken: TestContext.Current.CancellationToken);
129129

130130
var tools = await client.ListToolsAsync(TestContext.Current.CancellationToken);

tests/ModelContextProtocol.Tests/Transport/StreamClientTransport.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ internal sealed class StreamClientTransport : TransportBase, IClientTransport
1111
private readonly JsonSerializerOptions _jsonOptions = McpJsonUtilities.DefaultOptions;
1212
private Task? _readTask;
1313
private CancellationTokenSource _shutdownCts = new CancellationTokenSource();
14-
private readonly TextReader _stdin;
15-
private readonly TextWriter _stdout;
14+
private readonly TextReader _stdout;
15+
private readonly TextWriter _stdin;
1616

17-
public StreamClientTransport(TextReader stdin, TextWriter stdout)
17+
public StreamClientTransport(TextWriter stdin, TextReader stdout)
1818
: base(NullLoggerFactory.Instance)
1919
{
20-
_stdin = stdin;
2120
_stdout = stdout;
21+
_stdin = stdin;
2222
_readTask = Task.Run(() => ReadMessagesAsync(_shutdownCts.Token), CancellationToken.None);
2323
SetConnected(true);
2424
}
@@ -31,13 +31,13 @@ public override async Task SendMessageAsync(IJsonRpcMessage message, Cancellatio
3131
messageWithId.Id.ToString() :
3232
"(no id)";
3333

34-
await _stdout.WriteLineAsync(JsonSerializer.Serialize(message)).ConfigureAwait(false);
35-
await _stdout.FlushAsync(cancellationToken).ConfigureAwait(false);
34+
await _stdin.WriteLineAsync(JsonSerializer.Serialize(message)).ConfigureAwait(false);
35+
await _stdin.FlushAsync(cancellationToken).ConfigureAwait(false);
3636
}
3737

3838
private async Task ReadMessagesAsync(CancellationToken cancellationToken)
3939
{
40-
while (await _stdin.ReadLineAsync(cancellationToken).ConfigureAwait(false) is string line)
40+
while (await _stdout.ReadLineAsync(cancellationToken).ConfigureAwait(false) is string line)
4141
{
4242
if (!string.IsNullOrWhiteSpace(line))
4343
{

0 commit comments

Comments
 (0)