1pub mod config;
2pub mod server;
3pub mod pool;
4pub mod protocol;
5pub mod actions;
6pub mod errors;
7pub mod metrics;
8pub mod buffers;
9
10use clap::Parser;
11
12#[derive(Parser, Debug)]
13#[command(name = "MCP PostgreSQL Server")]
14#[command(about = "High-performance Model Context Protocol server for PostgreSQL", long_about = None)]
15pub struct Args {
16 #[arg(short, long)]
18 pub database_url: Option<String>,
19
20 #[arg(short = 'H', long, default_value = "127.0.0.1")]
22 pub host: String,
23
24 #[arg(short = 'p', long, default_value = "3000")]
26 pub port: u16,
27
28 #[arg(long)]
30 pub min_connections: Option<u32>,
31
32 #[arg(long)]
34 pub max_connections: Option<u32>,
35
36 #[arg(short, long, default_value = "info")]
38 pub log_level: String,
39
40 #[arg(long)]
42 pub enable_metrics: bool,
43
44 #[arg(long, default_value = "9090")]
46 pub metrics_port: u16,
47
48 #[arg(long)]
50 pub stdio: bool,
51
52 #[arg(long, default_value = "unrestricted")]
54 pub access_mode: config::AccessMode,
55}