Class: MCP::Tool::InputSchema

Inherits:
Object
  • Object
show all
Defined in:
lib/mcp/tool/input_schema.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(properties: {}, required: []) ⇒ InputSchema



8
9
10
11
# File 'lib/mcp/tool/input_schema.rb', line 8

def initialize(properties: {}, required: [])
  @properties = properties
  @required = required.map(&:to_sym)
end

Instance Attribute Details

#propertiesObject (readonly)

Returns the value of attribute properties.



6
7
8
# File 'lib/mcp/tool/input_schema.rb', line 6

def properties
  @properties
end

#requiredObject (readonly)

Returns the value of attribute required.



6
7
8
# File 'lib/mcp/tool/input_schema.rb', line 6

def required
  @required
end

Instance Method Details

#missing_required_arguments(arguments) ⇒ Object



21
22
23
# File 'lib/mcp/tool/input_schema.rb', line 21

def missing_required_arguments(arguments)
  (required - arguments.keys.map(&:to_sym))
end

#missing_required_arguments?(arguments) ⇒ Boolean



17
18
19
# File 'lib/mcp/tool/input_schema.rb', line 17

def missing_required_arguments?(arguments)
  missing_required_arguments(arguments).any?
end

#to_hObject



13
14
15
# File 'lib/mcp/tool/input_schema.rb', line 13

def to_h
  { type: "object", properties:, required: }
end