mcp-rb/ext/mcp/src/mcp_client.rs
2025-03-15 08:39:47 +00:00

17 lines
558 B
Rust

use jsonrpsee::async_client::Client;
use jsonrpsee::core::client::ClientT;
use crate::rpc_helpers::{NoParams, ToRpcArg};
use crate::types::{InitializeRequestParams, InitializeResult};
struct McpClient {
client: Client,
}
impl McpClient {
async fn initialize(&self, params: InitializeRequestParams) -> Result<InitializeResult, anyhow::Error> {
let result: InitializeResult = self.client.request("initialize", params.to_rpc()).await?;
self.client.notification("notifications/initialized", NoParams).await?;
Ok(result)
}
}