Merge commit 'd803bfe2b1fe7f5e219e50ac20d6801a0a58ac75' as 'vendor/ruvector'
This commit is contained in:
66
vendor/ruvector/crates/mcp-gate/src/main.rs
vendored
Normal file
66
vendor/ruvector/crates/mcp-gate/src/main.rs
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
//! MCP Gate server binary
|
||||
//!
|
||||
//! Runs the MCP Gate server on stdio for integration with AI agents.
|
||||
|
||||
use mcp_gate::{McpGateConfig, McpGateServer};
|
||||
use tracing_subscriber::{fmt, prelude::*, EnvFilter};
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
// Initialize logging
|
||||
let filter = EnvFilter::try_from_default_env().unwrap_or_else(|_| EnvFilter::new("info"));
|
||||
|
||||
tracing_subscriber::registry()
|
||||
.with(fmt::layer().with_writer(std::io::stderr))
|
||||
.with(filter)
|
||||
.init();
|
||||
|
||||
// Load config from environment or use defaults
|
||||
let config = load_config();
|
||||
|
||||
// Create and run server
|
||||
let server = McpGateServer::with_thresholds(config.thresholds);
|
||||
|
||||
tracing::info!("MCP Gate server v{} starting", env!("CARGO_PKG_VERSION"));
|
||||
|
||||
server.run_stdio().await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn load_config() -> McpGateConfig {
|
||||
// Try to load from environment variables
|
||||
let mut config = McpGateConfig::default();
|
||||
|
||||
if let Ok(tau_deny) = std::env::var("MCP_GATE_TAU_DENY") {
|
||||
if let Ok(v) = tau_deny.parse() {
|
||||
config.thresholds.tau_deny = v;
|
||||
}
|
||||
}
|
||||
|
||||
if let Ok(tau_permit) = std::env::var("MCP_GATE_TAU_PERMIT") {
|
||||
if let Ok(v) = tau_permit.parse() {
|
||||
config.thresholds.tau_permit = v;
|
||||
}
|
||||
}
|
||||
|
||||
if let Ok(min_cut) = std::env::var("MCP_GATE_MIN_CUT") {
|
||||
if let Ok(v) = min_cut.parse() {
|
||||
config.thresholds.min_cut = v;
|
||||
}
|
||||
}
|
||||
|
||||
if let Ok(max_shift) = std::env::var("MCP_GATE_MAX_SHIFT") {
|
||||
if let Ok(v) = max_shift.parse() {
|
||||
config.thresholds.max_shift = v;
|
||||
}
|
||||
}
|
||||
|
||||
if let Ok(ttl) = std::env::var("MCP_GATE_PERMIT_TTL_NS") {
|
||||
if let Ok(v) = ttl.parse() {
|
||||
config.thresholds.permit_ttl_ns = v;
|
||||
}
|
||||
}
|
||||
|
||||
config
|
||||
}
|
||||
Reference in New Issue
Block a user