Commit 240d8e7

mo khan <mo@mokhan.ca>
2026-01-27 23:02:05
feat: attempt to return structure content
1 parent 653a65c
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