MCPcopy Index your code
hub / github.com/ChrisFeldmeier/OpenCodeRust / load_tools

Method load_tools

crates/opencode-mcp/src/client.rs:544–562  ·  view source on GitHub ↗
(&self)

Source from the content-addressed store, hash-verified

542 }
543
544 async fn load_tools(&self) -> Result<(), McpClientError> {
545 let response = self.send_request("tools/list", None).await?;
546
547 let result: ListToolsResult = response
548 .result
549 .ok_or_else(|| McpClientError::ProtocolError("No result in tools/list response".into()))
550 .and_then(|r| {
551 serde_json::from_value(r).map_err(|e| {
552 McpClientError::ProtocolError(format!("Failed to parse tools/list result: {e}"))
553 })
554 })?;
555
556 self.tool_registry.clear_server(&self.server_name).await;
557 self.tool_registry
558 .register_batch(&self.server_name, result.tools)
559 .await;
560
561 Ok(())
562 }
563
564 pub async fn call_tool(
565 &self,

Callers 4

connect_stdio_innerMethod · 0.80
connect_http_innerMethod · 0.80
connect_sse_innerMethod · 0.80

Calls 3

send_requestMethod · 0.80
clear_serverMethod · 0.80
register_batchMethod · 0.80

Tested by

no test coverage detected