bundler_mcp 0.1.0 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6e512b7990ccd597566b67a7fa65d6ee92347c670d394cec2fa913c243542353
4
- data.tar.gz: 3b1a3d045f42f34a05264d22497cd8e0d588deb58a332227bb68f714bba81ed8
3
+ metadata.gz: 619be6ff26d433cfd44ba76559ccba42b52de9241bbed232429b3cf2590ae36d
4
+ data.tar.gz: 4fba15d1254265d11b1f32c0abf16d62492d10c9c2671d990a0b743423de2a91
5
5
  SHA512:
6
- metadata.gz: 3417bfa815a0b37472355fda7f4ebe8d6d575efabb73c2bf5be107c367dcfb289997d5495f61f037f2d2cd9140698610226e2d1d44716e4098cd375df98f660e
7
- data.tar.gz: 7fcd767de09ad6691f3fe14c2be1de4b3fa50420dfa34d0af5a9908d310cefa58d1f79a81cdb6a8e5377f80ec11d44434ef7ca47c6aa49dc4239089685a099bc
6
+ metadata.gz: 0ffc52db291e05c5b804acc42c95ee9bb0549434551b473dccf647871fec15d5f270649e5ce33dd4fd31dd633853646a63a09d6deabd565101fb44e5273dbea4
7
+ data.tar.gz: 1c4cd68efe2962fe0a1e61c13d4c2ecf4472c664eaa39df4d85a5c450eb2d746e4baeef730a0a714db8604a7f2bd9d0dc99ae3282f324f4efc34184df8ce3635
data/CHANGELOG.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  This project uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
4
4
 
5
+ ## [0.2.1] - 2025-06-03
6
+
7
+ - Add GitHub Action for trusted publishing to RubyGems
8
+
9
+ ## [0.2.0] - 2025-05-18
10
+
11
+ - Fix `BUNDLER_MCP_LOG_FILE` environment variable name bug
12
+ - Use case-insensitive matching to look up gem details
13
+ - Explicitly require `pathname` in files that use it
14
+
5
15
  ## [0.1.0] - 2025-05-18
6
16
 
7
17
  - Initial release
data/README.md CHANGED
@@ -1,8 +1,9 @@
1
1
  # BundlerMCP
2
2
 
3
- A Model Context Protocol (MCP) server enabling AI agents to query information about gems in a Ruby project's Gemfile, including source code and metadata. Built with [fast-mcp](https://github.com/yjacquin/fast-mcp).
3
+ A Model Context Protocol (MCP) server enabling AI agents to query information about dependencies in a Ruby project's `Gemfile`. Built with [fast-mcp](https://github.com/yjacquin/fast-mcp).
4
4
 
5
5
  [![CI](https://github.com/subelsky/bundler_mcp/actions/workflows/main.yml/badge.svg)](https://github.com/subelsky/bundler_mcp/actions/workflows/main.yml)
6
+ [![Gem Version](https://badge.fury.io/rb/bundler_mcp.svg)](https://badge.fury.io/rb/bundler_mcp)
6
7
 
7
8
  ## Installation
8
9
 
@@ -14,13 +15,13 @@ bundle add bundler_mcp --group=development
14
15
 
15
16
  ## Usage
16
17
 
17
- 1) Generate the binstub:
18
+ 1. Generate the binstub:
18
19
 
19
20
  ```bash
20
21
  bundle binstubs bundler_mcp
21
22
  ```
22
23
 
23
- 2) Configure your client to execute the binstub. Here are examples that work for Claude and Cursor:
24
+ 2. Configure your client to execute the binstub. Here are examples that work for Claude and Cursor:
24
25
 
25
26
  ### Basic Example (mcp.json)
26
27
 
@@ -51,6 +52,10 @@ bundle binstubs bundler_mcp
51
52
  }
52
53
  ```
53
54
 
55
+ ### Documentation
56
+
57
+ [Available on RubyDoc](https://www.rubydoc.info/gems/bundler_mcp/)
58
+
54
59
  ### Available Tools
55
60
 
56
61
  The server provides two tools for AI agents:
Binary file
Binary file
data/exe/bundler_mcp CHANGED
@@ -8,7 +8,7 @@ require_relative "../lib/bundler_mcp/server"
8
8
  # your client will then able to run `bin/bundler_mcp`
9
9
  # in the correct Bundler environment
10
10
 
11
- logfile_path = ENV.fetch("BUNDLER_MCP_LOGFILE", nil)
11
+ logfile_path = ENV.fetch("BUNDLER_MCP_LOG_FILE", nil)
12
12
  logger = Logger.new(logfile_path || File::NULL)
13
13
 
14
14
  BundlerMCP::Server.run(logger:)
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "forwardable"
4
+ require "pathname"
4
5
 
5
6
  module BundlerMCP
6
7
  # Represents a Ruby gem and its associated data
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "pathname"
4
+
3
5
  Pathname(__dir__).glob("tools/*.rb").each do |tool|
4
6
  require tool
5
7
  end
@@ -33,7 +33,7 @@ module BundlerMCP
33
33
  # @return [Hash] Contains the gem's details, or an error message if the gem is not found
34
34
  def call(name:)
35
35
  name = name.to_s.strip
36
- gem_resource = resource_collection.find { |r| r.name == name }
36
+ gem_resource = resource_collection.find { |r| r.name.casecmp?(name) }
37
37
 
38
38
  data = if gem_resource
39
39
  gem_resource.to_h(include_source_files: true)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BundlerMCP
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bundler_mcp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Subelsky
@@ -88,7 +88,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  requirements: []
91
- rubygems_version: 3.6.8
91
+ rubygems_version: 3.6.7
92
92
  specification_version: 4
93
93
  summary: MCP server for searching Ruby bundled gem documentation and metadata
94
94
  test_files: []