MCPcopy Create free account
hub / github.com/ChrisFeldmeier/OpenCodeRust / read_resource

Method read_resource

crates/opencode-mcp/src/client.rs:596–620  ·  view source on GitHub ↗
(&self, uri: &str)

Source from the content-addressed store, hash-verified

594 }
595
596 pub async fn read_resource(&self, uri: &str) -> Result<ReadResourceResult, McpClientError> {
597 let params = ReadResourceParams {
598 uri: uri.to_string(),
599 };
600 let params_value = serde_json::to_value(params)
601 .map_err(|e| McpClientError::ProtocolError(e.to_string()))?;
602
603 let response = self
604 .send_request("resources/read", Some(params_value))
605 .await?;
606 let result: ReadResourceResult = response
607 .result
608 .ok_or_else(|| {
609 McpClientError::ProtocolError("No result in resources/read response".into())
610 })
611 .and_then(|r| {
612 serde_json::from_value(r).map_err(|e| {
613 McpClientError::ProtocolError(format!(
614 "Failed to parse resources/read result: {e}"
615 ))
616 })
617 })?;
618
619 Ok(result)
620 }
621
622 pub async fn close(&self) -> Result<(), McpClientError> {
623 let mut transport = self.transport.lock().await;

Callers 1

add_mcp_resource_partMethod · 0.80

Calls 1

send_requestMethod · 0.80

Tested by

no test coverage detected