pub struct CompressedServer { /* private fields */ }Expand description
Connected compressor runtime.
Implementations§
Source§impl CompressedServer
impl CompressedServer
Sourcepub async fn connect_stdio(
config: CompressedServerConfig,
backend: BackendServerConfig,
) -> Result<CompressedServer, Error>
pub async fn connect_stdio( config: CompressedServerConfig, backend: BackendServerConfig, ) -> Result<CompressedServer, Error>
Connect to one upstream stdio MCP server.
Sourcepub async fn connect_multi_stdio(
config: CompressedServerConfig,
backends: Vec<BackendServerConfig>,
) -> Result<CompressedServer, Error>
pub async fn connect_multi_stdio( config: CompressedServerConfig, backends: Vec<BackendServerConfig>, ) -> Result<CompressedServer, Error>
Connect to multiple upstream stdio MCP servers.
Sourcepub async fn connect_mcp_config_json(
config: CompressedServerConfig,
mcp_config_json: &str,
) -> Result<CompressedServer, Error>
pub async fn connect_mcp_config_json( config: CompressedServerConfig, mcp_config_json: &str, ) -> Result<CompressedServer, Error>
Connect using a JSON MCP config document containing one or more mcpServers entries.
Sourcepub async fn list_frontend_tools(&self) -> Result<Vec<Tool>, Error>
pub async fn list_frontend_tools(&self) -> Result<Vec<Tool>, Error>
Return the frontend MCP tools exposed to callers.
Sourcepub fn compression_level(&self) -> &CompressionLevel
pub fn compression_level(&self) -> &CompressionLevel
Return the default backend server name when a single unambiguous default exists.
pub fn default_server_name(&self) -> Option<&str>
Sourcepub fn backend_tools(&self) -> Vec<Tool>
pub fn backend_tools(&self) -> Vec<Tool>
Return backend tool metadata for client generation and language bindings.
Sourcepub fn backend_tools_by_server(&self) -> Vec<(String, Tool)>
pub fn backend_tools_by_server(&self) -> Vec<(String, Tool)>
Return backend tool metadata grouped by public backend server name.
Sourcepub async fn get_tool_schema(
&self,
_wrapper_tool_name: &str,
backend_tool_name: &str,
) -> Result<String, Error>
pub async fn get_tool_schema( &self, _wrapper_tool_name: &str, backend_tool_name: &str, ) -> Result<String, Error>
Return the full backend schema for a tool via the compressed wrapper API.
Sourcepub async fn list_backend_tools(
&self,
wrapper_tool_name: &str,
) -> Result<String, Error>
pub async fn list_backend_tools( &self, wrapper_tool_name: &str, ) -> Result<String, Error>
List backend tools via the max-compression list_tools wrapper.
Sourcepub async fn invoke_tool(
&self,
_wrapper_tool_name: &str,
backend_tool_name: &str,
tool_input: Value,
) -> Result<String, Error>
pub async fn invoke_tool( &self, _wrapper_tool_name: &str, backend_tool_name: &str, tool_input: Value, ) -> Result<String, Error>
Invoke a backend tool via the compressed wrapper API.
Sourcepub async fn list_resources(&self) -> Result<Vec<String>, Error>
pub async fn list_resources(&self) -> Result<Vec<String>, Error>
List frontend resources, including pass-through backend resources and compressor-owned uncompressed-tool-list resources.
Sourcepub async fn read_resource(&self, uri: &str) -> Result<String, Error>
pub async fn read_resource(&self, uri: &str) -> Result<String, Error>
Read a frontend resource by URI.
Sourcepub async fn list_prompts(&self) -> Result<Vec<String>, Error>
pub async fn list_prompts(&self) -> Result<Vec<String>, Error>
List frontend prompts passed through from backend servers.
Sourcepub async fn get_prompt(
&self,
name: &str,
arguments: Option<Map<String, Value>>,
) -> Result<GetPromptResult, Error>
pub async fn get_prompt( &self, name: &str, arguments: Option<Map<String, Value>>, ) -> Result<GetPromptResult, Error>
Fetch a prompt from the backend that owns it.
Sourcepub fn single_backend_tools(&self) -> Result<Vec<Tool>, Error>
pub fn single_backend_tools(&self) -> Result<Vec<Tool>, Error>
Return backend tools when the runtime has exactly one backend.
Sourcepub fn just_bash_provider_specs(&self) -> Vec<JustBashProviderSpec>
pub fn just_bash_provider_specs(&self) -> Vec<JustBashProviderSpec>
Invoke a backend tool directly when the runtime has exactly one backend.
This is used by generated proxy clients, which call /exec with the
backend tool name directly rather than the MCP wrapper tool name.