Class: SwaggerMCPTool::ToolGenerator

Inherits:
Object
  • Object
show all
Includes:
Helpers::ParameterProcessor, Helpers::RequestBodyProcessor, Helpers::SwaggerValidator, Helpers::ToolBuilder
Defined in:
lib/swagger_mcp_tool/tool_generator.rb

Overview

Generate MCP tools from Swagger/OpenAPI specification Generates a list of tool definitions based on the Swagger/OpenAPI specification.

Constant Summary

Constants included from Helpers::ParameterProcessor

Helpers::ParameterProcessor::SWAGGER_TO_JSON_SCHEMA_TYPES

Instance Method Summary collapse

Methods included from Helpers::SwaggerValidator

#validate_paths_structure!, #validate_spec_structure!, #validate_swagger_spec!

Constructor Details

#initialize(swagger_client) ⇒ ToolGenerator

Returns a new instance of ToolGenerator.



32
33
34
35
36
# File 'lib/swagger_mcp_tool/tool_generator.rb', line 32

def initialize(swagger_client)
  @swagger_client = swagger_client
  @config = Config.instance
  @generated_tools = []
end

Instance Method Details

#generate_toolsObject



38
39
40
41
42
43
44
45
46
47
48
# File 'lib/swagger_mcp_tool/tool_generator.rb', line 38

def generate_tools
  swagger_spec = @swagger_client.swagger_spec
  validate_swagger_spec!(swagger_spec)

  @config.logger.info 'Generating tools from Swagger spec'

  process_swagger_paths(swagger_spec['paths'])

  @config.logger.info "Generated #{@generated_tools.size} tools"
  @generated_tools
end