Module: FastMcp::ServerFiltering
- Included in:
- Server
- Defined in:
- lib/mcp/server_filtering.rb
Overview
Module for handling server filtering functionality
Instance Method Summary collapse
-
#contains_filters? ⇒ Boolean
Check if filters are configured.
-
#create_filtered_copy(request) ⇒ Object
Create a filtered copy for a specific request.
-
#filter_resources(&block) ⇒ Object
Add filter for resources.
-
#filter_tools(&block) ⇒ Object
Add filter for tools.
Instance Method Details
#contains_filters? ⇒ Boolean
Check if filters are configured
17 18 19 |
# File 'lib/mcp/server_filtering.rb', line 17 def contains_filters? @tool_filters.any? || @resource_filters.any? end |
#create_filtered_copy(request) ⇒ Object
Create a filtered copy for a specific request
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/mcp/server_filtering.rb', line 22 def create_filtered_copy(request) filtered_server = self.class.new( name: @name, version: @version, logger: @logger, capabilities: @capabilities ) # Copy transport settings filtered_server.transport_klass = @transport_klass # Apply filters and register items register_filtered_tools(filtered_server, request) register_filtered_resources(filtered_server, request) filtered_server end |
#filter_resources(&block) ⇒ Object
Add filter for resources
12 13 14 |
# File 'lib/mcp/server_filtering.rb', line 12 def filter_resources(&block) @resource_filters << block if block_given? end |
#filter_tools(&block) ⇒ Object
Add filter for tools
7 8 9 |
# File 'lib/mcp/server_filtering.rb', line 7 def filter_tools(&block) @tool_filters << block if block_given? end |