pub mod actions;
pub mod config;
pub mod errors;
pub mod http;
pub mod lockfree_pool;
pub mod metrics;
pub mod pool;
pub mod protocol;
pub mod server;
pub mod tools;
pub mod validation;
use clap::Parser;
#[derive(Parser, Debug)]
#[command(name = "MCP PostgreSQL Server")]
#[command(about = "High-performance Model Context Protocol server for PostgreSQL", long_about = None)]
pub struct Args {
#[arg(short, long)]
pub database_url: Option<String>,
#[arg(short = 'H', long, default_value = "127.0.0.1")]
pub host: String,
#[arg(short = 'p', long, default_value = "3000")]
pub port: u16,
#[arg(long, default_value = "3001")]
pub http_port: u16,
#[arg(long)]
pub min_connections: Option<u32>,
#[arg(long)]
pub max_connections: Option<u32>,
#[arg(short, long, default_value = "info")]
pub log_level: String,
#[arg(long)]
pub enable_metrics: bool,
#[arg(long, default_value = "9090")]
pub metrics_port: u16,
#[arg(long)]
pub stdio: bool,
#[arg(long, default_value = "unrestricted")]
pub access_mode: config::AccessMode,
}