Rails MCP Server
An MCP server exposes Rails project structure, routes, models and schema to agents alongside framework documentation.
- 573 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The server reads registered project source and configuration and writes client settings.
Install
- Works in
Manual install
gem install rails-mcp-serverThe first README gem installation command. Add projects with its configurator afterward.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The server reads registered project source and configuration and writes client settings.
This is third-party code. Review the repository files before installing.
What it does
Rails MCP Server connects an AI client to a selected Rails project. Agents inspect files, routes, model relationships, database schema and controller-view links. Model inspection uses Prism static analysis. A configurator manages multiple projects and switches between them. It also downloads Rails, Turbo, Stimulus and Kamal guides or imports custom Markdown documentation. Clients discover a relevant tool before invoking it, avoiding a full tool catalog in every prompt.
Who it is for. For Rails developers exposing application context and documentation through one MCP connection.
Good fit when
- Inspect application routes.
- Provide model relationships and schema context.
- Switch between Rails projects.
- Consult Turbo or Stimulus documentation for a task.
Not a fit when
- The application source is unavailable.
- You need a universal server for every framework.
- The server would be exposed on an untrusted network.
Example request
Show routes and related models in the test Rails project without exposing configuration secrets.MCP
- Transport
- stdio, sse
- Authentication
- not required
Limitations
A Ruby environment with the gem is required; the MCP client must use the Ruby where it was installed or startup can fail. Register only authorized projects because agents can read source and configuration containing secrets. HTTP binds to localhost by default; enable access from other machines only on a trusted network. Static analysis and route output reflect available source, so verify important conclusions against the application environment and tests.
How to disable. Remove the MCP entry and stop any HTTP process. Clean project registrations and downloaded guides separately.
FAQ
How do I open the configurator?
Run `rails-mcp-config`.
How do I start stdio mode?
Run `rails-mcp-server` without selecting HTTP mode.
Where is the project list?
In `projects.yml` in the rails-mcp configuration directory.
Can I add custom guides?
The configurator imports user Markdown documentation.
How are detailed tools selected?
The agent finds an analyzer with `search_tools`, then invokes it through `execute_tool`.
Discussion
No questions or reviews yet.
Related
MCP serversAn MCP server exposes a running development Rails app to agents for Ruby, SQL, logs and version-matched gem documentation.
An MCP server that builds a code graph once and serves the answer to the agent instead of re-reading files
MCP server for Rails YAML and JSON locale files: read, search, write and audit translations
A plugin with skills for building TypeScript MCP servers and MCP apps: the agent scaffolds, edits, debugs and verifies them
A CLI compiler that reads app code, API specs and database schemas and generates a ready MCP server with tool permission checks.
An MCP server that lets an agent read files, search code and run commands in a workspace
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| Rails MCP Server (this card) | yes | not required | 573 | |
| Axon | yes | not required | 817 | builds a general source graph; Rails MCP Server provides Rails routes, models and guides |
| Tidewave Rails | yes | not required | 475 | An MCP server exposes a running development Rails app to agents for Ruby, SQL, logs and version-matched gem documentation. |
README in short
The package separates server and configuration tooling. The configurator locates Ruby paths and backs up Claude Desktop settings before editing.