pub struct McpStdioSmokeClient { /* private fields */ }Expand description
Minimal newline-delimited JSON-RPC MCP client for subprocess smoke tests.
This intentionally exposes raw JSON protocol results so application-level smoke flows can assert the same field names seen by external MCP clients.
Implementations§
Source§impl McpStdioSmokeClient
impl McpStdioSmokeClient
Sourcepub fn spawn(command: &mut Command) -> Result<Self, McpStdioSmokeError>
pub fn spawn(command: &mut Command) -> Result<Self, McpStdioSmokeError>
Spawn an MCP stdio server process and connect to its stdin/stdout.
Sourcepub fn discover(&mut self) -> Result<Value, McpStdioSmokeError>
pub fn discover(&mut self) -> Result<Value, McpStdioSmokeError>
Discover the server’s MCP 2026-07-28 capabilities and identity.
Sourcepub fn list_tools(&mut self) -> Result<Value, McpStdioSmokeError>
pub fn list_tools(&mut self) -> Result<Value, McpStdioSmokeError>
Call tools/list.
Sourcepub fn list_resources(&mut self) -> Result<Value, McpStdioSmokeError>
pub fn list_resources(&mut self) -> Result<Value, McpStdioSmokeError>
Call resources/list.
Sourcepub fn list_resource_templates(&mut self) -> Result<Value, McpStdioSmokeError>
pub fn list_resource_templates(&mut self) -> Result<Value, McpStdioSmokeError>
Call resources/templates/list.
Sourcepub fn read_resource(&mut self, uri: &str) -> Result<Value, McpStdioSmokeError>
pub fn read_resource(&mut self, uri: &str) -> Result<Value, McpStdioSmokeError>
Call resources/read for one concrete URI.
Sourcepub fn call_tool(
&mut self,
name: &str,
arguments: Value,
) -> Result<Value, McpStdioSmokeError>
pub fn call_tool( &mut self, name: &str, arguments: Value, ) -> Result<Value, McpStdioSmokeError>
Call tools/call for one tool with JSON object arguments.
Sourcepub fn request(
&mut self,
method: &str,
params: Value,
) -> Result<Value, McpStdioSmokeError>
pub fn request( &mut self, method: &str, params: Value, ) -> Result<Value, McpStdioSmokeError>
Send a raw JSON-RPC request and return the response result.
Sourcepub fn shutdown(
&mut self,
timeout: Duration,
) -> Result<Option<ExitStatus>, McpStdioSmokeError>
pub fn shutdown( &mut self, timeout: Duration, ) -> Result<Option<ExitStatus>, McpStdioSmokeError>
Close stdin, wait briefly for the server, and kill it if it remains alive.
Sourcepub fn stderr(&self) -> StderrSnapshot
pub fn stderr(&self) -> StderrSnapshot
Return currently captured stderr text.
Trait Implementations§
Source§impl Drop for McpStdioSmokeClient
impl Drop for McpStdioSmokeClient
Auto Trait Implementations§
impl Freeze for McpStdioSmokeClient
impl RefUnwindSafe for McpStdioSmokeClient
impl Send for McpStdioSmokeClient
impl Sync for McpStdioSmokeClient
impl Unpin for McpStdioSmokeClient
impl UnsafeUnpin for McpStdioSmokeClient
impl UnwindSafe for McpStdioSmokeClient
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
Mutably borrows from an owned value. Read more