rails-active-mcp 0.1.4 → 0.1.6

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 38778186d51ca223866b9cdf181cbe389957c840609934897547d11af69c150c
4
- data.tar.gz: 9ed227e53b104de6e482428a37837b80dd0b30f01405d3abaab8e12c4e6175c8
3
+ metadata.gz: b477f00244c6b1b3370cc65295e401e4976d2c793e6d7344350866f5a21156eb
4
+ data.tar.gz: 38f43074ef26d934177dbd4a169efcd2f4b7c5cccac8b276e4927de7e5cca4cd
5
5
  SHA512:
6
- metadata.gz: e80bc1548f85c52f88e766a273a7f6a3f4637a398b549a36dd65b756a4243a2d86511354324120938aabdd40c5427abe9be12169890b7745721847f6da2dbfa4
7
- data.tar.gz: fd5511135a658f588d154526bbcbe1da8b2d75b7c13d3c73687aba726293555cbd1b3f38defbe8f51ea1ce33fef3c05b38fb82c7e1d8d8f9fb96f6e214d742b2
6
+ metadata.gz: de2f7f0d0d4a2122dc2e83da7f3d3e9da08fc0d94ea93c61cf63fa2f4861695624c30da605ada7ff81f6a50dd8698b211f7b01bd54c128815d851f812e622d12
7
+ data.tar.gz: de6ce9166bb2da50fc492a784bac432e632d0d26dec52c1c506a49038d99c05dfe042819b67b70c98ff2371a3d0f1fc1e042f32ba48fc0470023ed0f011be3cd
@@ -2,13 +2,10 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require 'rack'
5
- require 'rack/handler/webrick'
6
5
  require 'json'
6
+ require 'stringio'
7
7
  require_relative '../lib/rails_active_mcp'
8
8
 
9
- # Load Rails configuration if available
10
- require_relative '../config/environment' if File.exist?('config/environment.rb')
11
-
12
9
  # Parse command line options with config defaults
13
10
  default_mode = if defined?(RailsActiveMcp) && RailsActiveMcp.respond_to?(:config)
14
11
  RailsActiveMcp.config.server_mode.to_s
@@ -36,8 +33,21 @@ when 'stdio'
36
33
  require_relative '../lib/rails_active_mcp/stdio_server'
37
34
 
38
35
  begin
39
- # Initialize Rails environment if available
40
- require_relative '../config/environment' if File.exist?('config/environment.rb')
36
+ # Initialize Rails environment if available (from current working directory)
37
+ if File.exist?('config/environment.rb')
38
+ # Suppress Rails output to avoid interfering with MCP JSON protocol
39
+ original_stdout = $stdout
40
+ $stdout = StringIO.new
41
+
42
+ begin
43
+ require './config/environment'
44
+ rescue StandardError => e
45
+ # Log to stderr but don't fail - the server can work without Rails
46
+ warn "Warning: Could not load Rails environment: #{e.message}"
47
+ ensure
48
+ $stdout = original_stdout
49
+ end
50
+ end
41
51
 
42
52
  stdio_server = RailsActiveMcp::StdioServer.new
43
53
  stdio_server.run
@@ -51,12 +61,19 @@ when 'http'
51
61
  puts 'Press Ctrl+C to stop'
52
62
 
53
63
  begin
64
+ require 'webrick'
65
+ require 'rack/handler/webrick'
66
+
54
67
  Rack::Handler::WEBrick.run(
55
68
  RailsActiveMcp::McpServer.new,
56
69
  Port: port,
57
70
  Host: host,
58
71
  Logger: WEBrick::Log.new(nil, WEBrick::BasicLog::WARN)
59
72
  )
73
+ rescue LoadError => e
74
+ puts 'Error: WEBrick not available. Please install: gem install webrick'
75
+ puts 'Or use stdio mode for Claude Desktop: rails-active-mcp-server stdio'
76
+ exit(1)
60
77
  rescue Interrupt
61
78
  puts "\nShutting down server..."
62
79
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsActiveMcp
4
- VERSION = '0.1.4'
4
+ VERSION = '0.1.6'
5
5
  end
@@ -37,6 +37,7 @@ Gem::Specification.new do |spec|
37
37
  spec.add_dependency 'json', '~> 2.0'
38
38
  spec.add_dependency 'rack', '~> 3.0'
39
39
  spec.add_dependency 'timeout', '~> 0.4'
40
+ spec.add_dependency 'webrick', '~> 1.8'
40
41
 
41
42
  # Development dependencies - keep versions consistent with Gemfile
42
43
  spec.add_development_dependency 'factory_bot_rails', '~> 6.0'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-active-mcp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brandyn Britton
@@ -79,6 +79,20 @@ dependencies:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
81
  version: '0.4'
82
+ - !ruby/object:Gem::Dependency
83
+ name: webrick
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '1.8'
89
+ type: :runtime
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '1.8'
82
96
  - !ruby/object:Gem::Dependency
83
97
  name: factory_bot_rails
84
98
  requirement: !ruby/object:Gem::Requirement