Module: MCP::Client::Elicitation
- Defined in:
- lib/mcp/client/elicitation.rb
Overview
Client-side helpers for the elicitation/create server-to-client request.
https://modelcontextprotocol.io/specification/2025-11-25/client/elicitation
Class Method Summary collapse
Class Method Details
.apply_defaults(requested_schema, content = {}) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/mcp/client/elicitation.rb', line 29 def apply_defaults(requested_schema, content = {}) filled = content.to_h.transform_keys(&:to_s) properties = requested_schema["properties"] || requested_schema[:properties] return filled unless properties.is_a?(Hash) properties.each do |name, property_schema| name = name.to_s next if filled.key?(name) next unless property_schema.is_a?(Hash) if property_schema.key?("default") filled[name] = property_schema["default"] elsif property_schema.key?(:default) filled[name] = property_schema[:default] end end filled end |