Skip to main content
Glama
6

MCP Server RubyGems

by 6
README.md
# mcp-server-rubygems [![Default](https://github.com/6/mcp-server-rubygems/actions/workflows/default.yml/badge.svg)](https://github.com/6/mcp-server-rubygems/actions/workflows/default.yml)

A [Model Context Protocol](https://modelcontextprotocol.io/) server for fetching rubygems metadata via [rubygems.org API](https://guides.rubygems.org/rubygems-org-api/).

## Tools

This MCP server provides the following tools for interacting with the RubyGems.org API:

| Tool                           | Description                                               |
| ------------------------------ | --------------------------------------------------------- |
| `get_rubygem_info`             | Get information about a RubyGem                           |
| `search_rubygems`              | Search for RubyGems matching a query string               |
| `get_gem_versions`             | Get all available versions of a specific RubyGem          |
| `get_gem_reverse_dependencies` | Get gems that depend on a specific RubyGem                |
| `get_owner_gems`               | Get all RubyGems owned by a specific user or organization |
| `get_gem_owners`               | Get the owners of a specific RubyGem                      |

## Usage

Install dependencies:

```bash
npm install
```

Build the server:

```bash
npm run build
```

For development with auto-rebuild:

```bash
npm run watch
```

## Installation

To use with Claude Desktop, add the server config:

On MacOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
On Windows: `%APPDATA%/Claude/claude_desktop_config.json`

```json
{
  "mcpServers": {
    "mcp-server-rubygems": {
      "command": "/path/to/mcp-server-rubygems/build/index.js"
    }
  }
}
```

It should be similar on MCP clients like Cursor, Cline, etc -- just add the `command` from above in your config.

### Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the [MCP Inspector](https://github.com/modelcontextprotocol/inspector), which is available as a package script:

```bash
npm run inspector
```

The Inspector will provide a URL to access debugging tools in your browser.

TDQS

A3.5/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no ambiguity: get_gem_owners retrieves owners of a gem, get_gem_reverse_dependencies finds dependent gems, get_gem_versions lists versions, get_owner_gems shows gems owned by a user/org, get_rubygem_info provides general gem information, and search_rubygems searches for gems. The descriptions clearly differentiate their functions, making misselection unlikely.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with 'get_' or 'search_' prefixes followed by descriptive nouns (e.g., get_gem_owners, search_rubygems). The naming is uniform throughout, using snake_case consistently without any deviations or mixed conventions.

Tool Count5/5

With 6 tools, the count is well-scoped for a RubyGems server, covering key operations like searching, retrieving info, versions, dependencies, and ownership. Each tool earns its place without feeling excessive or insufficient for the domain's typical needs.

Completeness4/5

The tool set provides comprehensive read-only coverage for querying RubyGems, including search, info retrieval, version history, dependencies, and ownership. A minor gap exists in write operations (e.g., publishing or managing gems), but this is reasonable for a query-focused server, and agents can work around this limitation.

Maintenance

ActivityInactive
ResponsivenessNo issues