MCPcopy Create free account
hub / github.com/AI45Lab/Code / list_resources

Method list_resources

core/src/mcp/client.rs:187–209  ·  view source on GitHub ↗

List available resources

(&self)

Source from the content-addressed store, hash-verified

185
186 /// List available resources
187 pub async fn list_resources(&self) -> Result<Vec<McpResource>> {
188 let request = JsonRpcRequest::new(self.next_id(), "resources/list", None);
189 let response = self.transport.request(request).await?;
190
191 if let Some(error) = response.error {
192 return Err(anyhow!(
193 "MCP list_resources error: {} ({})",
194 error.message,
195 error.code
196 ));
197 }
198
199 let result: ListResourcesResult =
200 serde_json::from_value(response.result.ok_or_else(|| anyhow!("No result"))?)?;
201
202 // Cache resources
203 {
204 let mut resources = self.resources.write().await;
205 *resources = result.resources.clone();
206 }
207
208 Ok(result.resources)
209 }
210
211 /// Read a resource
212 pub async fn read_resource(&self, uri: &str) -> Result<ReadResourceResult> {

Callers

nothing calls this directly

Calls 4

writeMethod · 0.80
next_idMethod · 0.45
requestMethod · 0.45
cloneMethod · 0.45

Tested by

no test coverage detected