readResource method

Future<ReadResourceResult> readResource(
  1. String uri, {
  2. Map<String, dynamic>? meta,
  3. RequestOptions? options,
})

Read a resource from the server

Implementation

Future<ReadResourceResult> readResource(
  String uri, {
  Map<String, dynamic>? meta,
  RequestOptions? options,
}) async {
  if (!_initialized) {
    throw McpError('Client is not initialized');
  }

  if (!_statelessMode && _serverCapabilities?.resources != true) {
    throw McpError('Server does not support resources');
  }

  final params = _withMeta({'uri': uri}, meta);
  final response = _statelessMode
      ? await _sendRequestWithMrtr('resources/read', params, options)
      : await _sendRequest('resources/read', params, options);

  return ReadResourceResult.fromJson(response);
}