Arcade · Schema
Arcade Tool Definition
AgentsMCPAI AgentsAuthorizationOAuthTool CallingAgent InfrastructureLLMIntegrations
Properties
| Name | Type | Description |
|---|---|---|
| $schema | string | |
| name | string | The tool name |
| fully_qualified_name | string | The tool's fully-qualified name |
| description | string | A human-readable description of the tool and when to use it |
| toolkit | object | The toolkit that contains the tool |
| input | object | |
| output | object | |
| requirements | object |
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$defs": {
"primitives": {
"description": "All supported primitive data types",
"type": "string",
"enum": ["string", "integer", "number", "boolean", "json"]
},
"value_schema": {
"type": "object",
"description": "The schema of a value (e.g. function input parameter value)",
"properties": {
"val_type": {
"oneOf": [{ "$ref": "#/$defs/primitives" }, { "type": "string", "enum": ["array"] }]
},
"inner_val_type": {
"description": "If the value type is a list, the type of the list values.",
"oneOf": [{ "$ref": "#/$defs/primitives" }, { "type": "null" }]
},
"enum": {
"oneOf": [
{ "type": "null" },
{
"type": "array",
"items": {
"type": "string"
}
}
]
}
},
"required": ["val_type"],
"additionalProperties": false,
"if": {
"properties": { "val_type": { "const": "array" } }
},
"then": {
"required": ["inner_val_type"]
}
}
},
"type": "object",
"properties": {
"$schema": {
"type": "string",
"format": "uri"
},
"name": {
"type": "string",
"description": "The tool name"
},
"fully_qualified_name": {
"type": "string",
"description": "The tool's fully-qualified name"
},
"description": {
"type": "string",
"description": "A human-readable description of the tool and when to use it"
},
"toolkit": {
"type": "object",
"description": "The toolkit that contains the tool",
"properties": {
"name": {
"type": "string",
"description": "The name of the toolkit"
},
"description": {
"type": "string",
"description": "A human-readable description of the toolkit"
},
"version": {
"type": "string",
"description": "An identifier for this version of the toolkit"
}
},
"required": ["name", "version"],
"additionalProperties": false
},
"input": {
"type": "object",
"properties": {
"parameters": {
"type": "array",
"minItems": 0,
"items": {
"type": "object",
"properties": {
"name": {
"description": "The human-readable name of this parameter.",
"type": "string"
},
"required": {
"description": "Whether this parameter is required (true) or optional (false).",
"type": "boolean"
},
"description": {
"description": "A descriptive, human-readable explanation of the parameter.",
"type": "string"
},
"value_schema": {
"$ref": "#/$defs/value_schema"
},
"inferrable": {
"type": "boolean",
"description": "Whether a value for this parameter can be inferred by a model. Defaults to `true`.",
"default": true
}
},
"required": ["name", "required", "value_schema"],
"additionalProperties": false
}
}
},
"required": ["parameters"],
"additionalProperties": false
},
"output": {
"type": "object",
"properties": {
"available_modes": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"enum": ["value", "error", "null", "artifact", "requires_authorization"]
}
},
"description": {
"description": "A descriptive, human-readable explanation of the function's output.",
"type": "string"
},
"value_schema": {
"$ref": "#/$defs/value_schema"
}
},
"required": ["available_modes"],
"additionalProperties": false
},
"requirements": {
"type": "object",
"properties": {
"secrets": {
"oneOf": [
{ "type": "null" },
{
"type": "array",
"items": {
"type": "object",
"properties": {
"key_id": {
"type": "string"
}
},
"required": ["key_id"],
"additionalProperties": false
}
}
]
},
"authorization": {
"oneOf": [
{ "type": "null" },
{
"type": "string",
"enum": ["none", "token"]
},
{
"type": "object",
"properties": {
"provider_id": {
"type": "string",
"description": "The provider ID configured in Arcade that acts as an alias to well-known configuration."
},
"provider_type": {
"type": "string",
"description": "The type of the authorization provider."
},
"id": {
"type": "string",
"description": "A provider's unique identifier, allowing the tool to specify a specific authorization provider. Recommended for private tools only."
},
"oauth2": {
"type": "object",
"properties": {
"scopes": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}
},
"required": ["provider_type"],
"additionalProperties": false
}
]
}
},
"additionalProperties": false
}
},
"required": ["name", "fully_qualified_name", "toolkit", "input", "output"],
"additionalProperties": false
}