Skip to main content

mcp_utils/client/
mod.rs

1pub mod config;
2pub mod error;
3pub mod manager;
4pub mod oauth_handler;
5
6mod connection;
7mod connection_attempt_manager;
8mod mcp_client;
9mod naming;
10mod roots;
11mod tool_proxy;
12
13pub use config::{
14    HttpServerConfig, HttpType, InMemoryServerConfig, InMemoryType, McpConfig, McpServer, McpServerCloneError,
15    McpServerConfig, McpTransport, ParseError, ServerFactory, SseServerConfig, SseType, StdioServerConfig, StdioType,
16};
17pub use connection::{McpConnectAttempt, McpConnectOutcome, McpServerConnection};
18pub use connection_attempt_manager::McpConnectionAttemptManager;
19pub use error::{McpError, Result};
20pub use manager::{
21    ElicitationRequest, McpClientEvent, McpConnectionDetails, McpManager, McpServerStatus, McpServerStatusEntry,
22    OAuthHandlerContext, OAuthHandlerFactory, UrlElicitationCompleteParams,
23};
24pub use mcp_client::{McpClient, cancel_result};
25pub use naming::{SERVERNAME_DELIMITER, split_on_server_name};
26pub use oauth_handler::{AETHER_OAUTH_ELICITATION_ID, ElicitingOAuthHandler};
27pub use rmcp::model::Root;
28pub use roots::root_from_path;
29
30use std::path::PathBuf;
31
32pub(crate) fn aether_home() -> Option<PathBuf> {
33    utils::SettingsStore::new("AETHER_HOME", ".aether").map(|s| s.home().to_path_buf())
34}