Class: Collavre::Comments::McpCommandBuilder

Inherits:
Object
  • Object
show all
Defined in:
app/services/collavre/comments/mcp_command_builder.rb

Instance Method Summary collapse

Constructor Details

#initialize(comment:, user:, creative: nil, logger: Rails.logger) ⇒ McpCommandBuilder

Returns a new instance of McpCommandBuilder.



4
5
6
7
8
9
# File 'app/services/collavre/comments/mcp_command_builder.rb', line 4

def initialize(comment:, user:, creative: nil, logger: Rails.logger)
  @comment = comment
  @user = user
  @creative = creative
  @logger = logger
end

Instance Method Details

#commandsObject



11
12
13
14
15
16
17
18
19
20
21
22
# File 'app/services/collavre/comments/mcp_command_builder.rb', line 11

def commands
  return [] unless defined?(RailsMcpEngine)

  RailsMcpEngine::Engine.build_tools!
  tools = meta_tool_service.call(action: "list", tool_name: nil, query: nil, arguments: nil)
  Array(tools[:tools]).map do |tool|
    Collavre::Comments::McpCommand.new(comment: comment, user: user, tool: tool, creative: creative, meta_tool_service: meta_tool_service)
  end
rescue StandardError => e
  logger.error("MCP command registration failed: #{e.message}")
  []
end