Public declaration syntax from forge-rs/crates/forge-mcp/src/client.rs Original source SHA-256: adccfb8db17c77cda36b6d783f341468f21f862628014c6a2fe3a3b2235e3805 Function bodies and constant values are omitted. This is not the complete implementation. Source line 56 #[derive(Debug, Clone)] pub struct McpClientConfig { /// Transport configuration (stdio, SSE, or HTTP). pub transport: TransportConfig, /// Optional OAuth configuration for authenticated servers. pub auth: Option } Source line 89 pub struct McpClient { } Source line 136 pub async fn connect(config: McpClientConfig) -> ForgeMcpResult; Source line 253 pub fn capabilities(&self) -> &McpCapabilities; Source line 281 pub async fn list_tools(&self) -> ForgeMcpResult>; Source line 332 pub async fn call_tool( &self, name: &str, arguments: serde_json::Value, ) -> ForgeMcpResult; Source line 377 pub async fn list_resources(&self) -> ForgeMcpResult>; Source line 423 pub async fn get_resource(&self, uri: &str) -> ForgeMcpResult; Source line 458 pub async fn list_prompts(&self) -> ForgeMcpResult>; Source line 509 pub async fn get_prompt( &self, name: &str, arguments: std::collections::HashMap, ) -> ForgeMcpResult; Source line 547 pub async fn disconnect(&self) -> ForgeMcpResult<()>;