pub struct McpInstallPlan {
pub configuration_changes: Vec<McpPlanConfigurationChange>,
pub identity: McpPlanResourceIdentity,
pub plan_handle: String,
pub plan_handle_expires_at: String,
pub policy: McpPlanPolicyResult,
pub provenance: McpPlanProvenance,
pub recommended_transport_choice_id: Option<String>,
pub reload_required: bool,
pub requires_interactive_configuration: bool,
pub target: McpPlanTarget,
pub transport_choices: Vec<Value>,
}Expand description
A normalised, inert description of what installing an MCP server would involve. Carries no raw card, no install specification, and no secret value.
Experimental. This type is part of an experimental wire-protocol surface and may change or be removed in future SDK or CLI releases.
Fields§
§configuration_changes: Vec<McpPlanConfigurationChange>The configuration changes installing would make, described rather than serialised, so the mutable configuration payload stays behind the runtime boundary.
identity: McpPlanResourceIdentityNormalised identity of the server the plan would install.
plan_handle: StringOpaque, runtime-instance scoped, TTL-bound, single-use handle for this plan. Rejected when stale, replayed, or presented to a different runtime instance. Never logged.
plan_handle_expires_at: StringISO 8601 timestamp after which the plan handle is stale and will be rejected. Abandoning a plan needs no call: an unused handle simply expires, so cancellation before commit is side-effect free.
policy: McpPlanPolicyResultOutcome of evaluating the server against registry and enterprise policy.
provenance: McpPlanProvenanceOrigin and semantic digest of the exact validated JSON MCP card content bound to this plan.
recommended_transport_choice_id: Option<String>Identifier of the choice the runtime would pick by default. Omitted when there is no eligible transport, or when the runtime expresses no preference.
reload_required: boolWhether applying this plan would require an MCP reload to take effect. Planning itself never reloads.
requires_interactive_configuration: boolWhether the plan cannot be applied without further input, because a required value has no default or a secret must be supplied.
target: McpPlanTargetConfiguration scope and key the plan would write to.
transport_choices: Vec<Value>Every eligible transport, so a host can present an explicit choice. A completed plan always has at least one; when none is eligible, planning returns CatalogUnavailableTransportError instead.
Trait Implementations§
Source§impl Clone for McpInstallPlan
impl Clone for McpInstallPlan
Source§fn clone(&self) -> McpInstallPlan
fn clone(&self) -> McpInstallPlan
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more