Class: Tools::FindPublicationsTool
- Inherits:
-
ApplicationTool
- Object
- MCP::Tool
- ApplicationTool
- Tools::FindPublicationsTool
- Defined in:
- app/mcp/tools/find_publications_tool.rb
Overview
MCP Tool for finding publications (PDFs, manuals, datasheets).
Publications contain installation guides, technical specifications, and product documentation.
Class Method Summary collapse
Class Method Details
.call(query:, product_line: nil, limit: 5, server_context: nil) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'app/mcp/tools/find_publications_tool.rb', line 37 def call(query:, product_line: nil, limit: 5, server_context: nil) limit = [[limit.to_i, 1].max, 20].min publications = SemanticSearchService.find_publications(query, limit: limit * 2) if product_line.present? publications = publications.select do |pub| pub.product_lines.any? { |pl| pl.name.downcase.include?(product_line.downcase) } end end publications = publications.first(limit) json_response( query: query, product_line_filter: product_line, total_results: publications.size, publications: publications.map { |p| format_publication(p) } ) end |