McpStreamableHttpClient class final

HTTP client for session-based MCP revisions and stateless MCP 2026.

For session-based revisions, the client keeps the negotiated MCP session headers and SSE cursor so consumer applications do not need to reimplement the transport details.

Available extensions

Constructors

McpStreamableHttpClient(Uri endpoint, {HttpClient? httpClient, McpHttpClientFactory? subscriptionHttpClientFactory, Map<String, String> headers = const <String, String>{}, McpJsonMap? clientInfo, McpJsonMap clientCapabilities = const <String, Object?>{}, String defaultProtocolVersion = latestSessionProtocolVersion, Duration requestTimeout = defaultRequestTimeout, int maxRequestBytes = defaultMaxRequestBytes, int maxResponseBytes = defaultMaxResponseBytes, bool closeHttpClient = false})
Creates a session-based Streamable HTTP MCP client for endpoint.
McpStreamableHttpClient.stateless(Uri endpoint, {required McpJsonMap clientInfo, McpJsonMap clientCapabilities = const <String, Object?>{}, HttpClient? httpClient, McpHttpClientFactory? subscriptionHttpClientFactory, Map<String, String> headers = const <String, String>{}, Duration requestTimeout = defaultRequestTimeout, int maxRequestBytes = defaultMaxRequestBytes, int maxResponseBytes = defaultMaxResponseBytes, bool closeHttpClient = false})
Creates a sessionless client for MCP protocol revision 2026-07-28.
McpStreamableHttpClient.statelessWithAuthGrant(Uri endpoint, ConnectanumHttpAuthGrant grant, {required McpJsonMap clientInfo, McpJsonMap clientCapabilities = const <String, Object?>{}, HttpClient? httpClient, McpHttpClientFactory? subscriptionHttpClientFactory, Map<String, String> headers = const <String, String>{}, Duration requestTimeout = defaultRequestTimeout, int maxRequestBytes = defaultMaxRequestBytes, int maxResponseBytes = defaultMaxResponseBytes, bool closeHttpClient = false})
Creates a sessionless MCP 2026 client using an HTTP auth bridge grant.
factory
McpStreamableHttpClient.statelessWithBearerToken(Uri endpoint, String bearerToken, {required McpJsonMap clientInfo, McpJsonMap clientCapabilities = const <String, Object?>{}, HttpClient? httpClient, McpHttpClientFactory? subscriptionHttpClientFactory, Map<String, String> headers = const <String, String>{}, Duration requestTimeout = defaultRequestTimeout, int maxRequestBytes = defaultMaxRequestBytes, int maxResponseBytes = defaultMaxResponseBytes, bool closeHttpClient = false})
Creates a bearer-authenticated sessionless MCP 2026 client.
McpStreamableHttpClient.withAuthGrant(Uri endpoint, ConnectanumHttpAuthGrant grant, {HttpClient? httpClient, McpHttpClientFactory? subscriptionHttpClientFactory, Map<String, String> headers = const <String, String>{}, McpJsonMap? clientInfo, McpJsonMap clientCapabilities = const <String, Object?>{}, String defaultProtocolVersion = latestSessionProtocolVersion, Duration requestTimeout = defaultRequestTimeout, int maxRequestBytes = defaultMaxRequestBytes, int maxResponseBytes = defaultMaxResponseBytes, bool closeHttpClient = false})
Creates a client for MCP HTTP endpoints using an HTTP auth bridge grant.
factory
McpStreamableHttpClient.withBearerToken(Uri endpoint, String bearerToken, {HttpClient? httpClient, McpHttpClientFactory? subscriptionHttpClientFactory, Map<String, String> headers = const <String, String>{}, McpJsonMap? clientInfo, McpJsonMap clientCapabilities = const <String, Object?>{}, String defaultProtocolVersion = latestSessionProtocolVersion, Duration requestTimeout = defaultRequestTimeout, int maxRequestBytes = defaultMaxRequestBytes, int maxResponseBytes = defaultMaxResponseBytes, bool closeHttpClient = false})
Creates a client for bearer-protected MCP HTTP endpoints.
McpStreamableHttpClient.withOAuthToken(Uri endpoint, McpOAuthTokenGrant grant, {HttpClient? httpClient, McpHttpClientFactory? subscriptionHttpClientFactory, Map<String, String> headers = const <String, String>{}, McpJsonMap? clientInfo, McpJsonMap clientCapabilities = const <String, Object?>{}, String defaultProtocolVersion = latestSessionProtocolVersion, Duration requestTimeout = defaultRequestTimeout, int maxRequestBytes = defaultMaxRequestBytes, int maxResponseBytes = defaultMaxResponseBytes, bool closeHttpClient = false})
Creates a client authorized by a validated OAuth token grant.
factory

Properties

clientCapabilities → McpJsonMap
Client capabilities sent during MCP initialization.
final
clientInfo → McpJsonMap?
Client identity sent during MCP initialization, when configured.
final
defaultProtocolVersion → String
Protocol revision used before a server negotiates another revision.
final
endpoint → Uri
Absolute Streamable HTTP endpoint used by this client.
final
hashCode → int
The hash code for this object.
no setterinherited
headers → Map<String, String>
Default HTTP headers applied to outgoing MCP requests.
final
lastEventId ↔ String?
Last accepted SSE event identifier used when resuming a stream.
getter/setter pair
maxRequestBytes → int
Maximum raw byte length for each encoded JSON request body.
final
maxResponseBytes → int
Maximum raw byte length for each buffered HTTP response or SSE event.
final
protocolVersion ↔ String
MCP protocol revision currently used for requests.
getter/setter pair
requestTimeout → Duration
Total deadline for one POST, GET, DELETE, or listener-setup exchange.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
sessionId ↔ String?
Active MCP session identifier, or null for a stateless client.
getter/setter pair

Methods

callConnectanumMethod(String method, {Object? id, McpJsonMap params = const <String, Object?>{}, bool streamable = true, bool includeSession = true, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpJsonMap>
Calls a Connectanum JSON method through the active MCP session.
callConnectanumMethodDirect(String method, {Object? id, McpJsonMap params = const <String, Object?>{}, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpJsonMap>
Calls a Connectanum JSON method through the direct API.
callConnectanumToolDirect(String name, {Object? id, McpJsonMap arguments = const <String, Object?>{}, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpJsonMap>
Calls a Connectanum JSON tool through the direct API.
callTool(String name, {Object? id, McpJsonMap arguments = const <String, Object?>{}, bool streamable = true, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpJsonMap>
Calls an MCP tool through the active session.
callToolDirect(String name, {Object? id, McpJsonMap arguments = const <String, Object?>{}, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpJsonMap>
Calls an MCP tool through the direct JSON API.
callToolDirectWithFormElicitation(String name, {required McpFormElicitationHandler onElicitation, Object? id, McpJsonMap arguments = const <String, Object?>{}, String? protocolVersion, Map<String, String> headers = const <String, String>{}, int maxInputRequiredRounds = 8}) → Future<McpJsonMap>
Calls a modern stateless tool directly and completes bounded form input rounds through onElicitation.
callToolWithFormElicitation(String name, {required McpFormElicitationHandler onElicitation, Object? id, McpJsonMap arguments = const <String, Object?>{}, bool streamable = true, String? protocolVersion, Map<String, String> headers = const <String, String>{}, int maxInputRequiredRounds = 8}) → Future<McpJsonMap>
Calls a modern stateless tool and completes bounded form input rounds through onElicitation.
callWampMetaProcedure(String procedure, {Object? id, List<Object?>? arguments, McpJsonMap? argumentsKeywords, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

callWampMetaProcedureDirect(String procedure, {Object? id, List<Object?>? arguments, McpJsonMap? argumentsKeywords, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

close({bool force = false}) → void
Permanently closes this MCP client and rejects subsequent network work.
complete(McpCompletionRequest completionRequest, {Object? id, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpCompletionResult>
Requests typed suggestions for a prompt or resource-template argument.
completeDirect(McpCompletionRequest completionRequest, {Object? id, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpCompletionResult>
Requests completion without reading or mutating Streamable session state.
countWampRegistrationCallees(int registrationId, {Object? id, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

countWampRegistrationCalleesDirect(int registrationId, {Object? id, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

countWampSessions({Object? id, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

countWampSessionsDirect({Object? id, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

countWampSubscriptionSubscribers(int subscriptionId, {Object? id, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

countWampSubscriptionSubscribersDirect(int subscriptionId, {Object? id, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

createAuthorizationRequest({required McpAuthorizationServerMetadata authorizationServer, required String clientId, required Uri redirectUri, Iterable<String> scopes = const <String>[], McpPkcePair? pkce}) → McpAuthorizationRequest
Creates an OAuth authorization-code request for this MCP endpoint.
createDiscoveredAuthorizationRequest({required McpProtectedResourceDiscovery protectedResource, required McpAuthorizationServerDiscovery authorizationServer, required String clientId, required Uri redirectUri, Iterable<String> additionalScopes = const <String>[], McpPkcePair? pkce}) → McpAuthorizationRequest
Creates an initial OAuth request bound to validated MCP discovery.
createStepUpAuthorizationRequest({required McpOAuthTokenGrant currentGrant, required McpStreamableHttpException authorizationFailure, required Uri redirectUri, Iterable<String> previouslyRequestedScopes = const <String>[], McpPkcePair? pkce}) → McpAuthorizationRequest
Builds a resource-bound OAuth request for an MCP scope challenge.
deleteSession({Map<String, String> headers = const <String, String>{}}) → Future<void>
Terminates the active server-side MCP session and clears local state.
describeWampApi(String uri, {Object? id, String? kind, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpJsonMap>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

describeWampApiDirect(String uri, {Object? id, String? kind, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpJsonMap>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

discover({Object? id, Map<String, String> headers = const <String, String>{}}) → Future<McpStatelessDiscoveryResult>
Discovers an MCP 2026 server without creating a protocol session.
discoverAuthorizationServerMetadata(Uri issuer, {Map<String, String> headers = const <String, String>{}, int maxMetadataBytes = 1024 * 1024, Duration timeout = const Duration(seconds: 10)}) → Future<McpAuthorizationServerDiscovery>
Discovers validated OAuth metadata for an advertised authorization server.
discoverProtectedResourceMetadata({Map<String, String> headers = const <String, String>{}, int maxMetadataBytes = 1024 * 1024, Duration timeout = const Duration(seconds: 10)}) → Future<McpProtectedResourceDiscovery>
Discovers OAuth Protected Resource Metadata without using session state.
exchangeAuthorizationCode(McpAuthorizationCode authorizationCode, {required McpOAuthClientAuthentication clientAuthentication, Map<String, String> headers = const <String, String>{}, Duration timeout = const Duration(seconds: 30), int maxResponseBytes = 64 * 1024}) → Future<McpOAuthTokenGrant>
Exchanges an OAuth authorization code for an access-token grant.
getPrompt(String name, {Object? id, Map<String, String> arguments = const <String, String>{}, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpJsonMap>
Resolves a prompt through the active MCP session.
getPromptDirect(String name, {Object? id, Map<String, String> arguments = const <String, String>{}, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpJsonMap>
Resolves a prompt through the direct JSON API.
getWampRegistration(int registrationId, {Object? id, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

getWampRegistrationDirect(int registrationId, {Object? id, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

getWampSession(int sessionId, {Object? id, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

getWampSessionDirect(int sessionId, {Object? id, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

getWampSubscription(int subscriptionId, {Object? id, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

getWampSubscriptionDirect(int subscriptionId, {Object? id, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

initialize({Object? id = 'initialize', McpJsonMap capabilities = const <String, Object?>{}, McpJsonMap clientInfo = const <String, Object?>{'name' : 'connectanum_client', 'version' : '3.0.0-beta.7'}, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpJsonMap>
Initializes a session-based MCP connection and captures its session ID.
listConnectanumToolsDirect({Object? id, String? cursor, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableToolListPage>
Lists Connectanum JSON tools from the direct API catalog.
listen({Object? id, bool toolsListChanged = false, bool promptsListChanged = false, bool resourcesListChanged = false, Iterable<String> resourceSubscriptions = const <String>[], Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableSubscription>
Opens a resumable Streamable HTTP listener for server notifications.
listPrompts({Object? id, String? cursor, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamablePromptListPage>
Lists one page of prompts through the active MCP session.
listPromptsDirect({Object? id, String? cursor, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamablePromptListPage>
Lists one page of prompts through the direct JSON API.
listResources({Object? id, String? cursor, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableResourceListPage>
Lists one page of resources through the active MCP session.
listResourcesDirect({Object? id, String? cursor, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableResourceListPage>
Lists one page of resources through the direct JSON API.
listResourceTemplates({Object? id, String? cursor, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableResourceTemplateListPage>
Lists one page of resource templates through the MCP session.
listResourceTemplatesDirect({Object? id, String? cursor, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableResourceTemplateListPage>
Lists one page of resource templates through the direct JSON API.
listTools({Object? id, String? cursor, bool streamable = true, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableToolListPage>
Lists one page of tools through the active MCP session.
listToolsDirect({Object? id, String? cursor, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableToolListPage>
Lists one page of tools through the direct JSON API.
listWampApi({Object? id, String? kind, String? tag, String? cursor, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpJsonMap>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

listWampApiDirect({Object? id, String? kind, String? tag, String? cursor, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpJsonMap>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

listWampRegistrationCallees(int registrationId, {Object? id, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

listWampRegistrationCalleesDirect(int registrationId, {Object? id, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

listWampRegistrations({Object? id, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

listWampRegistrationsDirect({Object? id, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

listWampSessions({Object? id, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

listWampSessionsDirect({Object? id, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

listWampSubscriptions({Object? id, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

listWampSubscriptionsDirect({Object? id, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

listWampSubscriptionSubscribers(int subscriptionId, {Object? id, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

listWampSubscriptionSubscribersDirect(int subscriptionId, {Object? id, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

lookupWampRegistration(String procedure, {Object? id, String? match, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

lookupWampRegistrationDirect(String procedure, {Object? id, String? match, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

lookupWampSubscription(String topic, {Object? id, String? match, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

lookupWampSubscriptionDirect(String topic, {Object? id, String? match, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

matchWampRegistration(String procedure, {Object? id, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

matchWampRegistrationDirect(String procedure, {Object? id, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

matchWampSubscription(String topic, {Object? id, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

matchWampSubscriptionDirect(String topic, {Object? id, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampMetaCallResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notification(String method, {McpJsonMap? params, bool streamable = true, bool includeSession = true, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<void>
Sends an arbitrary JSON-RPC notification through the MCP session.
notificationDirect(String method, {McpJsonMap? params, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<void>
Sends an arbitrary JSON-RPC notification through the direct API.
notifyConnectanumMethod(String method, {McpJsonMap params = const <String, Object?>{}, bool streamable = true, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<void>
Sends a Connectanum JSON method notification through the MCP session.
notifyConnectanumMethodDirect(String method, {McpJsonMap params = const <String, Object?>{}, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<void>
Sends a Connectanum JSON method notification through the direct API.
notifyConnectanumToolDirect(String name, {McpJsonMap arguments = const <String, Object?>{}, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<void>
Sends a Connectanum JSON tool notification through the direct API.
notifyInitialized({Map<String, String> headers = const <String, String>{}}) → Future<void>
Sends the MCP notifications/initialized lifecycle notification.
notifyTool(String name, {McpJsonMap arguments = const <String, Object?>{}, bool streamable = true, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<void>
Invokes an MCP tool as a notification through the active session.
notifyToolDirect(String name, {McpJsonMap arguments = const <String, Object?>{}, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<void>
Invokes an MCP tool notification through the direct JSON API.
notifyWampEvent(String topic, {List<Object?>? arguments, McpJsonMap? argumentsKeywords, McpJsonMap? options, bool streamable = true, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<void>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

notifyWampEventDirect(String topic, {List<Object?>? arguments, McpJsonMap? argumentsKeywords, McpJsonMap? options, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<void>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

ping({Object? id, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpJsonMap>
Pings the active MCP session.
pingDirect({Object? id, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpJsonMap>
Pings the endpoint through the direct JSON API.
poll({String? lastEventId, Map<String, String> headers = const <String, String>{}}) → Future<List<McpSseEvent>>
Polls pending Streamable HTTP events for the active session.
pollWampEvents(String handle, {Object? id, int? limit, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampEventBatch>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

pollWampEventsDirect(String handle, {Object? id, int? limit, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampEventBatch>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

post(McpJsonMap message, {bool streamable = true, bool includeSession = true, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpJsonMap?>
Posts one JSON-RPC message through the active MCP session.
postBatch(List<McpJsonMap> messages, {bool streamable = true, bool includeSession = true, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<List<McpJsonMap>?>
Posts a JSON-RPC batch through the active MCP session.
postBatchDirect(List<McpJsonMap> messages, {String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<List<McpJsonMap>?>
Posts a JSON-RPC batch through the direct JSON API.
postDirect(McpJsonMap message, {String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpJsonMap?>
Posts one JSON-RPC message through the direct JSON API.
publishWampEvent(String topic, {Object? id, List<Object?>? arguments, McpJsonMap? argumentsKeywords, bool? acknowledge, McpJsonMap? options, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampPublicationResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

publishWampEventDirect(String topic, {Object? id, List<Object?>? arguments, McpJsonMap? argumentsKeywords, bool? acknowledge, McpJsonMap? options, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampPublicationResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

readResource(String uri, {Object? id, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<List<McpJsonMap>>
Reads a resource through the active MCP session.
readResourceDirect(String uri, {Object? id, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<List<McpJsonMap>>
Reads a resource through the direct JSON API.
refreshOAuthToken(McpOAuthTokenGrant grant, {required McpOAuthClientAuthentication clientAuthentication, Iterable<String>? scopes, Map<String, String> headers = const <String, String>{}, Duration timeout = const Duration(seconds: 30), int maxResponseBytes = 64 * 1024}) → Future<McpOAuthTokenGrant>
Refreshes a resource-bound OAuth grant without changing MCP session state.
registerOAuthClient(McpAuthorizationServerMetadata authorizationServer, {required McpOAuthDynamicClientRegistrationRequest registration, String? initialAccessToken, Map<String, String> headers = const <String, String>{}, Duration timeout = const Duration(seconds: 30), int maxResponseBytes = 64 * 1024}) → Future<McpOAuthDynamicClientRegistration>
Registers an OAuth client with the discovered authorization server.
replaceAuthGrant(ConnectanumHttpAuthGrant grant) → void
Replaces the router HTTP-auth grant used for subsequent MCP requests.
replaceOAuthToken(McpOAuthTokenGrant grant) → void
Replaces the OAuth access token used for subsequent MCP HTTP requests.
request(String method, {Object? id, McpJsonMap? params, bool streamable = true, bool includeSession = true, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpJsonMap>
Sends a stateful JSON-RPC request using the active MCP session.
requestDirect(String method, {Object? id, McpJsonMap? params, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpJsonMap>
Sends a direct JSON API request without MCP session headers.
revokeOAuthToken(McpOAuthTokenGrant grant, {required McpOAuthClientAuthentication clientAuthentication, McpOAuthTokenKind tokenKind = McpOAuthTokenKind.refreshToken, Map<String, String> headers = const <String, String>{}, Duration timeout = const Duration(seconds: 30), int maxResponseBytes = 64 * 1024}) → Future<void>
Revokes one OAuth grant credential without changing MCP session state.
subscribeResource(String uri, {Object? id, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<void>
Subscribes the active MCP session to resource updates.
subscribeWampTopic(String topic, {Object? id, int? queueLimit, McpJsonMap? options, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampSubscriptionResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

subscribeWampTopicDirect(String topic, {Object? id, int? queueLimit, McpJsonMap? options, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampSubscriptionResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

toString() → String
A string representation of this object.
inherited
unsubscribeResource(String uri, {Object? id, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<void>
Unsubscribes the active MCP session from resource updates.
unsubscribeWampTopic(String handle, {Object? id, bool streamable = true, bool directJson = false, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampUnsubscribeResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

unsubscribeWampTopicDirect(String handle, {Object? id, String? protocolVersion, Map<String, String> headers = const <String, String>{}}) → Future<McpStreamableWampUnsubscribeResult>

Available on McpStreamableHttpClient, provided by the McpStreamableConnectanumWampTools extension

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

discoverHttpAuthClient(Uri endpoint, {required String realm, HttpClient? httpClient, Map<String, String> headers = const <String, String>{}, Duration requestTimeout = defaultRequestTimeout, int maxResponseBytes = defaultMaxResponseBytes, bool closeHttpClient = false}) → Future<ConnectanumHttpAuthClient>
Discovers a same-origin HTTP auth bridge advertised by a protected MCP endpoint.

Constants

defaultMaxRequestBytes → const int
Default maximum raw byte length for encoded JSON request bodies.
defaultMaxResponseBytes → const int
Default maximum raw byte length for buffered responses and SSE events.
defaultRequestTimeout → const Duration
Default total deadline for one MCP HTTP exchange.
latestProtocolVersion → const String
Latest supported stateless MCP protocol revision.
latestSessionProtocolVersion → const String
Latest supported session-based MCP protocol revision.