pub struct ProxySettings {
pub name: String,
pub version: String,
pub separator: String,
pub listen: ListenConfig,
pub instructions: Option<String>,
pub shutdown_timeout_seconds: u64,
pub hot_reload: bool,
pub import_backends: Option<String>,
pub rate_limit: Option<GlobalRateLimitConfig>,
pub tool_discovery: bool,
pub tool_exposure: ToolExposure,
}Expand description
Core proxy identity and server settings.
Fields§
§name: StringProxy name, used in MCP server info.
version: StringProxy version, used in MCP server info (default: “0.1.0”).
separator: StringNamespace separator between backend name and tool/resource name (default: “/”).
listen: ListenConfigHTTP listen address.
instructions: Option<String>Optional instructions text sent to MCP clients.
shutdown_timeout_seconds: u64Graceful shutdown timeout in seconds (default: 30)
hot_reload: boolEnable hot reload: watch config file for new backends
import_backends: Option<String>Import backends from a .mcp.json file. Backends defined in the TOML
config take precedence over imported ones with the same name.
rate_limit: Option<GlobalRateLimitConfig>Global rate limit applied to all requests before per-backend dispatch.
tool_discovery: boolEnable BM25-based tool discovery and search (default: false).
Adds proxy/search_tools, proxy/similar_tools, and
proxy/tool_categories tools for finding tools across backends.
tool_exposure: ToolExposureHow backend tools are exposed to MCP clients (default: “direct”).
direct– all tools appear inListToolsresponses (default behavior).search– onlyproxy/meta-tools are listed; backend tools are discoverable viaproxy/search_toolsand invokable viaproxy/call_tool. Useful when aggregating 100+ tools that would overwhelm LLM context. Impliestool_discovery = true.
Trait Implementations§
Source§impl Debug for ProxySettings
impl Debug for ProxySettings
Source§impl<'de> Deserialize<'de> for ProxySettings
impl<'de> Deserialize<'de> for ProxySettings
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for ProxySettings
impl RefUnwindSafe for ProxySettings
impl Send for ProxySettings
impl Sync for ProxySettings
impl Unpin for ProxySettings
impl UnsafeUnpin for ProxySettings
impl UnwindSafe for ProxySettings
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more