{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "ITWorx MCP Hub Connector Template", "description": "Credential-free connector template.", "type": "object", "additionalProperties": false, "$id": "https://hub.example.com/schemas/connector-manifest.schema.json", "required": [ "apiVersion", "kind", "metadata", "spec" ], "properties": { "apiVersion": { "const": "hub.example.com/v1alpha1" }, "kind": { "const": "ConnectorTemplate" }, "metadata": { "$ref": "common.schema.json#/$defs/metadata" }, "spec": { "type": "object", "additionalProperties": false, "required": [ "connectorType", "image", "transport", "credentialReferences", "allowedNetworkTargets", "configuration", "health", "defaultRiskClasses" ], "properties": { "connectorType": { "type": "string", "pattern": "^[a-z0-9-]+$", "maxLength": 80 }, "image": { "type": "string", "minLength": 1, "maxLength": 300 }, "transport": { "enum": [ "streamable-http" ] }, "credentialReferences": { "type": "array", "uniqueItems": true, "items": { "type": "string", "pattern": "^(docker-secret|service-identity|authentik-client)://", "maxLength": 300 } }, "allowedNetworkTargets": { "type": "array", "uniqueItems": true, "items": { "type": "string", "pattern": "^(service|config|catalog-project-binding)://", "maxLength": 300 } }, "configuration": { "type": "object" }, "health": { "type": "object", "additionalProperties": false, "required": [ "path", "intervalSeconds", "failureThreshold" ], "properties": { "path": { "type": "string", "pattern": "^/" }, "intervalSeconds": { "type": "integer", "minimum": 5, "maximum": 300 }, "failureThreshold": { "type": "integer", "minimum": 1, "maximum": 10 } } }, "defaultRiskClasses": { "type": "array", "uniqueItems": true, "items": { "$ref": "common.schema.json#/$defs/riskClass" } } } } } }