Commit f486cd6

mo khan <mo@mokhan.ca>
2026-09-06 23:44:53
refactor: collapse plugin to root file tag: v0.1.0
1 parent 13c1103
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"