McpPlugin¶
McpPlugin
¶
Bases: BasePlugin
MCP interception plugin.
Patches ClientSession.call_tool, ClientSession.read_resource, ClientSession.get_prompt and Server._handle_request at the class level. Uses reference counting so nested sandboxes work correctly.
Each (direction, method, key) triple has its own FIFO deque of McpMockConfig objects.
Source code in src/tripwire/plugins/mcp_plugin.py
mock_call_tool
¶
Register a mock for a client call_tool invocation.
Source code in src/tripwire/plugins/mcp_plugin.py
mock_read_resource
¶
Register a mock for a client read_resource invocation.
Source code in src/tripwire/plugins/mcp_plugin.py
mock_get_prompt
¶
Register a mock for a client get_prompt invocation.
Source code in src/tripwire/plugins/mcp_plugin.py
mock_server_call_tool
¶
Register a mock for a server call_tool handler invocation.
Source code in src/tripwire/plugins/mcp_plugin.py
mock_server_read_resource
¶
Register a mock for a server read_resource handler invocation.
Source code in src/tripwire/plugins/mcp_plugin.py
mock_server_get_prompt
¶
Register a mock for a server get_prompt handler invocation.
Source code in src/tripwire/plugins/mcp_plugin.py
install_patches
¶
Install MCP client/server patches.
Source code in src/tripwire/plugins/mcp_plugin.py
restore_patches
¶
Restore original MCP client/server functions.
Source code in src/tripwire/plugins/mcp_plugin.py
matches
¶
Field-by-field comparison with dirty-equals support.
Source code in src/tripwire/plugins/mcp_plugin.py
get_unused_mocks
¶
Return all McpMockConfig with required=True still in any queue.
Source code in src/tripwire/plugins/mcp_plugin.py
assert_call_tool
¶
Assert the next call_tool interaction.
Source code in src/tripwire/plugins/mcp_plugin.py
assert_read_resource
¶
Assert the next read_resource interaction.
Source code in src/tripwire/plugins/mcp_plugin.py
assert_get_prompt
¶
Assert the next get_prompt interaction.
Source code in src/tripwire/plugins/mcp_plugin.py
McpMockConfig¶
McpMockConfig
dataclass
¶
McpMockConfig(direction, method, key, returns, raises=None, required=True, registration_traceback=(lambda: join(format_stack()))())
Configuration for a single mocked MCP call invocation.
Attributes: direction: "client" or "server". method: One of "call_tool", "read_resource", "get_prompt". key: The tool_name, uri, or prompt_name used for queue keying. returns: The value to return when this mock is consumed. raises: If not None, this exception is raised instead of returning. required: If True, the mock is reported as unused if never triggered. registration_traceback: Captured automatically at creation time.