Class: SwaggerMCPTool::ToolGenerator
- Inherits:
-
Object
- Object
- SwaggerMCPTool::ToolGenerator
- 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
- #generate_tools ⇒ Object
-
#initialize(swagger_client) ⇒ ToolGenerator
constructor
A new instance of ToolGenerator.
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_tools ⇒ Object
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 |