MCP server for Rails version diffs
Rails Diff MCP Server
MCP server that exposes Rails version diffs as tools. Data comes from the railsdiff/rails-new-output GitHub repository, where each Rails version is tagged with the output of rails new.
Tools
| Tool | Description |
|------|-------------|
| list_rails_versions | List all available Rails versions (sorted) |
| compare_rails_versions | Compare two versions — returns a list of changed files |
| get_file_diff | Get the patch for a specific file between two versions |
Setup
Prerequisites
- Docker and Docker Compose
- Optional:
GITHUB_TOKENenv var to avoid GitHub API rate limits
Start the server
docker compose up -d
The server listens on http://localhost:8080/mcp with a health check at http://localhost:8080/healthz.
Register in your MCP client
Example for Claude Code:
claude mcp add --transport http rails-diff http://localhost:8080/mcp
Restart your MCP client to pick up the new server.
Development
bun install
bun src/index.ts
The server starts on port 8080 by default. Override with PORT env var.
Configuration
| Env var | Description | Default |
|---------|-------------|---------|
| PORT | Server listen port | 8080 |
| GITHUB_TOKEN | GitHub personal access token (raises API rate limit) | none |
Credits
Built on top of RailsDiff by Andy Stewart and contributors. The diff data comes from railsdiff/rails-new-output.