Module: VectorMCP::Middleware
- Defined in:
- lib/vector_mcp/middleware.rb,
lib/vector_mcp/middleware/base.rb,
lib/vector_mcp/middleware/hook.rb,
lib/vector_mcp/middleware/context.rb,
lib/vector_mcp/middleware/manager.rb,
lib/vector_mcp/middleware/anonymizer.rb
Overview
Middleware system for pluggable hooks around MCP operations Allows developers to add custom behavior without modifying core code
Defined Under Namespace
Classes: Anonymizer, Base, Context, Hook, InvalidHookTypeError, Manager, MiddlewareError
Constant Summary collapse
- HOOK_OPERATION_TYPES =
Maps each hook type to the operation_type it matches. ‘nil` means the hook is transport- or auth-level and matches any operation_type. This is the single source of truth — HOOK_TYPES is derived from it.
{ "before_tool_call" => :tool_call, "after_tool_call" => :tool_call, "on_tool_error" => :tool_call, "before_resource_read" => :resource_read, "after_resource_read" => :resource_read, "on_resource_error" => :resource_read, "before_prompt_get" => :prompt_get, "after_prompt_get" => :prompt_get, "on_prompt_error" => :prompt_get, "before_sampling_request" => :sampling, "after_sampling_response" => :sampling, "on_sampling_error" => :sampling, "before_request" => nil, "after_response" => nil, "on_transport_error" => nil, "before_auth" => nil, "after_auth" => nil, "on_auth_error" => nil }.freeze
- HOOK_TYPES =
Hook types available in the system (derived from HOOK_OPERATION_TYPES)
HOOK_OPERATION_TYPES.keys.freeze