Files
ITWorx_MCP_Hub-Public/contracts/schemas/prompt-manifest.schema.json
T

97 lines
2.2 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://hub.example.com/schemas/prompt-manifest.schema.json",
"title": "ITWorx MCP Hub Prompt Manifest",
"description": "User-initiated governed MCP prompt definition.",
"type": "object",
"additionalProperties": false,
"required": [
"apiVersion",
"kind",
"metadata",
"spec"
],
"properties": {
"apiVersion": {
"const": "hub.example.com/v1alpha1"
},
"kind": {
"const": "PromptManifest"
},
"metadata": {
"$ref": "common.schema.json#/$defs/metadata"
},
"spec": {
"type": "object",
"additionalProperties": false,
"required": [
"promptName",
"description",
"argumentsSchema",
"requiredScopes",
"allowedToolPatterns",
"messages"
],
"properties": {
"promptName": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"maxLength": 100
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"argumentsSchema": {
"type": "object"
},
"requiredScopes": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"maxLength": 200
}
},
"allowedToolPatterns": {
"type": "array",
"uniqueItems": true,
"maxItems": 100,
"items": {
"type": "string",
"maxLength": 200
}
},
"messages": {
"type": "array",
"minItems": 1,
"maxItems": 10,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"role",
"text"
],
"properties": {
"role": {
"enum": [
"user",
"assistant"
]
},
"text": {
"type": "string",
"minLength": 1,
"maxLength": 12000
}
}
}
}
}
}
}
}