Commit 240d8e7
Changed files (1)
lib
elelem
lib/elelem/mcp.rb
@@ -68,10 +68,18 @@ module Elelem
def call(name, args)
result = request("tools/call", { name: name, arguments: args })
logger.info({ tool: name, args: args, result: result }.to_json)
- content = result["content"]&.map { |c| c["text"] }&.join("\n")
+ content = extract_content(result)
result["isError"] ? { error: content } : { content: content }
end
+ def extract_content(result)
+ if (structured = result["structuredContent"])
+ JSON.pretty_generate(structured)
+ else
+ result["content"]&.map { |c| c["text"] }&.join("\n")
+ end
+ end
+
def logger
@logger ||= Logger.new("mcp.log")
end