Class: RailsDevMCP::Tools::StartDevServer

Inherits:
BaseTool
  • Object
show all
Defined in:
lib/rails_dev_mcp/tools/start_dev_server.rb

Instance Method Summary collapse

Instance Method Details

#call(port: nil) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/rails_dev_mcp/tools/start_dev_server.rb', line 12

def call(port: nil)
  port ||= 3000
  
  # Create process manager if not exists
  RailsDevMCP.server_process ||= ProcessManager.new(
    rails_root: RailsDevMCP.rails_root,
    port: port
  )

  result = RailsDevMCP.server_process.start
  
  if result[:success]
    log(:info, "Rails server started: #{result[:message]}")
    "#{result[:message]}\nPID: #{result[:pid]}\nURL: http://localhost:#{port}"
  else
    log(:error, "Failed to start Rails server: #{result[:error]}")
    "❌ Failed to start Rails server: #{result[:error]}"
  end
end