[Render Preview] [Feature] Ruby UI MCP server

Merged
DJ
5mo ago
+3900-2

Summary

New mcp/ Rails engine gem (ruby_ui-mcp) exposing a 7-tool MCP server, mounted in docs/ Rails app at /mcp. Mirrors shadcn MCP feature set. Adds /docs/mcp page with per-client install snippets.

  • Static data/registry.json built from gem/ (46 components), committed and CI-gated for drift.
  • HTTP transport via mcp ruby-sdk StreamableHTTPTransport, Rack::Attack 60 req/min limit.
  • 7 tools: get_project_registries, list_items_in_registries, search_items_in_registries, view_items_in_registries, get_item_examples_from_registries, get_add_command_for_items, get_audit_checklist.
  • Component names allowlisted via regex — no shell injection surface.

Design: specs/2026-05-09-ruby-ui-mcp-design.md
Plan: specs/2026-05-09-ruby-ui-mcp-plan.md

Test plan

  • cd mcp && bundle exec rake test — 22 runs, 45 assertions, 0 failures
  • Live POST /mcp with tools/list returns all 7 tools (verified on localhost:3001)
  • GET /docs/mcp returns 200
  • CI: new mcp + mcp-registry-check jobs
  • Deploy to rubyui.com and confirm https://rubyui.com/mcp reachable
  • Connect from Claude Code / Cursor and run an end-to-end install via agent