use agentic::mcp::ListToolsParams;
use agentic::mcp::client::{Client, ClientStdioTransportConfig};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
tracing_subscriber::fmt()
.with_max_level(tracing::Level::WARN)
.without_time()
.init();
let mut client = Client::new("Demo Client", "0.1.0");
let transport_config = ClientStdioTransportConfig::new(
"npx",
["-y", "@modelcontextprotocol/server-everything"],
None,
);
client.connect(transport_config).await?;
let res = client.send_request(ListToolsParams::default()).await?;
let list_tools = res.result;
for tool in list_tools.tools.iter() {
println!("{}", tool.name);
}
Ok(())
}