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