Class: ActiveadminMcp::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
ActiveRecord::Generators::Migration
Defined in:
lib/generators/activeadmin_mcp/install/install_generator.rb

Instance Method Summary collapse

Instance Method Details

#copy_admin_pageObject



28
29
30
31
32
# File 'lib/generators/activeadmin_mcp/install/install_generator.rb', line 28

def copy_admin_page
  return unless auth_method

  copy_file "mcp_api_tokens.rb", File.join(options[:admin_path], "mcp_api_tokens.rb")
end

#copy_initializerObject



18
19
20
# File 'lib/generators/activeadmin_mcp/install/install_generator.rb', line 18

def copy_initializer
  template "initializer.rb", "config/initializers/activeadmin_mcp.rb"
end

#copy_migrationObject



22
23
24
25
26
# File 'lib/generators/activeadmin_mcp/install/install_generator.rb', line 22

def copy_migration
  return unless auth_method

  migration_template "migration.rb.erb", "db/migrate/create_mcp_api_tokens.rb"
end

#set_auth_configObject



34
35
36
37
38
39
40
# File 'lib/generators/activeadmin_mcp/install/install_generator.rb', line 34

def set_auth_config
  return unless auth_method

  gsub_file "config/initializers/activeadmin_mcp.rb",
            "# config.authentication_method = :devise_token",
            "config.authentication_method = :#{auth_method}"
end

#show_instructionsObject



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/generators/activeadmin_mcp/install/install_generator.rb', line 42

def show_instructions
  say ""
  say "=" * 60, :green
  say " ActiveadminMcp installed!", :green
  say "=" * 60, :green
  say ""
  say "Your MCP server is available at: /mcp"
  say ""

  if auth_method
    say "Authentication (#{auth_method}) enabled! Next steps:", :yellow
    say ""
    say "  1. Run migrations:"
    say "     rails db:migrate"
    say ""
    say "  2. Create tokens via ActiveAdmin:"
    say "     Log in to /admin and visit 'MCP Tokens' under Settings"
    say ""
    say "  3. Connect Claude Code with your token:"
    say "     claude mcp add --transport http \\", :cyan
    say "       --header 'Authorization: Bearer YOUR_TOKEN' \\", :cyan
    say "       #{app_name} http://localhost:3000/mcp/", :cyan
  else
    say "Connect Claude Code:"
    say ""
    say "  claude mcp add --transport http #{app_name} http://localhost:3000/mcp/"
    say ""
    say "To add authentication later:"
    say "  rails generate activeadmin_mcp:install --auth devise_token"
  end

  say ""
end