AbstractOptional_options: ProtocolOptionsProtected_OptionalfallbackA handler to invoke for any notification types that do not have their own handler installed.
OptionalfallbackA handler to invoke for any request types that do not have their own handler installed.
OptionaloncloseCallback for when the connection is closed for any reason.
This is invoked when close() is called as well.
OptionalonerrorCallback for when an error occurs.
Note that errors are not necessarily fatal; they are used for reporting any kind of exceptional condition out of band.
Asserts that a request handler has not already been set for the given method, in preparation for a new one being automatically installed.
Protected AbstractassertA method to check if a capability is supported by the remote side, for the given method to be called.
This should be implemented by subclasses.
Protected AbstractassertA method to check if a notification is supported by the local side, for the given method to be sent.
This should be implemented by subclasses.
Protected AbstractassertA method to check if a request handler is supported by the local side, for the given method to be handled.
This should be implemented by subclasses.
Protected AbstractassertA method to check if task creation is supported for the given request method.
This should be implemented by subclasses.
Protected AbstractassertA method to check if a task handler is supported by the local side, for the given method to be handled.
This should be implemented by subclasses.
Protected AbstractbuildBuilds the context object for request handlers. Subclasses must override to return the appropriate context type (e.g., ServerContext adds requestInfo).
OptionaltransportInfo: MessageExtraInfoProtectedcancelExperimentalCancels a specific task.
Use client.experimental.tasks.cancelTask() to access this method.
Optionaloptions: RequestOptionsCloses the connection.
Attaches to the given transport, starts it, and starts listening for messages.
The Protocol object assumes ownership of the Transport, replacing any callbacks that have already been set, and expects that it is the only user of the Transport instance going forward.
ProtectedgetExperimentalGets the current status of a task.
Use client.experimental.tasks.getTask() to access this method.
Optional_meta?: {See General fields: _meta for notes on _meta usage.
Optionalio.modelcontextprotocol/related-task?: { taskId: string }If specified, this request is related to the provided task.
OptionalprogressToken?: string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
Optionaloptions: RequestOptionsProtectedgetExperimentalRetrieves the result of a completed task.
Use client.experimental.tasks.getTaskResult() to access this method.
Optional_meta?: {See General fields: _meta for notes on _meta usage.
Optionalio.modelcontextprotocol/related-task?: { taskId: string }If specified, this request is related to the provided task.
OptionalprogressToken?: string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
Optionaloptions: RequestOptionsProtectedlistExperimentalLists tasks, optionally starting from a pagination cursor.
Use client.experimental.tasks.listTasks() to access this method.
Optionalparams: { cursor?: string }Optionaloptions: RequestOptionsEmits a notification, which is a one-way message that does not expect a response.
Optionaloptions: NotificationOptionsRemoves the notification handler for the given method.
Sends a request and waits for a response.
Do not use this method to emit notifications! Use notification() instead.
Optionaloptions: RequestOptionsProtectedrequestExperimentalSends a request and returns an AsyncGenerator that yields response messages.
The generator is guaranteed to end with either a 'result' or 'error' message.
Use client.experimental.tasks.requestStream() to access this method.
Optionaloptions: RequestOptionsRegisters a handler to invoke when this protocol object receives a notification with the given method.
Note that this will replace any previous notification handler for the same method.
Registers a handler to invoke when this protocol object receives a request with the given method.
Note that this will replace any previous request handler for the same method.
Implements MCP protocol framing on top of a pluggable transport, including features like request/response linking, notifications, and progress.