Commit f486cd6
Changed files (5)
lib
elelem
mcp
lib/elelem/mcp/plugins/provider.rb
@@ -1,24 +0,0 @@
-# frozen_string_literal: true
-
-require "elelem/plugins"
-require_relative "../../mcp"
-
-Elelem::Plugins.register(:mcp) do |agent|
- mcp = Elelem::MCP::Client.memoized
-
- Thread.new do
- mcp.tools.each do |name, tool|
- next if agent.toolbox.tools.key?(name)
-
- agent.toolbox.add(
- name,
- description: tool[:description],
- params: tool[:params],
- required: tool[:required],
- &tool[:fn]
- )
- end
- rescue => e
- warn "MCP failed: #{e.message}"
- end
-end
lib/elelem/mcp/client.rb
@@ -1,11 +1,5 @@
# frozen_string_literal: true
-require_relative "version"
-require "json"
-require "net/http"
-require "open3"
-require "uri"
-
module Elelem
module MCP
# https://modelcontextprotocol.io/specification/2025-11-25/server/tools.md
lib/elelem/mcp/token_storage.rb
@@ -1,9 +1,5 @@
# frozen_string_literal: true
-require "digest"
-require "fileutils"
-require "json"
-
module Elelem
module MCP
class TokenStorage
lib/elelem/mcp.rb
@@ -1,5 +1,33 @@
# frozen_string_literal: true
+require "digest"
+require "elelem"
+require "fileutils"
+require "json"
+require "net/http"
+require "open3"
+require "uri"
+
require_relative "mcp/version"
require_relative "mcp/token_storage"
require_relative "mcp/client"
+
+Elelem::Plugins.register(:mcp) do |agent|
+ mcp = Elelem::MCP::Client.memoized
+
+ Thread.new do
+ mcp.tools.each do |name, tool|
+ next if agent.toolbox.tools.key?(name)
+
+ agent.toolbox.add(
+ name,
+ description: tool[:description],
+ params: tool[:params],
+ required: tool[:required],
+ &tool[:fn]
+ )
+ end
+ rescue => e
+ warn "MCP failed: #{e.message}"
+ end
+end
elelem-mcp.gemspec
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
spec.require_paths = ["lib"]
spec.add_dependency "digest", "~> 3.2"
- spec.add_dependency "elelem-plugins", "~> 0.1"
+ spec.add_dependency "elelem", "~> 0.1"
spec.add_dependency "fileutils", "~> 1.8"
spec.add_dependency "json", "~> 2.21"
spec.add_dependency "net-http", "~> 0.9"