ruby-sdk/lib/mcp/tool/input_schema.rb
2025-05-29 17:11:40 -04:00

26 lines
571 B
Ruby

# frozen_string_literal: true
module MCP
class Tool
class InputSchema
attr_reader :properties, :required
def initialize(properties: {}, required: [])
@properties = properties
@required = required.map(&:to_sym)
end
def to_h
{ type: "object", properties:, required: }
end
def missing_required_arguments?(arguments)
missing_required_arguments(arguments).any?
end
def missing_required_arguments(arguments)
(required - arguments.keys.map(&:to_sym))
end
end
end
end