Skip to main content

MCP Middleware API

Wrap MCP tool handlers with Shadow Executor policy enforcement.

Functions

wrapToolHandler

function wrapToolHandler<T>(
handler: (args: T) => Promise<unknown>,
config: ShadowExecutorConfig
): (args: T) => Promise<unknown>

Wrap single MCP tool handler.

wrapAllToolHandlers

function wrapAllToolHandlers(
handlers: Record<string, Function>,
config: ShadowExecutorConfig
): Record<string, Function>

Wrap multiple tool handlers.

Error Types

class BlockedActionError extends Error {
decision: PolicyDecision;
}

Source

Implementation: packages/sdk/src/mcp/middleware.ts