pub struct Server {
pub name: String,
pub url: String,
pub initialize_result: InitializeResult,
pub laboratory: Option<Laboratory>,
pub laboratory_id: Option<String>,
pub plugin: Option<Plugin>,
}Expand description
One connected upstream MCP server.
Fields§
§name: StringThe proxy’s routing prefix for this server (matches the <prefix>_
prepended to its tools/resources in the aggregated surface).
url: StringThe upstream server’s URL.
initialize_result: InitializeResultThe server’s initialize response: capabilities, server_info
(name, version, title, description), instructions, protocol version.
laboratory: Option<Laboratory>Set only when this upstream is genuinely a laboratory — i.e. a
client (websocket) laboratory today. Non-laboratory servers (plain
HTTP, the primary objectiveai MCP, plugins) leave this None.
laboratory_id: Option<String>The laboratory’s ASSISTANT-FACING composite id —
{machineID}/{base62(state)}/{base62(laboratoryID)}
(ClientLaboratory::composite_id),
what laboratory_transfer takes as source/destination.
Present exactly when laboratory is (and its marker carries
the machine pair).
plugin: Option<Plugin>Set only when this upstream is a plugin-hosted MCP server. Other
servers (plain HTTP, the primary objectiveai MCP, laboratories)
leave this None.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Server
impl<'de> Deserialize<'de> for Server
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>,
Source§impl JsonSchema for Server
impl JsonSchema for Server
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for Server
impl RefUnwindSafe for Server
impl Send for Server
impl Sync for Server
impl Unpin for Server
impl UnsafeUnpin for Server
impl UnwindSafe for Server
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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