Class: McpToolkit::Tools::Get
- Inherits:
-
Base
- Object
- Base
- McpToolkit::Tools::Get
- Defined in:
- lib/mcp_toolkit/tools/get.rb
Overview
Fetches a single record by id from a registered resource, scoped to the resolved scope root.
Class Method Summary collapse
Class Method Details
.call(server_context:, resource: nil, id: nil, account_id: nil, fields: nil, **_args) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/mcp_toolkit/tools/get.rb', line 45 def self.call(server_context:, resource: nil, id: nil, account_id: nil, fields: nil, **_args) 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::GetExecutor.call(resource: descriptor, scope_root:, id:, fields:) end rescue McpToolkit::Errors::InvalidParams => e error_response("Invalid request: #{e.}") end |