Ruby依赖查询服务

BundlerMCP是一个Model Context Protocol (MCP)服务器,使AI代理能够查询Ruby项目中Gemfile的依赖信息。

  • by subelsky
  • Ruby
  • 本地部署
  • 21 星标
  • 更新于
在 GitHub 查看 subelsky/bundler_mcp

使用说明

BundlerMCP

模型上下文协议(MCP)服务器,使AI代理能够查询Ruby项目中的依赖关系信息 Gemfile.内置 快速mcp.

安装

安装gem并通过执行以下操作将其添加到应用程序的Gemfile中:

bundle add bundler_mcp --group=development

用法

  1. 生成bin存根:
bundle binstubs bundler_mcp
  1. 配置您的客户端以执行bin存根。以下是适用于Claude和Cursor的示例:

基本示例(mcp.json)

{
  "mcpServers": {
    "bundler-mcp": {
      "command": "/Users/mike/my_project/bin/bundler_mcp"
    }
  }
}

日志记录和显式Gemfile示例

{
  "mcpServers": {
    "bundler-mcp": {
      "command": "/Users/mike/my_project/bin/bundler_mcp",

      "env": {
        "BUNDLER_MCP_LOG_FILE": "/Users/mike/my_project/log/mcp.log",
        "BUNDLE_GEMFILE": "/Users/mike/my_project/subdir/Gemfile"
      }
    }
  }
}

文档

可在RubyDoc上找到

可用工具

服务器为AI代理提供了两个工具:

list_project_gems

列出所有捆绑的Ruby宝石及其:

  • 版本
  • 描述
  • 安装路径
  • 顶级文档位置(例如。 README 和 CHANGELOG)

get_gem_details

检索特定gem的详细信息,包括:

  • 版本
  • 描述
  • 安装路径
  • 顶级文档位置
  • 源代码文件位置

环境变量

  • BUNDLE_GEMFILE:Bundler用于查找您的Gemfile。如果您使用中描述的bin存根方法 用法 部分,这通常是不需要的。
  • BUNDLER_MCP_LOG_FILE:日志文件的路径。有助于故障排除(默认为无日志记录)

发展

签出repo后,运行 bin/setup 安装依赖项和 bundle exec rspec 运行测试。你也可以跑步 bin/console 获取一个交互式提示,让您可以进行实验。

与MCP检查员一起进行测试

您可以使用直接测试服务器 MCP检查员:

# Basic usage
npx @modelcontextprotocol/inspector ./bin/bundler_mcp

# With logging enabled
BUNDLER_MCP_LOG_FILE=/tmp/log/mcp.log npx @modelcontextprotocol/inspector ./bin/bundler_mcp

# With custom Gemfile
BUNDLE_GEMFILE=./other/Gemfile npx @modelcontextprotocol/inspector ./bin/bundler_mcp

发布过程

要将此gem安装到本地计算机上,请运行 bundle exec rake install。要发布新版本,请执行以下操作:

  1. 更新中的版本号 version.rb
  2. 跑 bundle exec rake release

这将:

  • 为版本创建一个git标签
  • 推送git提交和创建的标签
  • 推一下 .gem 文件到 rubygems.org

贡献

欢迎在GitHub上提交Bug报告和拉取请求,网址为https://github.com/subelsky/bundler_mcp.

许可证

根据条款开源 MIT许可证.

作者

Mike Subelsky