Module config

Source
Expand description

Configuration module for MCP Runner.

This module handles parsing, validation, and access to configuration settings for MCP servers. It supports loading configurations from files or strings in JSON format.

§Examples

Loading a configuration from a file:

use mcp_runner::config::Config;

let config = Config::from_file("config.json").unwrap();
println!("Loaded configuration with {} servers", config.mcp_servers.len());

Creating a configuration programmatically:

use mcp_runner::{McpRunner, config::{Config, ServerConfig}};
use std::collections::HashMap;

let mut servers = HashMap::new();

let server_config = ServerConfig {
    command: "uvx".to_string(),
    args: vec!["mcp-server-fetch".to_string()],
    env: HashMap::new(),
};

servers.insert("fetch".to_string(), server_config);
// sse_proxy is optional, so we can use None
let config = Config {
    mcp_servers: servers,
    sse_proxy: None,
};
let runner = McpRunner::new(config);

Re-exports§

pub use validator::validate_config;

Modules§

validator
Configuration validation module.

Structs§

AuthConfig
Authentication configuration for SSE Proxy
BearerAuthConfig
Bearer token authentication configuration
Config
Main configuration for the MCP Runner.
SSEProxyConfig
Server-Sent Events (SSE) Proxy configuration
ServerConfig
Configuration for a single MCP server instance.

Constants§

DEFAULT_ADDRESS
Constants for default configuration values Default address for the SSE proxy server (localhost)
DEFAULT_PORT
Default port for the SSE proxy server
DEFAULT_WORKERS
Default number of worker threads for the Actix Web server