Class: RailsAiBridge::Tools::GetGems

Inherits:
BaseTool
  • Object
show all
Defined in:
lib/rails_ai_bridge/tools/get_gems.rb

Overview

MCP tool summarizing +Gemfile.lock+ and notable gems by category.

Class Method Summary collapse

Methods inherited from BaseTool

cached_context, cached_section, config, rails_app, reset_cache!, text_response

Class Method Details

.call(category: 'all', _server_context: nil) ⇒ MCP::Tool::Response

or +all+

Parameters:

  • category (String) (defaults to: 'all')

    filter: +auth+, +jobs+, +frontend+, +api+, +database+, +files+, +testing+, +deploy+,

  • _server_context (Object, nil) (defaults to: nil)

    reserved for MCP transport metadata (unused)

Returns:

  • (MCP::Tool::Response)

    markdown gem analysis or an error message



27
28
29
30
31
32
33
34
# File 'lib/rails_ai_bridge/tools/get_gems.rb', line 27

def self.call(category: 'all', _server_context: nil)
  gems = cached_section(:gems)
  return text_response('Gem introspection not available. Add :gems to introspectors.') unless gems
  return text_response("Gem introspection failed: #{gems[:error]}") if gems[:error]

  formatter = ResponseFormatter.new(gems, category: category)
  text_response(formatter.format)
end