Class: RailsMcpInsight::Tools::GenerateErd

Inherits:
MCP::Tool
  • Object
show all
Defined in:
lib/rails_mcp_insight/tools/generate_erd.rb

Class Method Summary collapse

Class Method Details

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



24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/rails_mcp_insight/tools/generate_erd.rb', line 24

def self.call(server_context:, models: nil)
  config = Configuration.new(project_path: server_context&.dig(:project_path) || Dir.pwd)
  model_analyzer = Analyzers::ModelAnalyzer.new(config)
  formatter = Formatters::MermaidFormatter.new(model_analyzer)

  erd = formatter.generate_erd(model_names: models)

  MCP::Tool::Response.new([{
                            type: "text",
                            text: "```mermaid\n#{erd}\n```"
                          }])
end