1#![allow(dead_code, unused_imports, unused_variables)]
2pub mod client;
11pub mod discovery;
12pub mod server;
13pub mod tool_bridge;
14pub mod transport;
15
16pub use client::McpClient;
17pub use discovery::discover_tools;
18pub use tool_bridge::McpTool;
19pub use transport::{StdioTransport, Transport};
20
21use serde::{Deserialize, Serialize};
22
23#[derive(Debug, Clone, Serialize, Deserialize)]
25pub struct McpServerConfig {
26 pub name: String,
28 pub command: String,
30 #[serde(default)]
32 pub args: Vec<String>,
33 #[serde(default)]
35 pub env: std::collections::HashMap<String, String>,
36 #[serde(default = "default_init_timeout")]
38 pub init_timeout_secs: u64,
39}
40
41fn default_init_timeout() -> u64 {
42 30
43}
44
45#[derive(Debug, Clone, Default, Serialize, Deserialize)]
47pub struct McpConfig {
48 #[serde(default)]
50 pub servers: Vec<McpServerConfig>,
51}