Token导航 LogoToken导航TokenDH.com
rubygems MCP.rb logo
AI代理stdio官方级别未说明来源级核验

rubygems MCP.rb

MCP Server

@modelcontextprotocol/inspector

提供RubyGems和Ruby版本信息的MCP协议服务器工具,集成Cursor IDE、Claude Desktop等MCP兼容客户端。

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
Ruby开发工具集成JavaScriptClaudeClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

amkisko

提供方

amkisko

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @modelcontextprotocol/inspector bundle exec rubygems_mcp

详细介绍

rubygems_mcp

Rubygem通过MCP(模型上下文协议)服务器工具提供RubyGems和Ruby版本信息。与MCP兼容的客户端集成,如Cursor IDE、Claude Desktop和其他启用MCP的工具。

此gem访问公共RubyGems和Ruby版本信息,不需要身份验证。

赞助 好吧。.

需求

  • Ruby 3.1或更高版本 (不支持Ruby 3.0及更早版本)

快速开始

gem install rubygems_mcp

光标IDE配置

对于Cursor IDE,创建或更新 .cursor/mcp.json 在您的项目中:

{
  "mcpServers": {
    "rubygems": {
      "command": "gem",
      "args": ["exec", "rubygems_mcp"],
      "env": {
        "RUBY_VERSION": "3.4.7"
      }
    }
  }
}

Claude桌面配置

对于Claude Desktop,编辑MCP配置文件:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json\ 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "rubygems": {
      "command": "gem",
      "args": ["exec", "rubygems_mcp"],
      "env": {
        "RUBY_VERSION": "3.4.7"
      }
    }
  }
}

备注:更新配置后,重新启动Claude Desktop以使更改生效。

MCP检验员测试

您可以使用以下工具测试MCP服务器 MCP检查员 工具:

# Run the MCP inspector with the server
npx @modelcontextprotocol/inspector bundle exec rubygems_mcp

检查员将:

  1. 启动代理服务器并打开浏览器界面
  2. 通过STDIO连接到MCP服务器
  3. 允许您以交互方式测试所有可用工具
  4. 显示请求/响应消息和任何错误

这有助于:

  • 在与MCP客户端集成之前测试工具功能
  • 调试MCP协议通信
  • 探索可用工具及其参数

手动运行MCP服务器

安装后,您可以立即启动MCP服务器:

# With bundler
gem install rubygems_mcp && bundle exec rubygems_mcp

# Or if installed globally
rubygems_mcp

服务器将使用MCP协议通过STDIN/STDOUT启动和通信。

特性

  • RubyGems API客户端:RubyGems REST API的全功能客户端,具有全面的端点覆盖
  • Ruby版本信息:从Ruby-lang.org获取Ruby发布信息、变更日志和维护状态
  • MCP服务器集成:即用型MCP服务器,配备19个工具和4个资源,与Cursor IDE、Claude Desktop和其他启用MCP的工具兼容
  • 分页和排序:支持具有可自定义分页和排序选项的大型结果集
  • 缓存:具有可配置TTL的内存缓存,可提高性能
  • 错误处理:使用自定义异常和响应大小限制进行优雅的错误处理
  • 不要求进行验证:所有终结点都是公共的,不需要API密钥
  • API全面覆盖:支持gem版本、最新版本、Ruby版本、gem搜索、gem信息、反向依赖关系、下载统计、更改日志等

基本用法

API客户端

require "rubygems_mcp"

# Create client
client = RubygemsMcp::Client.new

# Get latest versions for multiple gems
versions = client.get_latest_versions(["rails", "nokogiri", "rack"])
# => [
#   { name: "rails", version: "7.1.0", release_date: #, license: "MIT" },
#   { name: "nokogiri", version: "1.15.0", release_date: #, license: "MIT" },
#   { name: "rack", version: "3.0.0", release_date: #, license: "MIT" }
# ]

# Get all versions for a gem
versions = client.get_gem_versions("rails")
# => [
#   { version: "7.1.0", release_date: #, license: "MIT" },
#   { version: "7.0.8", release_date: #, license: "MIT" },
#   ...
# ]

# Get latest Ruby version
ruby_version = client.get_latest_ruby_version
# => { version: "3.3.0", release_date: # }

# Get all Ruby versions
ruby_versions = client.get_ruby_versions
# => [
#   { version: "3.3.0", release_date: # },
#   { version: "3.2.0", release_date: # },
#   ...
# ]

# Get gem information
gem_info = client.get_gem_info("rails")
# => {
#   name: "rails",
#   version: "7.1.0",
#   summary: "Full-stack web application framework.",
#   homepage: "https://rubyonrails.org",
#   source_code: "https://github.com/rails/rails",
#   documentation: "https://api.rubyonrails.org",
#   licenses: ["MIT"],
#   authors: ["David Heinemeier Hansson", ...]
# }

# Search for gems
results = client.search_gems("rails")
# => [
#   { name: "rails", version: "7.1.0", info: "...", ... },
#   { name: "rails_admin", version: "3.0.0", info: "...", ... },
#   ...
# ]

# Get reverse dependencies
reverse_deps = client.get_gem_reverse_dependencies("rails")
# => ["rails_admin", "activeadmin", ...]

# Get download statistics
downloads = client.get_gem_version_downloads("rails", "7.1.0")
# => { version_downloads: 123456, total_downloads: 987654321 }

# Get Ruby maintenance status
maintenance = client.get_ruby_maintenance_status
# => [
#   { version: "3.4", status: "normal maintenance", release_date: "2024-12-25", ... },
#   { version: "3.3", status: "normal maintenance", ... },
#   ...
# ]

# Get Ruby version changelog
changelog = client.get_ruby_version_changelog("3.4.7")
# => { version: "3.4.7", summary: "...", release_notes_url: "..." }

# Get latest/recently updated gems
latest = client.get_latest_gems(limit: 10)
recently_updated = client.get_recently_updated_gems(limit: 10)

API方法

宝石版本

  • get_latest_versions(gem_names, fields: nil) -获取包含发布日期和许可证的gem列表的最新版本。支持类似GraphQL的字段选择。
  • get_gem_versions(gem_name, limit: nil, offset: 0, sort: :version_desc, fields: nil) -获取单个gem的所有版本,包括发布日期和许可证,按版本降序排列。支持分页、排序和字段选择。

Ruby版本

  • get_latest_ruby_version -获取包含发布日期的最新Ruby版本
  • get_ruby_versions(limit: nil, offset: 0, sort: :version_desc) -获取所有Ruby版本,包括发布日期、下载URL和发布说明URL,按版本降序排列。支持分页和排序。
  • get_ruby_version_changelog(version) -通过获取和解析发行说明来获取特定Ruby版本的更新日志摘要
  • get_ruby_version_github_changelog(version) -从Ruby/Ruby存储库获取Ruby版本的GitHub发布变更日志
  • get_ruby_roadmap -从bugs.Ruby-lang.org获取Ruby路线图信息,显示计划版本及其问题
  • get_ruby_version_roadmap_details(version) -从bugs.Ruby-lang.org获取特定Ruby版本的详细路线图信息,包括该版本计划的问题和功能
  • get_ruby_maintenance_status -获取所有Ruby版本的维护状态,包括EOL日期和维护阶段

宝石信息

  • get_gem_info(gem_name, fields: nil) -获取有关gem的详细信息(摘要、主页、源代码、文档、许可证、作者、依赖关系、下载)。支持类似GraphQL的字段选择。
  • get_gem_version_info(gem_name, version, fields: nil) -使用RubyGems API v2获取特定gem版本的详细信息(特定版本的下载、依赖项、SHA校验和、创建日期、构建日期)。支持类似GraphQL的字段选择。
  • get_gem_reverse_dependencies(gem_name) -获取反向依赖关系-依赖于指定gem的gem列表
  • get_gem_version_downloads(gem_name, version) -获取特定gem版本的下载统计信息
  • get_gem_changelog(gem_name, version: nil) -通过从gem的changelog_uri中获取和解析changelog来获取其changelog摘要
  • search_gems(query, limit: nil, offset: 0) -在RubyGems上按名称搜索宝石。支持分页。

宝石发现

  • get_latest_gems(limit: 30) -获取最新宝石-最近添加到RubyGems.org的宝石
  • get_recently_updated_gems(limit: 30) -获取最近更新的gem-最近更新的gem版本
  • get_news_releases(page: 1) -从RubyGems.org获取新闻发布-所有新的gem发布都有分页(从获取 /news?page=N)
  • get_popular_releases(page: 1) -获取热门版本-来自RubyGems.org的带有分页的热门新gem版本(从获取 /releases/popular?page=N)

MCP服务器集成

此gem包括一个可以直接运行的即用型MCP服务器:

# After installing the gem
bundle exec rubygems_mcp

或者,如果全局安装:

gem install rubygems_mcp
rubygems_mcp

服务器将使用MCP协议通过STDIN/STDOUT进行通信。在MCP客户端中配置它(例如,Cursor IDE、Claude Desktop或其他启用MCP的工具)。

MCP工具

MCP服务器提供以下工具:

  1. get_latest_versions -获取包含发布日期和许可证的gem列表的最新版本。支持类似GraphQL的字段选择。

- 参数: gem_names (字符串数组), fields (可选字符串数组)

  1. get_gem_versions -获取单个gem的所有版本,包括发布日期和许可证,按版本降序排列。支持类似GraphQL的字段选择。

- 参数: gem_name (字符串), limit (可选整数), offset (可选整数), sort (可选字符串:“version_desc”、“version_asc”、”date_desc“、”date_asc“), fields (可选字符串数组)

  1. get_latest_ruby_version -获取包含发布日期的最新Ruby版本

- 参数:无

  1. get_ruby_versions -获取所有Ruby版本,包括发布日期、下载URL和发布说明URL,按版本降序排列

- 参数: limit (可选整数), offset (可选整数), sort (可选字符串:“version_desc”、“version_asc”、”date_desc“、”date_asc“)

  1. get_ruby_version_changelog -通过获取和解析发行说明来获取特定Ruby版本的更新日志摘要

- 参数: version (字符串,例如“3.4.7”)

  1. get_gem_info -获取有关gem的详细信息(摘要、主页、源代码、文档、许可证、作者、依赖关系、下载)。支持类似GraphQL的字段选择。

- 参数: gem_name (字符串), fields (可选字符串数组)

  1. get_gem_version_info -使用RubyGems API v2获取特定gem版本的详细信息(特定版本的下载、依赖项、SHA校验和、创建日期、构建日期)。支持类似GraphQL的字段选择。

- 参数: gem_name (字符串), version (字符串,例如“0.1.0”或“1.15.0-x86_64-linux”), fields (可选字符串数组)

  1. get_gem_reverse_dependencies -获取反向依赖关系-依赖于指定gem的gem列表

- 参数: gem_name (字符串)

  1. get_gem_version_downloads -获取特定gem版本的下载统计信息

- 参数: gem_name (字符串), version (字符串)

  1. get_latest_gems -获取最新宝石-最近添加到RubyGems.org的宝石
  • 参数: limit (可选整数,默认值:30,最大值:50)
  1. get_recenty_updated_gems -获取最近更新的gem-最近更新的gem版本
  • 参数: limit (可选整数,默认值:30,最大值:50)
  1. get_gem_changelog -通过从gem的changelog_uri中获取和解析changelog来获取其changelog摘要
  • 参数: gem_name (字符串), version (可选字符串,如果没有提供,则使用最新版本)
  1. 搜索ems -在RubyGems上按名称搜索宝石
  • 参数: query (字符串)
  1. get_ruby_loadmap -从bugs.Ruby-lang.org获取Ruby路线图信息,显示计划版本及其问题
  • 参数:无
  1. get_ruby_version_roadmap_details -从bugs.Ruby-lang.org获取特定Ruby版本的详细路线图信息,包括该版本计划的问题和功能
  • 参数: version (字符串,例如“3.4”、“4.0”)
  1. get_ruby_version_github_changelog -从Ruby/Ruby存储库获取Ruby版本的GitHub发布变更日志
  • 参数: version (字符串,例如“3.4.7”、“3.4.0”)
  1. get_news_releases -从RubyGems.org获取新闻稿-所有新发布的gem都有分页
  • 参数: page (可选整数,默认值:1)-页码(从1开始)
  • 胎儿来源: https://rubygems.org/news?page=N
  1. get_popular_releases -从RubyGems.org获取热门版本-带有分页的热门新gem版本
  • 参数: page (可选整数,默认值:1)-页码(从1开始)
  • 胎儿来源: https://rubygems.org/releases/popular?page=N

MCP资源

MCP服务器提供以下资源:

  1. rubygems://popular -精选的热门Ruby宝石及其最新版本

- 资源名称:“流行红宝石” - MIME类型:application/json

  1. rubygems://ruby/compatibility -关于Ruby版本兼容性和发布日期的信息

- 资源名称:“Ruby版本兼容性” - MIME类型:application/json

  1. rubygems://ruby/maintenance -所有Ruby版本的详细维护状态,包括EOL日期和维护阶段

- 资源名称:“Ruby维护状态” - MIME类型:application/json

  1. rubygems://ruby/latest -最新稳定的Ruby版本及其发布日期

- 资源名称:“最新Ruby版本” - MIME类型:application/json

错误处理

客户端优雅地处理错误:

  • 为失败的请求返回空数组
  • 为失败的gem信息请求返回空哈希值
  • 处理网络错误和JSON解析错误

发展

# Install dependencies
bundle install

# Run tests
bundle exec rspec

# Run tests across multiple Ruby versions
bundle exec appraisal install
bundle exec appraisal rspec

# Run linting
bundle exec standardrb --fix

# Validate RBS type signatures
bundle exec rbs validate

贡献

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

出资政策:

  • 新功能不一定添加到gem中
  • Pull请求应包含受影响部件的测试范围
  • 拉取请求应具有更改日志条目

审查政策:

  • 审查和合并关键修复可能需要长达2个日历周的时间
  • 审查和合并拉取请求可能需要长达6个日历月的时间
  • 审查一个问题可能需要长达1个日历年的时间

有关更多信息,请参见 贡献.md.

安全

如果您发现安全漏洞,请负责任地报告。看 安全.md 了解详情。

许可证

根据以下条款,gem可作为开源软件使用 MIT许可证.

目录标签

目录标签

Ruby开发工具集成JavaScriptClaude本地部署RubyGemsAPIRuby版本管理MCP协议无认证访问

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@modelcontextprotocol/inspector

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP