Class SchemaCatalog

java.lang.Object
neqsim.mcp.catalog.SchemaCatalog

public final class SchemaCatalog extends Object
Catalog of JSON schemas for MCP tool input and output declarations.

Provides JSON Schema strings describing the input/output format of each MCP tool. These schemas are designed to be served as MCP Resources via URIs like neqsim://schema/run_flash/input, enabling language models to understand the expected data format without trial and error.

Schemas follow JSON Schema Draft 2020-12 format and can also be used as inputSchema/outputSchema declarations in MCP tool definitions.

Version:
1.0
Author:
Even Solbraa
  • Field Details

    • GSON

      private static final com.google.gson.Gson GSON
  • Constructor Details

    • SchemaCatalog

      private SchemaCatalog()
      Private constructor — all methods are static.
  • Method Details

    • flashInputSchema

      public static String flashInputSchema()
      Returns the JSON Schema for flash calculation input.
      Returns:
      JSON Schema string
    • flashOutputSchema

      public static String flashOutputSchema()
      Returns the JSON Schema for flash calculation output.
      Returns:
      JSON Schema string
    • processInputSchema

      public static String processInputSchema()
      Returns the JSON Schema for process simulation input.
      Returns:
      JSON Schema string
    • processOutputSchema

      public static String processOutputSchema()
      Returns the JSON Schema for process simulation output.
      Returns:
      JSON Schema string
    • validateInputSchema

      public static String validateInputSchema()
      Returns the JSON Schema for validation input (same as flash or process inputs).
      Returns:
      JSON Schema string
    • validateOutputSchema

      public static String validateOutputSchema()
      Returns the JSON Schema for validation output.
      Returns:
      JSON Schema string
    • componentSearchOutputSchema

      public static String componentSearchOutputSchema()
      Returns the JSON Schema for component search output.
      Returns:
      JSON Schema string
    • batchInputSchema

      public static String batchInputSchema()
      Returns the JSON Schema for batch calculation input.
      Returns:
      JSON Schema string
    • batchOutputSchema

      public static String batchOutputSchema()
      Returns the JSON Schema for batch calculation output.
      Returns:
      JSON Schema string
    • propertyTableInputSchema

      public static String propertyTableInputSchema()
      Returns the JSON Schema for property table input.
      Returns:
      JSON Schema string
    • propertyTableOutputSchema

      public static String propertyTableOutputSchema()
      Returns the JSON Schema for property table output.
      Returns:
      JSON Schema string
    • phaseEnvelopeInputSchema

      public static String phaseEnvelopeInputSchema()
      Returns the JSON Schema for phase envelope input.
      Returns:
      JSON Schema string
    • phaseEnvelopeOutputSchema

      public static String phaseEnvelopeOutputSchema()
      Returns the JSON Schema for phase envelope output.
      Returns:
      JSON Schema string
    • capabilitiesOutputSchema

      public static String capabilitiesOutputSchema()
      Returns the JSON Schema for capabilities output.
      Returns:
      JSON Schema string
    • pvtInputSchema

      public static String pvtInputSchema()
      Returns the JSON Schema for PVT experiment input.
      Returns:
      JSON Schema string
    • pvtOutputSchema

      public static String pvtOutputSchema()
      Returns the JSON Schema for PVT experiment output.
      Returns:
      JSON Schema string
    • flowAssuranceInputSchema

      public static String flowAssuranceInputSchema()
      Returns the JSON Schema for flow assurance analysis input.
      Returns:
      JSON Schema string
    • standardsInputSchema

      public static String standardsInputSchema()
      Returns the JSON Schema for standards calculation input.
      Returns:
      JSON Schema string
    • pipelineInputSchema

      public static String pipelineInputSchema()
      Returns the JSON Schema for pipeline simulation input.
      Returns:
      JSON Schema string
    • reservoirInputSchema

      public static String reservoirInputSchema()
      Returns the JSON Schema for reservoir simulation input.
      Returns:
      JSON Schema string
    • fieldEconomicsInputSchema

      public static String fieldEconomicsInputSchema()
      Returns the JSON Schema for field economics input.
      Returns:
      JSON Schema string
    • dynamicInputSchema

      public static String dynamicInputSchema()
      Returns the JSON Schema for dynamic simulation input.
      Returns:
      JSON Schema string
    • bioprocessInputSchema

      public static String bioprocessInputSchema()
      Returns the JSON Schema for bioprocess simulation input.
      Returns:
      JSON Schema string
    • equipmentSizingInputSchema

      public static String equipmentSizingInputSchema()
      Returns the JSON Schema for equipment sizing input.
      Returns:
      JSON Schema string
    • equipmentSizingOutputSchema

      public static String equipmentSizingOutputSchema()
      Returns the JSON Schema for equipment sizing output.
      Returns:
      JSON Schema string
    • comparisonInputSchema

      public static String comparisonInputSchema()
      Returns the JSON Schema for process comparison input.
      Returns:
      JSON Schema string
    • sessionInputSchema

      public static String sessionInputSchema()
      Returns the JSON Schema for session management input.
      Returns:
      JSON Schema string
    • visualizationInputSchema

      public static String visualizationInputSchema()
      Returns the JSON Schema for visualization input.
      Returns:
      JSON Schema string
    • getToolNames

      public static List<String> getToolNames()
      Returns the list of tools with available schemas.
      Returns:
      list of tool names
    • getSchema

      public static String getSchema(String toolName, String schemaType)
      Returns a schema by tool name and schema type (input/output).
      Parameters:
      toolName - the tool name
      schemaType - "input" or "output"
      Returns:
      the JSON Schema string, or null if not found
    • getCatalogJson

      public static String getCatalogJson()
      Returns a full catalog listing of all available schemas as JSON.
      Returns:
      JSON string listing all schemas
    • valueWithUnitSchema

      private static Map<String,Object> valueWithUnitSchema(String description, String unitDescription, List<String> allowedUnits, String defaultUnit)
      Creates a ValueWithUnit JSON Schema fragment (oneOf: number or object).
      Parameters:
      description - the field description
      unitDescription - the unit field description
      allowedUnits - the allowed unit values
      defaultUnit - the default unit
      Returns:
      the schema map
    • stringProp

      private static Map<String,Object> stringProp(String description)
      Creates a simple string property schema.
      Parameters:
      description - the property description
      Returns:
      the schema map
    • intProp

      private static Map<String,Object> intProp(String description)
      Creates a simple integer property schema.
      Parameters:
      description - the property description
      Returns:
      the schema map
    • numberProp

      private static Map<String,Object> numberProp(String description)
      Creates a simple number property schema.
      Parameters:
      description - the property description
      Returns:
      the schema map
    • enumProp

      private static Map<String,Object> enumProp(String description, List<String> values)
      Creates an enum string property schema.
      Parameters:
      description - the property description
      values - the enum values
      Returns:
      the schema map