Class: McpToolkit::Tools::ResourceSchema
- Inherits:
-
Base
- Object
- Base
- McpToolkit::Tools::ResourceSchema
- Defined in:
- lib/mcp_toolkit/tools/resource_schema.rb
Overview
Discovery tool: the detailed schema (attributes + relationships) of one resource.
Class Method Summary collapse
Class Method Details
.call(server_context:, resource: nil, **_args) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/mcp_toolkit/tools/resource_schema.rb', line 29 def self.call(server_context:, resource: nil, **_args) config = config_from(server_context) # Resolve the resource FIRST so its effective required scope gates discovery # of THIS resource's shape (and an unknown resource is a clean tool error). descriptor = resolve_descriptor(resource, config) with_authentication(server_context, required_scope: config.registry.required_scope_for(descriptor)) do McpToolkit::ResourceSchema.call(descriptor, registry: config.registry) end rescue McpToolkit::Errors::InvalidParams => e error_response("Invalid request: #{e.}") end |