Class: McpToolkit::Tools::List
- Inherits:
-
Base
- Object
- Base
- McpToolkit::Tools::List
- Defined in:
- lib/mcp_toolkit/tools/list.rb
Overview
Fetches a paginated list of records from a registered resource, scoped to the resolved scope root.
Class Method Summary collapse
Class Method Details
.call(server_context:, resource: nil, account_id: nil, **params) ⇒ Object
71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/mcp_toolkit/tools/list.rb', line 71 def self.call(server_context:, resource: nil, account_id: nil, **params) config = config_from(server_context) # Resolve the resource FIRST so its effective required scope is known before # the scope check (and so an unknown resource is a clean tool error). descriptor = resolve_descriptor(resource, config) required_scope = config.registry.required_scope_for(descriptor) with_account(server_context, account_id:, required_scope:) do |scope_root| McpToolkit::ListExecutor.call(resource: descriptor, scope_root:, params:) end rescue McpToolkit::Errors::InvalidParams => e error_response("Invalid request: #{e.}") end |