pub struct McpHostProxy { /* private fields */ }Expand description
In-memory mcp host proxy fixture for SDK conformance tests. Use it to script deterministic behavior in memory; any transcript or endpoint mutation is documented on the method that performs it.
Implementations§
Source§impl McpHostProxy
impl McpHostProxy
Sourcepub fn new(endpoint: JsonRpcLineEndpoint) -> Self
pub fn new(endpoint: JsonRpcLineEndpoint) -> Self
Creates a new testing::protocol::mcp value with explicit caller-provided inputs. This constructor is data-only and performs no I/O or external side effects.
Sourcepub fn allow_tool(self, name: impl Into<String>) -> Self
pub fn allow_tool(self, name: impl Into<String>) -> Self
Returns an updated value with allow tool configured. This configures or reads the scripted protocol mock in memory.
Sourcepub fn allow_resource(self, uri: impl Into<String>) -> Self
pub fn allow_resource(self, uri: impl Into<String>) -> Self
Returns an updated value with allow resource configured. This updates the scripted MCP mock allowlist in memory for later protocol calls.
Sourcepub fn allow_prompt(self, name: impl Into<String>) -> Self
pub fn allow_prompt(self, name: impl Into<String>) -> Self
Returns an updated value with allow prompt configured. This updates the scripted MCP mock allowlist in memory for later protocol calls.
Sourcepub fn endpoint(&self) -> &JsonRpcLineEndpoint
pub fn endpoint(&self) -> &JsonRpcLineEndpoint
Returns the endpoint currently held by this value. This reads scripted protocol state or a queued response without contacting an external process.
Sourcepub fn initialize(&mut self) -> Result<JsonRpcId, AgentError>
pub fn initialize(&mut self) -> Result<JsonRpcId, AgentError>
Initialize. This appends the corresponding JSON-RPC frame to the scripted MCP mock transcript and returns the request id when applicable.
Sourcepub fn initialized(&self) -> Result<(), AgentError>
pub fn initialized(&self) -> Result<(), AgentError>
Sends the MCP notifications/initialized frame to the scripted server endpoint.
This appends one in-memory JSON-RPC notification; it does not contact a live MCP process or
mutate SDK runtime state.
Sourcepub fn list_tools(&mut self) -> Result<JsonRpcId, AgentError>
pub fn list_tools(&mut self) -> Result<JsonRpcId, AgentError>
List tools. This appends the corresponding JSON-RPC frame to the in-memory test endpoint transcript.
Sourcepub fn list_resources(&mut self) -> Result<JsonRpcId, AgentError>
pub fn list_resources(&mut self) -> Result<JsonRpcId, AgentError>
List resources. This appends the corresponding JSON-RPC frame to the scripted MCP mock transcript and returns the request id when applicable.
Sourcepub fn list_prompts(&mut self) -> Result<JsonRpcId, AgentError>
pub fn list_prompts(&mut self) -> Result<JsonRpcId, AgentError>
List prompts. This appends the corresponding JSON-RPC frame to the scripted MCP mock transcript and returns the request id when applicable.
Sourcepub fn call_tool(
&mut self,
name: &str,
arguments: Value,
) -> Result<JsonRpcId, AgentError>
pub fn call_tool( &mut self, name: &str, arguments: Value, ) -> Result<JsonRpcId, AgentError>
Call tool. This appends the corresponding JSON-RPC frame to the in-memory test endpoint transcript.
Sourcepub fn read_resource(&mut self, uri: &str) -> Result<JsonRpcId, AgentError>
pub fn read_resource(&mut self, uri: &str) -> Result<JsonRpcId, AgentError>
Read resource. This appends the corresponding JSON-RPC frame to the in-memory test endpoint transcript.
Sourcepub fn handle_next(
&self,
endpoint: &JsonRpcLineEndpoint,
) -> Result<bool, AgentError>
pub fn handle_next( &self, endpoint: &JsonRpcLineEndpoint, ) -> Result<bool, AgentError>
Handle next. This consumes one queued JSON-RPC frame from the endpoint and mutates only the scripted mock state.
Sourcepub fn response(&mut self) -> Result<JsonRpcResponse, AgentError>
pub fn response(&mut self) -> Result<JsonRpcResponse, AgentError>
Returns the response currently held by this value. This reads scripted protocol state or a queued response without contacting an external process.
Sourcepub fn allowed_tool_names_from_response(
&self,
response: &JsonRpcResponse,
) -> Result<Vec<String>, AgentError>
pub fn allowed_tool_names_from_response( &self, response: &JsonRpcResponse, ) -> Result<Vec<String>, AgentError>
Returns allowed tool names from response for the current value. This is a read-only or data-construction helper unless the method body explicitly calls a port or store.
Trait Implementations§
Source§impl Clone for McpHostProxy
impl Clone for McpHostProxy
Source§fn clone(&self) -> McpHostProxy
fn clone(&self) -> McpHostProxy
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more