Commit 653a65c
Changed files (4)
lib/elelem/mcp.rb
@@ -67,7 +67,13 @@ module Elelem
def call(name, args)
result = request("tools/call", { name: name, arguments: args })
- { content: result["content"]&.map { |c| c["text"] }&.join("\n") }
+ logger.info({ tool: name, args: args, result: result }.to_json)
+ content = result["content"]&.map { |c| c["text"] }&.join("\n")
+ result["isError"] ? { error: content } : { content: content }
+ end
+
+ def logger
+ @logger ||= Logger.new("mcp.log")
end
private
lib/elelem.rb
@@ -7,6 +7,7 @@ require "erb"
require "fileutils"
require "json"
require "json_schemer"
+require "logger"
require "net/hippie"
require "open3"
require "optparse"
elelem.gemspec
@@ -72,6 +72,7 @@ Gem::Specification.new do |spec|
spec.add_dependency "fileutils", "~> 1.0"
spec.add_dependency "json", "~> 2.0"
spec.add_dependency "json_schemer", "~> 2.0"
+ spec.add_dependency "logger", "~> 1.0"
spec.add_dependency "net-hippie", "~> 1.0"
spec.add_dependency "open3", "~> 0.1"
spec.add_dependency "optparse", "~> 0.1"
Gemfile.lock
@@ -9,6 +9,7 @@ PATH
fileutils (~> 1.0)
json (~> 2.0)
json_schemer (~> 2.0)
+ logger (~> 1.0)
net-hippie (~> 1.0)
open3 (~> 0.1)
optparse (~> 0.1)