Skip to content

Commit bfa7498

Browse files
committed
Merge remote-tracking branch 'origin/main' into sse-message
# Conflicts: # src/ModelContextProtocol/Shared/McpSession.cs
2 parents db2178c + f1af251 commit bfa7498

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+1064
-422
lines changed

Directory.Packages.props

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@
3333
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="$(MicrosoftExtensionsVersion)" />
3434
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
3535
<PackageVersion Include="Moq" Version="4.20.72" />
36+
<PackageVersion Include="OpenTelemetry" Version="1.11.2" />
37+
<PackageVersion Include="OpenTelemetry.Exporter.InMemory" Version="1.11.2" />
3638
<PackageVersion Include="Serilog.Extensions.Hosting" Version="9.0.0" />
3739
<PackageVersion Include="Serilog.Extensions.Logging" Version="9.0.0" />
3840
<PackageVersion Include="Serilog.Sinks.Console" Version="6.0.0" />

src/ModelContextProtocol/Client/McpClient.cs

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,14 @@ public McpClient(IClientTransport clientTransport, McpClientOptions options, Mcp
4040
throw new InvalidOperationException($"Sampling capability was set but it did not provide a handler.");
4141
}
4242

43-
SetRequestHandler<CreateMessageRequestParams, CreateMessageResult>(
43+
SetRequestHandler(
4444
RequestMethods.SamplingCreateMessage,
4545
(request, cancellationToken) => samplingHandler(
4646
request,
4747
request?.Meta?.ProgressToken is { } token ? new TokenProgress(this, token) : NullProgress.Instance,
48-
cancellationToken));
48+
cancellationToken),
49+
McpJsonUtilities.JsonContext.Default.CreateMessageRequestParams,
50+
McpJsonUtilities.JsonContext.Default.CreateMessageResult);
4951
}
5052

5153
if (options.Capabilities?.Roots is { } rootsCapability)
@@ -55,9 +57,11 @@ public McpClient(IClientTransport clientTransport, McpClientOptions options, Mcp
5557
throw new InvalidOperationException($"Roots capability was set but it did not provide a handler.");
5658
}
5759

58-
SetRequestHandler<ListRootsRequestParams, ListRootsResult>(
60+
SetRequestHandler(
5961
RequestMethods.RootsList,
60-
(request, cancellationToken) => rootsHandler(request, cancellationToken));
62+
rootsHandler,
63+
McpJsonUtilities.JsonContext.Default.ListRootsRequestParams,
64+
McpJsonUtilities.JsonContext.Default.ListRootsResult);
6165
}
6266
}
6367

@@ -88,21 +92,20 @@ public async Task ConnectAsync(CancellationToken cancellationToken = default)
8892
using var initializationCts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken);
8993
initializationCts.CancelAfter(_options.InitializationTimeout);
9094

91-
try
92-
{
93-
// Send initialize request
94-
var initializeResponse = await SendRequestAsync<InitializeResult>(
95-
new JsonRpcRequest
96-
{
97-
Method = RequestMethods.Initialize,
98-
Params = new InitializeRequestParams()
99-
{
100-
ProtocolVersion = _options.ProtocolVersion,
101-
Capabilities = _options.Capabilities ?? new ClientCapabilities(),
102-
ClientInfo = _options.ClientInfo
103-
}
104-
},
105-
initializationCts.Token).ConfigureAwait(false);
95+
try
96+
{
97+
// Send initialize request
98+
var initializeResponse = await this.SendRequestAsync(
99+
RequestMethods.Initialize,
100+
new InitializeRequestParams
101+
{
102+
ProtocolVersion = _options.ProtocolVersion,
103+
Capabilities = _options.Capabilities ?? new ClientCapabilities(),
104+
ClientInfo = _options.ClientInfo
105+
},
106+
McpJsonUtilities.JsonContext.Default.InitializeRequestParams,
107+
McpJsonUtilities.JsonContext.Default.InitializeResult,
108+
cancellationToken: initializationCts.Token).ConfigureAwait(false);
106109

107110
// Store server information
108111
_logger.ServerCapabilitiesReceived(EndpointName,

0 commit comments

Comments
 (0)