ruby-mcp-server-generator
Generate a complete Model Context Protocol server project in Ruby using the official MCP Ruby SDK gem.
By github · 8,653 installs
npx skills add github/awesome-copilot --skill ruby-mcp-server-generator
Source repository · Upstream listing
Ruby MCP Server Generator
Generate a complete, production ready MCP server in Ruby using the official Ruby SDK.
Project Generation
When asked to create a Ruby MCP server, generate a complete project with this structure:
Gemfile Template
Rakefile Template
lib/my mcp server.rb Template
lib/my mcp server/server.rb Template
lib/my mcp server/tools/greet tool.rb Template
lib/my mcp server/tools/calculate tool.rb Template
lib/my mcp server/prompts/code review prompt.rb Template
lib/my mcp server/resources/example resource.rb Template
bin/mcp server Template
Make the file executable:
test/test helper.rb Template
test/tools/greet tool test.rb Template
test/tools/calculate tool test.rb Template
README.md Template
bash
bundle install
bash
bundle exec bin/mcp server
bash
{"jsonrpc":"2.0","id":"1","method":"ping"}
{"jsonrpc":"2.0","id":"2","method":"tools/list"}
{"jsonrpc":"2.0","id":"3","method":"tools/call","params":{"name":"greet","arguments":{"name":"Ruby"}}}
ruby
class McpController < ApplicationController
def index
server = MyMcpServer::Server.new(
server context: { user id: current user.id }
)
render json: server.handle json(request.body.read)
end
end
bash
bundle exec rake test
bash
bundle exec rake rubocop
bash
bundle exec rake
json
{
"mcpServers": {
"my mcp server": {
"command": "bundle",
"args": ["exec", "bin/mcp server"],
"cwd": "/path/to/my mcp server"
}
}
}
my mcp server/
├── Gemfile Dependencies
├── Rakefile Build tasks
├── lib/ Source code
│ ├── my mcp server.rb Main entry point
│ └── my mcp server/ Module namespace
│ ├── server.rb Server setup
│ ├── tools/ Tool implementations
│ ├── prompts/ Prompt templates
│ └── resources/ Resource handlers
├── bin/ Executables
│ └── mcp server Stdio server
├── test/ Test suite
│ ├── test helper.rb Test configuration
│ └── tools/ Tool tests
└── README.md This file
Generation Instructions
1. Ask for project name and description
2. Generate all files with proper naming and module structure
3. Use classes for tools and prompts for better organization
4. Include input/output schemas for type safety
5. Add tool annotations for behavior hints
6. Include structured content in responses
7. Implement comprehensive tests for all tools
8. Follow Ruby conventions (snake case, modules, frozen string literal)
9. Add proper error handling with is error flag
10. Provide both stdio and HTTP usage examples