Your Rails models. An admin interface.
AdminSuite turns resource definitions into searchable tables, forms, record pages, and dashboards. Mount it in your Rails application and keep authentication, authorization, and business logic under your control.
Get started Explore the resource DSL
Install, mount, configure
bundle add admin_suite
bin/rails generate admin_suite:install
The generator mounts the engine at /internal/admin. Configure authentication
before opening it, then add your first resource.
AdminSuite.configure do |config|
config.auth_strategy = :host_user
config.auth_options = { resolve: ->(controller) { controller.current_user } }
config.authorize = ->(actor:, action:, resource:, record:, context:) { actor&.admin? }
end
Use your application’s own user resolver and access policy. Read the authentication guide for fail-closed behavior, HTTP Basic, custom strategies, and record authorization.
Build your admin
| Capability | Start here |
|---|---|
| Searchable tables, filters, sorting, and record pages | Resources |
| Forms and associations | Fields |
| Navigation, sections, and dashboards | Portals & dashboards |
| Charts with a local Chart.js bundle | Charts |
| Named record and bulk operations | Actions |
| Custom display components | Renderers |
| Colors, assets, and host styles | Theming & assets |
| A Markdown viewer for your host application | Docs viewer |
Give operators read access through MCP
The operator MCP endpoint exposes four read tools derived from the same resource DSL: discover resources, list records, read a record, and aggregate a collection. It requires an authenticated actor and an explicit authorization hook. No write tools or embedded assistant are included.
Requirements and support
AdminSuite requires Ruby 3.2 or newer and Rails 8.x. Your selected Rails release may impose a higher Ruby minimum. Use the gem’s dependency resolution to select a compatible combination.
See Troubleshooting, browse the configuration reference, or open an issue.