Class: OvertureMaps::MCPServer::GeocodeTool

Inherits:
MCP::Tool
  • Object
show all
Defined in:
lib/overture_maps/mcp_server.rb

Class Method Summary collapse

Class Method Details

.call(query:, server_context: nil) ⇒ Object



70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/overture_maps/mcp_server.rb', line 70

def self.call(query:, server_context: nil)
  results = DivisionSearch.search(query: query).map do |r|
    {
      name: r[:name], subtype: r[:subtype], country: r[:country], region: r[:region],
      area_km2: r[:area_km2],
      bbox: [r[:bbox].min_lng, r[:bbox].min_lat, r[:bbox].max_lng, r[:bbox].max_lat]
    }
  end
  Helpers.text_response(results)
rescue OvertureMaps::Error, ArgumentError => e
  Helpers.error_response(e.message)
end