@fourthwallhq/rails-mcp
v0.2.0
Published
MCP server for interacting with Rails CLI - list generators, get help, and execute Rails generators
Maintainers
Readme
Rails MCP Server
A Model Context Protocol (MCP) server for interacting with Rails CLI. This server provides tools for listing Rails generators, getting detailed help, and executing Rails generators with proper validation and error handling.
Features
- List Generators: List all available Rails generators with descriptions and namespaces
- Generator Help: Get detailed help for specific generators including options and usage
- Execute Generators: Run Rails generators with arguments and options
- Multi-Project Support: Work with multiple Rails applications simultaneously
- Input Validation: Comprehensive input validation using Zod schemas
- Error Handling: Robust error handling with informative error messages
- Caching: Built-in caching for improved performance
Installation
npm install @ruby-mcp/rails-mcpUsage
Standalone
npx @ruby-mcp/rails-mcpWith Project Configuration
npx @ruby-mcp/rails-mcp --project myapp:/path/to/rails/appMultiple Projects
npx @ruby-mcp/rails-mcp \
--project main:/path/to/main/app \
--project api:/path/to/api/appAvailable Tools
list_generators
Lists all available Rails generators in a Rails project.
Input Schema:
project(optional): Project name to use
Example:
{
"project": "myapp"
}get_generator_help
Gets detailed help for a specific Rails generator.
Input Schema:
generator_name(required): Name of the generatorproject(optional): Project name to use
Example:
{
"generator_name": "model",
"project": "myapp"
}generate
Executes a Rails generator with specified arguments and options.
Input Schema:
generator_name(required): Name of the generatorarguments(optional): Array of arguments to pass to the generatoroptions(optional): Object of options to pass to the generatorproject(optional): Project name to use
Example:
{
"generator_name": "model",
"arguments": ["User", "name:string", "email:string"],
"options": {
"migration": true,
"timestamps": true
},
"project": "myapp"
}Requirements
- Node.js 18+
- Rails application with the
railscommand available in PATH - Ruby and Bundler installed
Development
Setup
# Install dependencies
pnpm install
# Build the package
pnpm build
# Run tests
pnpm test
# Run type checking
pnpm typecheck
# Run linting
pnpm lintProject Structure
src/
├── api/
│ └── rails-client.ts # Rails CLI command execution
├── tools/
│ ├── generators.ts # List generators tool
│ ├── generator-help.ts # Generator help tool
│ └── generate.ts # Execute generator tool
├── utils/
│ └── validation.ts # Input validation utilities
├── schemas.ts # Zod validation schemas
├── types.ts # TypeScript type definitions
├── project-manager.ts # Multi-project support
└── index.ts # Main server entry pointLicense
ISC
