Class: RailsMcp::Tools::DescribeModel

Inherits:
MCP::Tool
  • Object
show all
Defined in:
lib/rails_mcp/tools/describe_model.rb

Class Method Summary collapse

Class Method Details

.call(model:, server_context:) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/rails_mcp/tools/describe_model.rb', line 17

def self.call(model:, server_context:)
  result = Database::RoleProxy.with_role do
    klass = Database::ModelResolver.resolve(model)
    {
      model: klass.name,
      table: klass.table_name,
      primary_key: klass.primary_key,
      columns: column_info(klass),
      associations: association_info(klass)
    }
  end
  MCP::Tool::Response.new([{ type: "text", text: result.to_json }])
end