#[non_exhaustive]pub struct LaunchPlan {
pub program: Program,
pub args: Vec<String>,
pub env_overlay: Vec<(String, String)>,
pub plugin_root: PathBuf,
pub plugin_data: PathBuf,
pub cwd: PathBuf,
}Expand description
Everything needed to launch one stdio MCP server.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.program: ProgramThe program to execute.
args: Vec<String>Arguments after placeholder expansion, in order.
env_overlay: Vec<(String, String)>The configured environment overlay after placeholder expansion. Apply these to your chosen base environment first (§9.1).
plugin_root: PathBufThe absolute plugin root — set as PLUGIN_ROOT after the overlay,
replacing any same-name entry (§9.1).
plugin_data: PathBufThe absolute plugin data directory — set as PLUGIN_DATA after the
overlay. The client must create it and keep it writable (§9.1).
cwd: PathBufThe resolved working directory (§7.2.1).
Implementations§
Source§impl LaunchPlan
impl LaunchPlan
Sourcepub fn reserved_env(&self) -> [(&'static str, &Path); 2]
pub fn reserved_env(&self) -> [(&'static str, &Path); 2]
The two reserved variables, ready to set last (§9.1).
Sourcepub fn to_command(&self) -> Command
pub fn to_command(&self) -> Command
Materialize as a std::process::Command, inheriting this process’s
environment as the base (a permitted client choice under §9.1), then
applying the overlay, then the reserved variables.
Trait Implementations§
Source§impl Clone for LaunchPlan
impl Clone for LaunchPlan
Source§impl Debug for LaunchPlan
impl Debug for LaunchPlan
impl Eq for LaunchPlan
Source§impl PartialEq for LaunchPlan
impl PartialEq for LaunchPlan
impl StructuralPartialEq for LaunchPlan
Auto Trait Implementations§
impl Freeze for LaunchPlan
impl RefUnwindSafe for LaunchPlan
impl Send for LaunchPlan
impl Sync for LaunchPlan
impl Unpin for LaunchPlan
impl UnsafeUnpin for LaunchPlan
impl UnwindSafe for LaunchPlan
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.