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
Field | Type | Required | Description |
---|---|---|---|
tenant | string | Yes | A unique namespace for the pack author, like a GitHub username or company name. |
name | string | Yes | The machine-readable name of the pack (e.g., my-cool-pack ). |
version | string | Yes | The pack version, should follow SemVer (e.g., 1.0.0 ). |
display_name | string | Yes | The human-readable name shown in the Worka UI. |
description | string | Yes | A short description of the pack's purpose. |
author | string | No | The name and/or email of the pack author. |
license | string | No | The license for the pack (e.g., MIT , Apache-2.0 ). |
main_mcp_server | string | No | The key of the primary MCP server from the mcp_servers object, if multiple are defined. |
mcp_servers | object | No | An object defining the backend servers for the pack. See details below. |
capabilities | array | No | An array of strings declaring the permissions the pack requires. See details below. |
dependencies | array | No | An 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.
Field | Type | Required | Description |
---|---|---|---|
image | string | Yes | The name of the Docker image to run for this server (e.g., my-image:latest ). |
command | array | No | An array of strings representing the command to run in the container. Overrides the image's CMD . |
args | array | No | An array of strings representing arguments to pass to the command. |
env | object | No | A key-value map of environment variables to set in the container. |
input_schema | array | No | A 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.
Field | Type | Required | Description |
---|---|---|---|
name | string | Yes | The name of the field. This will be used as the key in the saved configuration object. |
type | string | Yes | The data type of the field (e.g., string , number , boolean ). |
description | string | Yes | A user-friendly description of the field, shown as a label or help text in the generated form. |
required | boolean | No | Whether the user must provide a value for this field. Defaults to false . |
enum | array | No | If provided, the generated form will be a dropdown/select input with these values as options. |