MCP Server RubyGems
# mcp-server-rubygems [](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
Scored across 6 tools
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.
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.
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.
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.