wesichain_mcp/lib.rs
1//! MCP (Model Context Protocol) client for wesichain.
2//!
3//! Connects to any MCP server via stdio transport and loads its tools into a
4//! [`wesichain_agent::ToolSet`].
5//!
6//! # Quick start
7//! ```ignore
8//! use wesichain_agent::ToolSet;
9//! use wesichain_mcp::bridge::ToolSetBuilderMcpExt;
10//!
11//! let tools = ToolSet::new()
12//! .add_mcp_server("npx", &["-y", "@modelcontextprotocol/server-filesystem", "."])
13//! .await?
14//! .build()?;
15//! ```
16
17pub mod bridge;
18pub mod error;
19pub mod http;
20pub mod protocol;
21pub mod stdio;
22pub mod transport;
23
24pub use bridge::{load_mcp_tools, McpClient, McpTool, ToolSetBuilderMcpExt};
25pub use error::McpError;
26pub use http::HttpMcpTransport;
27pub use protocol::{McpResourceContent, McpResourceSpec, McpToolSpec, SamplingMessage, SamplingRequest, SamplingResult};
28pub use stdio::StdioTransport;
29pub use transport::McpTransport;