一个Ruby gem,提供MCP工具用于查询RubyGems包信息,采用本地优先、缓存和来源标记的方式返回可信任的答案。

Stars

9

7 天增长

暂无数据

Fork 数

0

开放 Issue

0

开源协议

MIT

最近更新

2026-07-30

AI 仓库情报摘要
FR-AI / ANALYSIS

为什么值得关注

采用独特的离线优先策略查询gem,优先使用本地gemspec和缓存,减少API调用,为AI代理提供可直接信任的元数据。

适合谁使用

  • 管理gem依赖的Ruby开发者
  • 集成包情报的AI代理开发者
  • 审计gem生态的DevOps工程师
  • 需要结构化gem元数据的Ruby工具作者

典型使用场景

  • 检查gem的所有权和维护状态
  • 验证gem之间的版本兼容性
  • 探索某个gem的依赖图
  • 列出两个版本之间的所有发布版本

项目优势

  • 本地优先解析减少网络依赖,加快响应速度
  • 持久化缓存配合ETag和过期复用确保可靠性
  • 速率限制和原子写入防止API滥用和数据损坏
  • 提供结构化、带来源标记的结果,AI代理可以信赖

使用前须知

  • 依赖图是探索性的,不考虑锁文件、Ruby版本或平台
  • 兼容性检查器不是完整的约束求解器,仅检查声明的依赖
  • 需要Ruby环境和gem安装,不能作为独立工具使用

README 快速开始

gemcp

MCP tools for RubyGems package intelligence. Ask about gems, versions, dependencies, and ownership. Get structured, provenance-tagged answers an agent can trust.

Install

gem install gemcp

MCP client config

Add to your MCP client (Claude Desktop, Kiro, etc.):

{
  "mcpServers": {
    "gemcp": {
      "command": "gemcp"
    }
  }
}

That's it. If your Ruby isn't on the default PATH, use the full path:

{
  "mcpServers": {
    "gemcp": {
      "command": "/path/to/gemcp"
    }
  }
}

Find it with gem which gemcp && which gemcp.

What it does

gemcp reads from installed gemspecs first, a persistent disk cache second, and the RubyGems.org API only when neither has what you need.

Tools

ToolPurpose
search_gemsSearch installed gems first, then RubyGems.org
get_gemCurrent gem metadata, preferring an installed gemspec
list_gem_versionsInstalled versions first, registry versions otherwise
get_gem_versionExact local version/platform first, API v2 otherwise
get_gem_ownersPublic owner/maintainer data from RubyGems.org
get_dependency_graphBounded exploratory graph with constraints on edges
get_gem_contextAggregated context: metadata + recent versions + owners
check_compatibilityDetect dependency conflicts between two gem versions
get_releases_betweenList all releases between two versions of a gem
reverse_dependenciesFind gems that depend on a given gem
compare_versionsDiff dependency requirements between two versions

Example questions

These are the kinds of questions gemcp helps an agent answer with authoritative data:

  • "Is sidekiq still actively maintained? Who owns it on RubyGems?"
  • "What Ruby version does nokogiri 1.18.8 require?"
  • "Can authlogic 3.6 coexist with Rails 8?"
  • "What changed in authlogic's dependencies between version 3.6.1 and 6.6.0?"
  • "What gems depend on rack?"
  • "Show me every release of rails between 7.0.0 and 8.0.0"
  • "Compare puma and unicorn — versions, owners, dependency counts"
  • "What are the runtime dependencies of rails 8.1?"
  • "Build me a dependency graph for sidekiq at depth 2"
  • "Find me gems for background job processing"

How it resolves data

installed gemspecs
      ↓ miss
fresh disk cache
      ↓ stale/miss
conditional RubyGems.org req

项目描述

Read-only MCP tools for RubyGems package metadata, versions, owners, search, and dependency graphs, with local gem lookup, caching, and rate limiting.

相关仓库与替代方案

根据分类、Topic 和编程语言匹配的相似项目。

mereyabdenbekuly-ctrl
精选
mereyabdenbekuly-ctrl GitHub avatar

clodex-ide

Clodex is an open-source, local-first agentic IDE that combines persistent AI tasks, code, terminal, browser, Git, models, memory, and governed execution in one Electron workspace, currently in technical preview.

AI 与机器学习AI 智能体
859
0xwilliamortiz
精选
0xwilliamortiz GitHub avatar

openclaude-improved

OpenClaude is an open-source CLI coding agent that runs on any platform and supports a wide range of LLM providers, offering the same tools and workflows as Claude Code.

AI 与机器学习大语言模型
577
MoonshotAI
精选
MoonshotAI GitHub avatar

Kimi-K3

Kimi K3 is an open-weight, 2.8T-parameter native multimodal agentic model with a 1M-token context window, designed for frontier coding, knowledge work, and reasoning tasks.

AI 与机器学习AI 智能体
3,348