Skip to main content

Appendix A: aip.json Full Schema Reference

This document provides a comprehensive reference for all valid fields in the aip.json manifest file.

Full Example

{
"tenant": "my-corp",
"name": "example-pack",
"version": "1.2.0",
"display_name": "Example Pack",
"description": "An example pack that demonstrates key features.",
"author": "My Corp <dev@my-corp.com>",
"main_mcp_server": "main_svc",
"mcp_servers": {
"main_svc": {
"image": "my-corp/example-pack-main-svc:1.2.0",
"command": ["/bin/server"],
"input_schema": [
{
"name": "API_KEY",
"type": "string",
"description": "Your API Key for the service.",
"required": true
}
]
}
},
"capabilities": [
"net.access"
],
"dependencies": [
"worka/browser"
]
}

Root Fields

FieldTypeRequiredDescription
tenantstringYesA unique namespace for the pack author, like a GitHub username or company name.
namestringYesThe machine-readable name of the pack (e.g., my-cool-pack).
versionstringYesThe pack version, should follow SemVer (e.g., 1.0.0).
display_namestringYesThe human-readable name shown in the Worka UI.
descriptionstringYesA short description of the pack's purpose.
authorstringNoThe name and/or email of the pack author.
licensestringNoThe license for the pack (e.g., MIT, Apache-2.0).
main_mcp_serverstringNoThe key of the primary MCP server from the mcp_servers object, if multiple are defined.
mcp_serversobjectNoAn object defining the backend servers for the pack. See details below.
capabilitiesarrayNoAn array of strings declaring the permissions the pack requires. See details below.
dependenciesarrayNoAn array of strings (<tenant>/<name>) identifying other packs this pack depends on.

The mcp_servers Object

The mcp_servers object contains one or more nested objects, where each key is the unique name of a server for your pack.

FieldTypeRequiredDescription
imagestringYesThe name of the Docker image to run for this server (e.g., my-image:latest).
commandarrayNoAn array of strings representing the command to run in the container. Overrides the image's CMD.
argsarrayNoAn array of strings representing arguments to pass to the command.
envobjectNoA key-value map of environment variables to set in the container.
input_schemaarrayNoA schema defining configuration the user must provide on first run. See details below.

The input_schema Array

This is an array of objects, where each object defines a single configuration field that the user will be prompted for.

FieldTypeRequiredDescription
namestringYesThe name of the field. This will be used as the key in the saved configuration object.
typestringYesThe data type of the field (e.g., string, number, boolean).
descriptionstringYesA user-friendly description of the field, shown as a label or help text in the generated form.
requiredbooleanNoWhether the user must provide a value for this field. Defaults to false.
enumarrayNoIf provided, the generated form will be a dropdown/select input with these values as options.