1pub mod config;
2pub mod server;
3pub mod pool;
4pub mod protocol;
5pub mod actions;
6pub mod errors;
7pub mod metrics;
8pub mod http;
9pub mod validation;
10pub mod tools;
11pub mod lockfree_pool;
12
13use clap::Parser;
14
15#[derive(Parser, Debug)]
16#[command(name = "MCP PostgreSQL Server")]
17#[command(about = "High-performance Model Context Protocol server for PostgreSQL", long_about = None)]
18pub struct Args {
19 #[arg(short, long)]
21 pub database_url: Option<String>,
22
23 #[arg(short = 'H', long, default_value = "127.0.0.1")]
25 pub host: String,
26
27 #[arg(short = 'p', long, default_value = "3000")]
29 pub port: u16,
30
31 #[arg(long, default_value = "3001")]
33 pub http_port: u16,
34
35 #[arg(long)]
37 pub min_connections: Option<u32>,
38
39 #[arg(long)]
41 pub max_connections: Option<u32>,
42
43 #[arg(short, long, default_value = "info")]
45 pub log_level: String,
46
47 #[arg(long)]
49 pub enable_metrics: bool,
50
51 #[arg(long, default_value = "9090")]
53 pub metrics_port: u16,
54
55 #[arg(long)]
57 pub stdio: bool,
58
59 #[arg(long, default_value = "unrestricted")]
61 pub access_mode: config::AccessMode,
62}