shared_tools 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +46 -4
  3. data/README.md +257 -262
  4. data/lib/shared_tools/browser_tool.rb +5 -0
  5. data/lib/shared_tools/calculator_tool.rb +4 -0
  6. data/lib/shared_tools/clipboard_tool.rb +4 -0
  7. data/lib/shared_tools/composite_analysis_tool.rb +4 -0
  8. data/lib/shared_tools/computer_tool.rb +5 -0
  9. data/lib/shared_tools/cron_tool.rb +4 -0
  10. data/lib/shared_tools/current_date_time_tool.rb +4 -0
  11. data/lib/shared_tools/data_science_kit.rb +4 -0
  12. data/lib/shared_tools/database.rb +4 -0
  13. data/lib/shared_tools/database_query_tool.rb +4 -0
  14. data/lib/shared_tools/database_tool.rb +5 -0
  15. data/lib/shared_tools/disk_tool.rb +5 -0
  16. data/lib/shared_tools/dns_tool.rb +4 -0
  17. data/lib/shared_tools/doc_tool.rb +5 -0
  18. data/lib/shared_tools/error_handling_tool.rb +4 -0
  19. data/lib/shared_tools/eval_tool.rb +5 -0
  20. data/lib/shared_tools/mcp/brave_search_client.rb +37 -0
  21. data/lib/shared_tools/mcp/chart_client.rb +32 -0
  22. data/lib/shared_tools/mcp/github_client.rb +38 -0
  23. data/lib/shared_tools/mcp/hugging_face_client.rb +43 -0
  24. data/lib/shared_tools/mcp/memory_client.rb +33 -0
  25. data/lib/shared_tools/mcp/notion_client.rb +40 -0
  26. data/lib/shared_tools/mcp/sequential_thinking_client.rb +33 -0
  27. data/lib/shared_tools/mcp/slack_client.rb +54 -0
  28. data/lib/shared_tools/mcp/streamable_http_patch.rb +42 -0
  29. data/lib/shared_tools/mcp/tavily_client.rb +41 -0
  30. data/lib/shared_tools/mcp.rb +45 -16
  31. data/lib/shared_tools/system_info_tool.rb +4 -0
  32. data/lib/shared_tools/tools/browser/base_tool.rb +8 -12
  33. data/lib/shared_tools/tools/browser/click_tool.rb +4 -2
  34. data/lib/shared_tools/tools/browser/ferrum_driver.rb +119 -0
  35. data/lib/shared_tools/tools/browser/inspect_tool.rb +4 -2
  36. data/lib/shared_tools/tools/browser/page_inspect_tool.rb +4 -2
  37. data/lib/shared_tools/tools/browser/page_screenshot_tool.rb +19 -7
  38. data/lib/shared_tools/tools/browser/selector_inspect_tool.rb +4 -2
  39. data/lib/shared_tools/tools/browser/text_field_area_set_tool.rb +4 -2
  40. data/lib/shared_tools/tools/browser/visit_tool.rb +4 -2
  41. data/lib/shared_tools/tools/browser.rb +31 -2
  42. data/lib/shared_tools/tools/browser_tool.rb +14 -2
  43. data/lib/shared_tools/tools/clipboard_tool.rb +119 -0
  44. data/lib/shared_tools/tools/composite_analysis_tool.rb +60 -4
  45. data/lib/shared_tools/tools/computer/mac_driver.rb +37 -4
  46. data/lib/shared_tools/tools/computer_tool.rb +8 -2
  47. data/lib/shared_tools/tools/cron_tool.rb +332 -0
  48. data/lib/shared_tools/tools/current_date_time_tool.rb +88 -0
  49. data/lib/shared_tools/tools/data_science_kit.rb +63 -13
  50. data/lib/shared_tools/tools/database_tool.rb +8 -3
  51. data/lib/shared_tools/tools/dns_tool.rb +422 -0
  52. data/lib/shared_tools/tools/doc/docx_reader_tool.rb +107 -0
  53. data/lib/shared_tools/tools/doc/spreadsheet_reader_tool.rb +171 -0
  54. data/lib/shared_tools/tools/doc/text_reader_tool.rb +57 -0
  55. data/lib/shared_tools/tools/doc.rb +3 -0
  56. data/lib/shared_tools/tools/doc_tool.rb +101 -6
  57. data/lib/shared_tools/tools/docker/compose_run_tool.rb +1 -1
  58. data/lib/shared_tools/tools/enabler.rb +42 -0
  59. data/lib/shared_tools/tools/error_handling_tool.rb +3 -1
  60. data/lib/shared_tools/tools/notification/base_driver.rb +51 -0
  61. data/lib/shared_tools/tools/notification/linux_driver.rb +115 -0
  62. data/lib/shared_tools/tools/notification/mac_driver.rb +66 -0
  63. data/lib/shared_tools/tools/notification/null_driver.rb +29 -0
  64. data/lib/shared_tools/tools/notification.rb +12 -0
  65. data/lib/shared_tools/tools/notification_tool.rb +99 -0
  66. data/lib/shared_tools/tools/system_info_tool.rb +204 -0
  67. data/lib/shared_tools/tools/workflow_manager_tool.rb +32 -0
  68. data/lib/shared_tools/utilities.rb +193 -0
  69. data/lib/shared_tools/version.rb +1 -1
  70. data/lib/shared_tools/weather_tool.rb +4 -0
  71. data/lib/shared_tools/workflow_manager_tool.rb +4 -0
  72. data/lib/shared_tools.rb +42 -11
  73. metadata +79 -9
  74. data/lib/shared_tools/mcp/github_mcp_server.rb +0 -58
  75. data/lib/shared_tools/mcp/imcp.rb +0 -28
  76. data/lib/shared_tools/mcp/tavily_mcp_server.rb +0 -44
  77. data/lib/shared_tools/tools/devops_toolkit.rb +0 -420
data/lib/shared_tools.rb CHANGED
@@ -4,17 +4,31 @@ require 'ruby_llm'
4
4
  require 'io/console'
5
5
 
6
6
  require "zeitwerk"
7
- loader = Zeitwerk::Loader.for_gem
8
- # Ignore aggregate loader files that don't define constants
9
- loader.ignore("#{__dir__}/shared_tools/ruby_llm.rb")
10
- loader.ignore("#{__dir__}/shared_tools/tools/browser.rb")
11
- loader.ignore("#{__dir__}/shared_tools/tools/computer.rb")
12
- loader.ignore("#{__dir__}/shared_tools/tools/database.rb")
13
- loader.ignore("#{__dir__}/shared_tools/tools/disk.rb")
14
- loader.ignore("#{__dir__}/shared_tools/tools/doc.rb")
15
- loader.ignore("#{__dir__}/shared_tools/tools/docker.rb")
16
- loader.ignore("#{__dir__}/shared_tools/tools/eval.rb")
17
- loader.setup
7
+
8
+ # Set up Zeitwerk loader outside module, then pass reference in
9
+ SharedToolsLoader = Zeitwerk::Loader.for_gem(warn_on_extra_files: false)
10
+ SharedToolsLoader.ignore("#{__dir__}/shared_tools/ruby_llm.rb")
11
+ SharedToolsLoader.ignore("#{__dir__}/shared_tools/mcp.rb") # Documentation/loader file only
12
+ SharedToolsLoader.ignore("#{__dir__}/shared_tools/mcp") # Entire mcp directory (naming issues)
13
+ SharedToolsLoader.ignore("#{__dir__}/shared_tools/tools/browser.rb")
14
+ SharedToolsLoader.ignore("#{__dir__}/shared_tools/tools/computer.rb")
15
+ SharedToolsLoader.ignore("#{__dir__}/shared_tools/tools/database.rb")
16
+ SharedToolsLoader.ignore("#{__dir__}/shared_tools/tools/disk.rb")
17
+ SharedToolsLoader.ignore("#{__dir__}/shared_tools/tools/doc.rb")
18
+ SharedToolsLoader.ignore("#{__dir__}/shared_tools/tools/docker.rb")
19
+ SharedToolsLoader.ignore("#{__dir__}/shared_tools/tools/eval.rb")
20
+ SharedToolsLoader.ignore("#{__dir__}/shared_tools/tools/notification.rb")
21
+ SharedToolsLoader.ignore("#{__dir__}/shared_tools/tools/version.rb") # Defines VERSION constant, not Version class
22
+ SharedToolsLoader.ignore("#{__dir__}/shared_tools/tools/incomplete") # Empty/incomplete tools directory
23
+ SharedToolsLoader.ignore("#{__dir__}/shared_tools/tools/enabler.rb") # Experimental; defines Tools::Enabler not SharedTools::Tools::Enabler
24
+
25
+ # Ignore per-tool shim files (require-path shortcuts: require 'shared_tools/<tool_name>')
26
+ Dir.glob("#{__dir__}/shared_tools/*_tool.rb").each { |f| SharedToolsLoader.ignore(f) }
27
+ SharedToolsLoader.ignore("#{__dir__}/shared_tools/data_science_kit.rb")
28
+ SharedToolsLoader.ignore("#{__dir__}/shared_tools/database.rb")
29
+ SharedToolsLoader.ignore("#{__dir__}/shared_tools/utilities.rb") # Reopens SharedTools, not SharedTools::Utilities
30
+
31
+ SharedToolsLoader.setup
18
32
 
19
33
  module SharedTools
20
34
  @auto_execute ||= true # Auto-execute by default, no human-in-the-loop
@@ -37,5 +51,22 @@ module SharedTools
37
51
  print "\nIs it okay to proceed? (y/N"
38
52
  STDIN.getch == "y"
39
53
  end
54
+
55
+ # Force-load all tool classes into ObjectSpace.
56
+ # Called by AIA's GemActivator.trigger_tool_loading when shared_tools is
57
+ # passed to --require. Without this, Zeitwerk lazy-loads classes on first
58
+ # reference, so no RubyLLM::Tool subclasses appear in ObjectSpace at scan time.
59
+ def load_all_tools
60
+ SharedToolsLoader.eager_load
61
+ end
62
+
63
+ # Return all loaded RubyLLM::Tool subclasses provided by this gem.
64
+ # Also triggers eager loading so the list is complete.
65
+ def tools
66
+ load_all_tools
67
+ ObjectSpace.each_object(Class).select { |k| k < ::RubyLLM::Tool }.to_a
68
+ end
40
69
  end
41
70
  end
71
+
72
+ require_relative "shared_tools/utilities"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shared_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dewayne VanHoozer
@@ -122,7 +122,21 @@ dependencies:
122
122
  - !ruby/object:Gem::Version
123
123
  version: '0'
124
124
  - !ruby/object:Gem::Dependency
125
- name: sqlite3
125
+ name: docx
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ type: :development
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ - !ruby/object:Gem::Dependency
139
+ name: roo
126
140
  requirement: !ruby/object:Gem::Requirement
127
141
  requirements:
128
142
  - - ">="
@@ -136,7 +150,7 @@ dependencies:
136
150
  - !ruby/object:Gem::Version
137
151
  version: '0'
138
152
  - !ruby/object:Gem::Dependency
139
- name: watir
153
+ name: sqlite3
140
154
  requirement: !ruby/object:Gem::Requirement
141
155
  requirements:
142
156
  - - ">="
@@ -150,7 +164,7 @@ dependencies:
150
164
  - !ruby/object:Gem::Version
151
165
  version: '0'
152
166
  - !ruby/object:Gem::Dependency
153
- name: webdrivers
167
+ name: ferrum
154
168
  requirement: !ruby/object:Gem::Requirement
155
169
  requirements:
156
170
  - - ">="
@@ -219,6 +233,20 @@ dependencies:
219
233
  - - ">="
220
234
  - !ruby/object:Gem::Version
221
235
  version: '0'
236
+ - !ruby/object:Gem::Dependency
237
+ name: minitest-mock
238
+ requirement: !ruby/object:Gem::Requirement
239
+ requirements:
240
+ - - ">="
241
+ - !ruby/object:Gem::Version
242
+ version: '0'
243
+ type: :development
244
+ prerelease: false
245
+ version_requirements: !ruby/object:Gem::Requirement
246
+ requirements:
247
+ - - ">="
248
+ - !ruby/object:Gem::Version
249
+ version: '0'
222
250
  - !ruby/object:Gem::Dependency
223
251
  name: rake
224
252
  requirement: !ruby/object:Gem::Requirement
@@ -246,10 +274,34 @@ files:
246
274
  - LICENSE
247
275
  - README.md
248
276
  - lib/shared_tools.rb
277
+ - lib/shared_tools/browser_tool.rb
278
+ - lib/shared_tools/calculator_tool.rb
279
+ - lib/shared_tools/clipboard_tool.rb
280
+ - lib/shared_tools/composite_analysis_tool.rb
281
+ - lib/shared_tools/computer_tool.rb
282
+ - lib/shared_tools/cron_tool.rb
283
+ - lib/shared_tools/current_date_time_tool.rb
284
+ - lib/shared_tools/data_science_kit.rb
285
+ - lib/shared_tools/database.rb
286
+ - lib/shared_tools/database_query_tool.rb
287
+ - lib/shared_tools/database_tool.rb
288
+ - lib/shared_tools/disk_tool.rb
289
+ - lib/shared_tools/dns_tool.rb
290
+ - lib/shared_tools/doc_tool.rb
291
+ - lib/shared_tools/error_handling_tool.rb
292
+ - lib/shared_tools/eval_tool.rb
249
293
  - lib/shared_tools/mcp.rb
250
- - lib/shared_tools/mcp/github_mcp_server.rb
251
- - lib/shared_tools/mcp/imcp.rb
252
- - lib/shared_tools/mcp/tavily_mcp_server.rb
294
+ - lib/shared_tools/mcp/brave_search_client.rb
295
+ - lib/shared_tools/mcp/chart_client.rb
296
+ - lib/shared_tools/mcp/github_client.rb
297
+ - lib/shared_tools/mcp/hugging_face_client.rb
298
+ - lib/shared_tools/mcp/memory_client.rb
299
+ - lib/shared_tools/mcp/notion_client.rb
300
+ - lib/shared_tools/mcp/sequential_thinking_client.rb
301
+ - lib/shared_tools/mcp/slack_client.rb
302
+ - lib/shared_tools/mcp/streamable_http_patch.rb
303
+ - lib/shared_tools/mcp/tavily_client.rb
304
+ - lib/shared_tools/system_info_tool.rb
253
305
  - lib/shared_tools/tools.rb
254
306
  - lib/shared_tools/tools/browser.rb
255
307
  - lib/shared_tools/tools/browser/base_driver.rb
@@ -257,6 +309,7 @@ files:
257
309
  - lib/shared_tools/tools/browser/click_tool.rb
258
310
  - lib/shared_tools/tools/browser/elements/element_grouper.rb
259
311
  - lib/shared_tools/tools/browser/elements/nearby_element_detector.rb
312
+ - lib/shared_tools/tools/browser/ferrum_driver.rb
260
313
  - lib/shared_tools/tools/browser/formatters/action_formatter.rb
261
314
  - lib/shared_tools/tools/browser/formatters/data_entry_formatter.rb
262
315
  - lib/shared_tools/tools/browser/formatters/element_formatter.rb
@@ -278,11 +331,14 @@ files:
278
331
  - lib/shared_tools/tools/browser/watir_driver.rb
279
332
  - lib/shared_tools/tools/browser_tool.rb
280
333
  - lib/shared_tools/tools/calculator_tool.rb
334
+ - lib/shared_tools/tools/clipboard_tool.rb
281
335
  - lib/shared_tools/tools/composite_analysis_tool.rb
282
336
  - lib/shared_tools/tools/computer.rb
283
337
  - lib/shared_tools/tools/computer/base_driver.rb
284
338
  - lib/shared_tools/tools/computer/mac_driver.rb
285
339
  - lib/shared_tools/tools/computer_tool.rb
340
+ - lib/shared_tools/tools/cron_tool.rb
341
+ - lib/shared_tools/tools/current_date_time_tool.rb
286
342
  - lib/shared_tools/tools/data_science_kit.rb
287
343
  - lib/shared_tools/tools/database.rb
288
344
  - lib/shared_tools/tools/database/base_driver.rb
@@ -290,7 +346,6 @@ files:
290
346
  - lib/shared_tools/tools/database/sqlite_driver.rb
291
347
  - lib/shared_tools/tools/database_query_tool.rb
292
348
  - lib/shared_tools/tools/database_tool.rb
293
- - lib/shared_tools/tools/devops_toolkit.rb
294
349
  - lib/shared_tools/tools/disk.rb
295
350
  - lib/shared_tools/tools/disk/base_driver.rb
296
351
  - lib/shared_tools/tools/disk/base_tool.rb
@@ -306,23 +361,38 @@ files:
306
361
  - lib/shared_tools/tools/disk/file_write_tool.rb
307
362
  - lib/shared_tools/tools/disk/local_driver.rb
308
363
  - lib/shared_tools/tools/disk_tool.rb
364
+ - lib/shared_tools/tools/dns_tool.rb
309
365
  - lib/shared_tools/tools/doc.rb
366
+ - lib/shared_tools/tools/doc/docx_reader_tool.rb
310
367
  - lib/shared_tools/tools/doc/pdf_reader_tool.rb
368
+ - lib/shared_tools/tools/doc/spreadsheet_reader_tool.rb
369
+ - lib/shared_tools/tools/doc/text_reader_tool.rb
311
370
  - lib/shared_tools/tools/doc_tool.rb
312
371
  - lib/shared_tools/tools/docker.rb
313
372
  - lib/shared_tools/tools/docker/base_tool.rb
314
373
  - lib/shared_tools/tools/docker/compose_run_tool.rb
374
+ - lib/shared_tools/tools/enabler.rb
315
375
  - lib/shared_tools/tools/error_handling_tool.rb
316
376
  - lib/shared_tools/tools/eval.rb
317
377
  - lib/shared_tools/tools/eval/python_eval_tool.rb
318
378
  - lib/shared_tools/tools/eval/ruby_eval_tool.rb
319
379
  - lib/shared_tools/tools/eval/shell_eval_tool.rb
320
380
  - lib/shared_tools/tools/eval_tool.rb
381
+ - lib/shared_tools/tools/notification.rb
382
+ - lib/shared_tools/tools/notification/base_driver.rb
383
+ - lib/shared_tools/tools/notification/linux_driver.rb
384
+ - lib/shared_tools/tools/notification/mac_driver.rb
385
+ - lib/shared_tools/tools/notification/null_driver.rb
386
+ - lib/shared_tools/tools/notification_tool.rb
321
387
  - lib/shared_tools/tools/secure_tool_template.rb
388
+ - lib/shared_tools/tools/system_info_tool.rb
322
389
  - lib/shared_tools/tools/version.rb
323
390
  - lib/shared_tools/tools/weather_tool.rb
324
391
  - lib/shared_tools/tools/workflow_manager_tool.rb
392
+ - lib/shared_tools/utilities.rb
325
393
  - lib/shared_tools/version.rb
394
+ - lib/shared_tools/weather_tool.rb
395
+ - lib/shared_tools/workflow_manager_tool.rb
326
396
  homepage: https://github.com/madbomber/shared_tools
327
397
  licenses:
328
398
  - MIT
@@ -344,7 +414,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
344
414
  - !ruby/object:Gem::Version
345
415
  version: '0'
346
416
  requirements: []
347
- rubygems_version: 3.7.2
417
+ rubygems_version: 4.0.9
348
418
  specification_version: 4
349
419
  summary: Shared utilities and AI tools for Ruby applications with configurable logging
350
420
  test_files: []
@@ -1,58 +0,0 @@
1
- # shared_tools/mcp/github_mcp_server.rb
2
- #
3
- # GitHub MCP Server Client Configuration for ruby_llm-mcp >= 0.7.0
4
- #
5
- # Provides access to GitHub operations including:
6
- # - Repository management
7
- # - Issue and PR operations
8
- # - Code search
9
- # - Branch operations
10
- # - And more GitHub API functionality
11
- #
12
- # Installation:
13
- # brew install github-mcp-server
14
- #
15
- # Configuration:
16
- # Set environment variable: GITHUB_PERSONAL_ACCESS_TOKEN
17
- # export GITHUB_PERSONAL_ACCESS_TOKEN=your_token_here
18
- #
19
- # Compatible with ruby_llm-mcp v0.7.0+
20
-
21
- require "ruby_llm/mcp"
22
-
23
- RubyLLM::MCP.add_client(
24
- name: "github-mcp-server",
25
- transport_type: :stdio,
26
- config: {
27
- command: "/opt/homebrew/bin/github-mcp-server",
28
- args: %w[stdio],
29
- env: { "GITHUB_PERSONAL_ACCESS_TOKEN" => ENV.fetch("GITHUB_PERSONAL_ACCESS_TOKEN") },
30
- },
31
- )
32
-
33
-
34
- __END__
35
-
36
-
37
- A GitHub MCP server that handles various tools and resources.
38
-
39
- Usage:
40
- server [command]
41
-
42
- Available Commands:
43
- completion Generate the autocompletion script for the specified shell
44
- help Help about any command
45
- stdio Start stdio server
46
-
47
- Flags:
48
- --dynamic-toolsets Enable dynamic toolsets
49
- --enable-command-logging When enabled, the server will log all command requests and responses to the log file
50
- --export-translations Save translations to a JSON file
51
- --gh-host string Specify the GitHub hostname (for GitHub Enterprise etc.)
52
- -h, --help help for server
53
- --log-file string Path to log file
54
- --read-only Restrict the server to read-only operations
55
- --toolsets strings An optional comma separated list of groups of tools to allow, defaults to enabling all (default [all])
56
- -v, --version version for server
57
-
58
- Use "server [command] --help" for more information about a command.
@@ -1,28 +0,0 @@
1
- # shared_tools/mcp/imcp.rb
2
- #
3
- # iMCP Client Configuration for ruby_llm-mcp >= 0.7.0
4
- #
5
- # iMCP is a macOS application that provides MCP access to:
6
- # - Notes
7
- # - Calendar
8
- # - Contacts
9
- # - Reminders
10
- # - And other macOS native applications
11
- #
12
- # Installation:
13
- # brew install --cask loopwork/tap/iMCP
14
- #
15
- # Documentation:
16
- # https://github.com/loopwork/iMCP
17
- #
18
- # Compatible with ruby_llm-mcp v0.7.0+
19
-
20
- require 'ruby_llm/mcp'
21
-
22
- RubyLLM::MCP.add_client(
23
- name: "imcp-server",
24
- transport_type: :stdio,
25
- config: {
26
- command: "/Applications/iMCP.app/Contents/MacOS/imcp-server 2> /dev/null"
27
- }
28
- )
@@ -1,44 +0,0 @@
1
- # shared_tools/mcp/tavily_mcp_server.rb
2
- #
3
- # Tavily MCP Server Client Configuration for ruby_llm-mcp >= 0.7.0
4
- #
5
- # Provides AI-powered web search and research capabilities:
6
- # - Web search with AI-optimized results
7
- # - Research-grade content extraction
8
- # - Real-time information gathering
9
- # - News and current events search
10
- #
11
- # Installation:
12
- # Requires Node.js and npx (comes with Node.js)
13
- # The mcp-remote package will be installed automatically via npx
14
- #
15
- # Configuration:
16
- # Set environment variable: TAVILY_API_KEY
17
- # export TAVILY_API_KEY=your_api_key_here
18
- # Get your API key at: https://tavily.com
19
- #
20
- # Compatible with ruby_llm-mcp v0.7.0+
21
-
22
- require "ruby_llm/mcp"
23
-
24
- RubyLLM::MCP.add_client(
25
- name: "tavily",
26
- transport_type: :stdio,
27
- config: {
28
- command: "npx -y mcp-remote https://mcp.tavily.com/mcp/?tavilyApiKey=#{ENV.fetch('TAVILY_API_KEY')}",
29
- env: {}
30
- }
31
- )
32
-
33
-
34
- __END__
35
-
36
-
37
- # {
38
- # "mcpServers": {
39
- # "tavily-remote-mcp": {
40
- # "command": "npx -y mcp-remote https://mcp.tavily.com/mcp/?tavilyApiKey=$TAVILY_API_KEY",
41
- # "env": {}
42
- # }
43
- # }
44
- # }