pub struct McpServerCustomization {
pub id: String,
pub uri: Uri,
pub name: String,
pub icons: Option<Vec<Icon>>,
pub range: Option<TextRange>,
pub meta: Option<JsonObject>,
pub enabled: bool,
pub state: McpServerState,
pub channel: Option<Uri>,
pub mcp_app: Option<McpServerCustomizationApps>,
}Expand description
An MCP server contributed by a plugin or directory.
When the server is declared inline in the containing plugin manifest,
uri points at the manifest file and
{@link CustomizationBase.range | range} narrows it to the
declaration’s span.
The MCP server customization also reflects its current status.
Fields§
§id: StringSession-unique opaque identifier. Used by every action that targets a specific customization. Minted by whoever publishes the customization (typically the agent host).
uri: UriSource URI for this customization. A plugin URL, a file URI, or a directory URI.
For declarations that live inside a larger file — e.g. an MCP
server declared inline in a plugins.json manifest — uri points
to the containing file and {@link CustomizationBase.range | range}
narrows it to the declaration’s span.
name: StringHuman-readable name.
icons: Option<Vec<Icon>>Icons for UI display.
range: Option<TextRange>Optional span within {@link CustomizationBase.uri | uri} when this
customization is a subset of a larger file (for example, one entry
in an inline mcpServers block of a plugins.json manifest).
Absent when the customization covers the whole resource.
meta: Option<JsonObject>Additional provider-specific metadata for this customization.
Mirrors the MCP _meta convention. Optional and opaque to the
protocol; producers and consumers agree on its contents
out-of-band.
enabled: boolWhether this MCP server is currently enabled.
state: McpServerStateCurrent lifecycle state of the MCP server.
channel: Option<Uri>An mcp://-protocol channel the client uses to side-channel traffic
into the upstream MCP server itself. The channel is NOT a fresh raw MCP
connection: it piggybacks on the AHP transport
and skips the MCP initialize sequence.
The agent host MAY only serve a subset of MCP on this channel; the served subset is described by domain-specific capabilities such as those in {@link McpServerCustomizationApps.capabilities}.
The channel URI SHOULD be stable across the server’s lifetime, but
the agent host MAY change it (for example across a restart) and
MAY only expose it while the server is in
{@link McpServerStatus.Ready | Ready}. Absence means no
side-channel is currently available.
mcp_app: Option<McpServerCustomizationApps>MCP App support. This property SHOULD be advertised for MCP servers which support apps.
Trait Implementations§
Source§impl Clone for McpServerCustomization
impl Clone for McpServerCustomization
Source§fn clone(&self) -> McpServerCustomization
fn clone(&self) -> McpServerCustomization
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for McpServerCustomization
impl Debug for McpServerCustomization
Source§impl<'de> Deserialize<'de> for McpServerCustomization
impl<'de> Deserialize<'de> for McpServerCustomization
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 PartialEq for McpServerCustomization
impl PartialEq for McpServerCustomization
Source§fn eq(&self, other: &McpServerCustomization) -> bool
fn eq(&self, other: &McpServerCustomization) -> bool
self and other values to be equal, and is used by ==.