Add server-side Streamable HTTP transport support (#330)
- Changes IJsonRpcMessage to an abstract base class so RelatedTransport will always be available - Streamable HTTP supports multiple concurrent HTTP request with their own indpendent SSE response streams - RelatedTransport indicates the source or destination of the JsonRpcMessage - Changes the default RequestId to a JSON number for better compatibility with MCP servers in the wild
This commit is contained in:
parent
7d77be68cf
commit
7dcba357d4
1 changed files with 1637 additions and 395 deletions
|
|
@ -45,7 +45,7 @@ public interface IMcpEndpoint : IAsyncDisposable
|
|||
/// Sends a JSON-RPC message to the connected endpoint.
|
||||
/// </summary>
|
||||
/// <param name="message">
|
||||
/// The JSON-RPC message to send. This can be any type that implements IJsonRpcMessage, such as
|
||||
/// The JSON-RPC message to send. This can be any type that implements JsonRpcMessage, such as
|
||||
/// JsonRpcRequest, JsonRpcResponse, JsonRpcNotification, or JsonRpcError.
|
||||
/// </param>
|
||||
/// <param name="cancellationToken">The <see cref="CancellationToken"/> to monitor for cancellation requests. The default is <see cref="CancellationToken.None"/>.</param>
|
||||
|
|
@ -63,7 +63,7 @@ public interface IMcpEndpoint : IAsyncDisposable
|
|||
/// The method will serialize the message and transmit it using the underlying transport mechanism.
|
||||
/// </para>
|
||||
/// </remarks>
|
||||
Task SendMessageAsync(IJsonRpcMessage message, CancellationToken cancellationToken = default);
|
||||
Task SendMessageAsync(JsonRpcMessage message, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>Registers a handler to be invoked when a notification for the specified method is received.</summary>
|
||||
/// <param name="method">The notification method.</param>
|
||||
|
|
|
|||
Loading…
Reference in a new issue