Module: RailsMcpServer

Extended by:
Forwardable
Defined in:
lib/rails_mcp_server.rb,
lib/rails-mcp-server/config.rb,
lib/rails-mcp-server/version.rb,
lib/rails-mcp-server/tools/get_file.rb,
lib/rails-mcp-server/tools/base_tool.rb,
lib/rails-mcp-server/tools/get_model.rb,
lib/rails-mcp-server/tools/get_routes.rb,
lib/rails-mcp-server/tools/get_schema.rb,
lib/rails-mcp-server/tools/list_files.rb,
lib/rails-mcp-server/tools/load_guide.rb,
lib/rails-mcp-server/tools/project_info.rb,
lib/rails-mcp-server/tools/analyze_models.rb,
lib/rails-mcp-server/tools/switch_project.rb,
lib/rails-mcp-server/helpers/resource_base.rb,
lib/rails-mcp-server/utilities/run_process.rb,
lib/rails-mcp-server/resources/base_resource.rb,
lib/rails-mcp-server/helpers/resource_importer.rb,
lib/rails-mcp-server/helpers/resource_downloader.rb,
lib/rails-mcp-server/resources/guide_file_finder.rb,
lib/rails-mcp-server/extensions/server_templating.rb,
lib/rails-mcp-server/resources/guide_error_handler.rb,
lib/rails-mcp-server/extensions/resource_templating.rb,
lib/rails-mcp-server/tools/analyze_controller_views.rb,
lib/rails-mcp-server/resources/guide_loader_template.rb,
lib/rails-mcp-server/resources/kamal_guides_resource.rb,
lib/rails-mcp-server/resources/rails_guides_resource.rb,
lib/rails-mcp-server/resources/turbo_guides_resource.rb,
lib/rails-mcp-server/resources/custom_guides_resource.rb,
lib/rails-mcp-server/resources/kamal_guides_resources.rb,
lib/rails-mcp-server/resources/rails_guides_resources.rb,
lib/rails-mcp-server/resources/turbo_guides_resources.rb,
lib/rails-mcp-server/tools/analyze_environment_config.rb,
lib/rails-mcp-server/resources/custom_guides_resources.rb,
lib/rails-mcp-server/resources/guide_content_formatter.rb,
lib/rails-mcp-server/resources/guide_framework_contract.rb,
lib/rails-mcp-server/resources/stimulus_guides_resource.rb,
lib/rails-mcp-server/resources/guide_manifest_operations.rb,
lib/rails-mcp-server/resources/stimulus_guides_resources.rb

Defined Under Namespace

Modules: Extensions, GuideContentFormatter, GuideErrorHandler, GuideFileFinder, GuideFrameworkContract, GuideLoaderTemplate, GuideManifestOperations Classes: AnalyzeControllerViews, AnalyzeEnvironmentConfig, AnalyzeModels, BaseResource, BaseTool, Config, CustomGuidesResource, CustomGuidesResources, Error, GetFile, GetModels, GetRoutes, GetSchema, KamalGuidesResource, KamalGuidesResources, ListFiles, LoadGuide, ProjectInfo, RailsGuidesResource, RailsGuidesResources, ResourceBase, ResourceDownloader, ResourceImporter, RunProcess, StimulusGuidesResource, StimulusGuidesResources, SwitchProject, TurboGuidesResource, TurboGuidesResources

Constant Summary collapse

LEVELS =
{debug: Logger::DEBUG, info: Logger::INFO, error: Logger::ERROR}
VERSION =
"1.2.2"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configObject (readonly)

Returns the value of attribute config.



48
49
50
# File 'lib/rails_mcp_server.rb', line 48

def config
  @config
end

Class Method Details

.extensions_loaded?Boolean

Check if all extensions are loaded

Returns:

  • (Boolean)


93
94
95
# File 'lib/rails_mcp_server.rb', line 93

def extensions_loaded?
  resource_extensions_loaded? && server_extensions_loaded?
end

.log(level, message) ⇒ Object



57
58
59
60
61
# File 'lib/rails_mcp_server.rb', line 57

def log(level, message)
  log_level = LEVELS[level] || Logger::INFO

  @config.logger.add(log_level, message)
end

.resource_extensions_loaded?Boolean

Check if resource extensions are loaded

Returns:

  • (Boolean)


71
72
73
# File 'lib/rails_mcp_server.rb', line 71

def resource_extensions_loaded?
  Extensions::ResourceExtensionSetup.setup_complete?
end

.server_extensions_loaded?Boolean

Check if server extensions are loaded

Returns:

  • (Boolean)


82
83
84
# File 'lib/rails_mcp_server.rb', line 82

def server_extensions_loaded?
  Extensions::ServerExtensionSetup.setup_complete?
end

.setup_extensions!Object

Setup all extensions at once



87
88
89
90
# File 'lib/rails_mcp_server.rb', line 87

def setup_extensions!
  setup_resource_extensions!
  # Server extensions are setup automatically by resource extensions
end

.setup_resource_extensions!Object

NOTE: This needs to be removed once FastMcp provides official support for URI templating Setup method to initialize FastMcp::Resource extensions Call this after the gem is loaded to enable URI templating



66
67
68
# File 'lib/rails_mcp_server.rb', line 66

def setup_resource_extensions!
  Extensions::ResourceExtensionSetup.setup!
end

.setup_server_extensions!Object

Setup method to initialize FastMcp::Server extensions This is called automatically by resource extension setup



77
78
79
# File 'lib/rails_mcp_server.rb', line 77

def setup_server_extensions!
  Extensions::ServerExtensionSetup.setup!
end