thulp_mcp/lib.rs
1//! # thulp-mcp
2//!
3//! MCP protocol client wrapping rs-utcp's MCP transport.
4//!
5//! This crate provides a thulp-specific wrapper around rs-utcp's MCP implementation,
6//! adding features like caching, session tracking, and error conversion.
7//!
8//! ## Example
9//!
10//! ```rust
11//! use thulp_mcp::{McpClient, McpTransport};
12//!
13//! // Create a new MCP client
14//! let transport = McpTransport::new();
15//! let client = McpClient::new(transport);
16//!
17//! // Check connection status
18//! println!("Client connected: {}", client.is_connected());
19//! println!("Session ID: {}", client.session_id());
20//! ```
21
22#[cfg(feature = "ares")]
23mod ares_integration;
24mod client;
25mod error;
26mod transport;
27
28#[cfg(feature = "ares")]
29pub use ares_integration::{AresMcpClient, AresToolRegistry};
30pub use client::{McpClient, McpClientBuilder};
31pub use error::Result;
32pub use transport::McpTransport;
33
34#[cfg(test)]
35mod tests {
36 #[tokio::test]
37 async fn client_can_be_created() {
38 // This is a basic test to ensure the client struct can be instantiated
39 assert!(true);
40 }
41}