Module: ActionMCP::Server::ToolResult

Defined in:
lib/action_mcp/server/tool_result.rb

Class Method Summary collapse

Class Method Details

.execution_error(message, data: nil) ⇒ Object



19
20
21
22
23
24
# File 'lib/action_mcp/server/tool_result.rb', line 19

def execution_error(message, data: nil)
  details = data.is_a?(Array) ? data.join(", ") : nil
  text = [ message, details ].compact_blank.join(": ")

  ToolResponse.new.tap { |response| response.report_tool_error(text) }
end

.normalize(response) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/action_mcp/server/tool_result.rb', line 8

def normalize(response)
  payload = response.to_h
  code = payload[:code] || payload["code"]
  return response unless response.error? && code == -32_602

  execution_error(
    payload[:message] || payload["message"],
    data: payload[:data] || payload["data"]
  )
end