Skip to content

MCP Recipes

Discover, install, author, and publish immutable Recipes and Skills.

This reference is generated from Crewhelm’s authenticated MCP catalog and progressive operation schemas. Tool availability does not grant authority; every call is subject to the authenticated owner, approved OAuth scopes, and current control-plane policy.

Inspect state and obtain exact references without changing it.

Inspect Crewhelm Recipes

Discover and inspect immutable public Recipes and Skills without changing the owner’s fleet.

Attributes: read-only, non-destructive, idempotent, open-world.

How to use this tool:

  1. Send {"request":"operations"} to list its subtools.
  2. Send {"request":"schema","name":"…"} for one subtool’s exact inputs.
  3. Send {"request":"execute","name":"…","input":{…}} to run it.
Subtool Purpose
search Search immutable public Recipes by bounded text query.
inspect Inspect one exact immutable public Recipe.
read_skill Read one text file from an exact public Skill package.

Search immutable public Recipes by bounded text query.

Input Required Type Details
limit No integer minimum: 1; maximum: 30; default: 10
query Yes string minimum length: 2; maximum length: 256
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 30
},
"query": {
"type": "string",
"minLength": 2,
"maxLength": 256
}
},
"required": [
"query"
],
"additionalProperties": false
}

Inspect one exact immutable public Recipe.

Input Required Type Details
target Yes object One exact immutable Recipe version at the configured canonical Registry origin.
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"target": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "recipe"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[a-z][a-z0-9-]*$"
},
"namespace": {
"type": "string",
"minLength": 1,
"maxLength": 39,
"pattern": "^(?!-)[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"registry": {
"type": "string",
"maxLength": 2048,
"format": "uri"
}
},
"required": [
"kind",
"name",
"namespace",
"version",
"digest",
"registry"
],
"additionalProperties": false,
"description": "One exact immutable Recipe version at the configured canonical Registry origin."
}
},
"required": [
"target"
],
"additionalProperties": false
}

Read one text file from an exact public Skill package.

Input Required Type Details
path Yes string SKILL.md or a relative path under assets/, references/, or scripts/. minimum length: 1; maximum length: 240
target Yes object
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"path": {
"type": "string",
"minLength": 1,
"maxLength": 240,
"description": "SKILL.md or a relative path under assets/, references/, or scripts/."
},
"target": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "skill"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[a-z][a-z0-9-]*$"
},
"namespace": {
"type": "string",
"minLength": 1,
"maxLength": 39,
"pattern": "^(?!-)[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"registry": {
"type": "string",
"maxLength": 2048,
"format": "uri"
}
},
"required": [
"kind",
"name",
"namespace",
"version",
"digest",
"registry"
],
"additionalProperties": false
}
},
"required": [
"path",
"target"
],
"additionalProperties": false
}

Preview or perform bounded changes under the required owner authority.

Change Crewhelm Recipes

Draft, preview, install, or recover one immutable Recipe with owner-local bindings.

Attributes: write, destructive, idempotent, open-world.

How to use this tool:

  1. Send {"request":"operations"} to list its subtools.
  2. Send {"request":"schema","name":"…"} for one subtool’s exact inputs.
  3. Send {"request":"execute","name":"…","input":{…}} to run it.
Subtool Purpose
prepare_install Create a reviewable installation draft for one exact public Recipe.
set_setup Set one declared setup parameter in a Recipe installation draft.
bind_connection Bind one provider Connection to a required Recipe slot.
bind_brief Bind one exact Brief revision to a named Recipe input.
select_optional_skill Include or exclude one optional public Skill in a Recipe installation draft.
select_operations Choose the Schedule and Event Trigger operations for one Recipe installation draft.
preview_install Preview the Agent, authority, bindings, and limits produced by one installation draft.
install Install one confirmed Recipe draft and create its disabled Agent.
discard_install_draft Discard one Recipe installation draft.
recover_install Recover the state of one exact Recipe installation attempt.

Create a reviewable installation draft for one exact public Recipe.

Input Required Type Details
requestKey No string Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$
target Yes object One exact immutable Recipe version at the configured canonical Registry origin.
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"requestKey": {
"description": "Optional retry identity. Omit it on the ordinary happy path.",
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._~-]+$"
},
"target": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "recipe"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[a-z][a-z0-9-]*$"
},
"namespace": {
"type": "string",
"minLength": 1,
"maxLength": 39,
"pattern": "^(?!-)[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"registry": {
"type": "string",
"maxLength": 2048,
"format": "uri"
}
},
"required": [
"kind",
"name",
"namespace",
"version",
"digest",
"registry"
],
"additionalProperties": false,
"description": "One exact immutable Recipe version at the configured canonical Registry origin."
}
},
"required": [
"target"
],
"additionalProperties": false
}

Set one declared setup parameter in a Recipe installation draft.

Input Required Type Details
draft Yes object
name Yes string minimum length: 1; maximum length: 40; pattern: ^[a-z][a-z0-9-]*$
requestKey No string Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$
value Yes string | number | boolean
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"draft": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"id": {
"type": "string",
"pattern": "^mcp_draft_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"kind": {
"type": "string",
"const": "recipe-installation"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"digest",
"id",
"kind",
"revision"
],
"additionalProperties": {}
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"pattern": "^[a-z][a-z0-9-]*$"
},
"requestKey": {
"description": "Optional retry identity. Omit it on the ordinary happy path.",
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._~-]+$"
},
"value": {
"anyOf": [
{
"type": "string",
"maxLength": 2048
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"required": [
"draft",
"name",
"value"
],
"additionalProperties": false
}

Bind one provider Connection to a required Recipe slot.

Input Required Type Details
draft Yes object
connection Yes object | object
requestKey No string Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$
slot Yes string minimum length: 1; maximum length: 40
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"draft": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"id": {
"type": "string",
"pattern": "^mcp_draft_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"kind": {
"type": "string",
"const": "recipe-installation"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"digest",
"id",
"kind",
"revision"
],
"additionalProperties": {}
},
"connection": {
"anyOf": [
{
"type": "object",
"properties": {
"connectionId": {
"type": "string",
"pattern": "^connection_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
}
},
"required": [
"connectionId"
],
"additionalProperties": {}
},
{
"type": "object",
"properties": {
"connectionLink": {
"type": "object",
"properties": {
"connectionId": {
"type": "string",
"pattern": "^connection_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
}
},
"required": [
"connectionId"
],
"additionalProperties": {}
}
},
"required": [
"connectionLink"
],
"additionalProperties": {}
}
]
},
"requestKey": {
"description": "Optional retry identity. Omit it on the ordinary happy path.",
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._~-]+$"
},
"slot": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
},
"required": [
"draft",
"connection",
"slot"
],
"additionalProperties": false
}

Bind one exact Brief revision to a named Recipe input.

Input Required Type Details
draft Yes object
brief Yes object | object | object Copy-ready Brief reference, summary, or create result returned by Crewhelm.
inputName Yes string minimum length: 1; maximum length: 40; pattern: ^[a-z][a-z0-9-]*$
requestKey No string Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"draft": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"id": {
"type": "string",
"pattern": "^mcp_draft_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"kind": {
"type": "string",
"const": "recipe-installation"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"digest",
"id",
"kind",
"revision"
],
"additionalProperties": {}
},
"brief": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^brief_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"required": [
"id",
"revision"
],
"additionalProperties": {}
},
{
"type": "object",
"properties": {
"currentRevision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"id": {
"type": "string",
"pattern": "^brief_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
}
},
"required": [
"currentRevision",
"id"
],
"additionalProperties": {}
},
{
"type": "object",
"properties": {
"brief": {
"type": "object",
"properties": {
"currentRevision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"id": {
"type": "string",
"pattern": "^brief_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
}
},
"required": [
"currentRevision",
"id"
],
"additionalProperties": {}
}
},
"required": [
"brief"
],
"additionalProperties": {}
}
],
"description": "Copy-ready Brief reference, summary, or create result returned by Crewhelm."
},
"inputName": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"pattern": "^[a-z][a-z0-9-]*$"
},
"requestKey": {
"description": "Optional retry identity. Omit it on the ordinary happy path.",
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._~-]+$"
}
},
"required": [
"draft",
"brief",
"inputName"
],
"additionalProperties": false
}

Include or exclude one optional public Skill in a Recipe installation draft.

Input Required Type Details
draft Yes object
name Yes string minimum length: 1; maximum length: 80; pattern: ^[a-z][a-z0-9-]*$
namespace Yes string minimum length: 1; maximum length: 39; pattern: ^(?!-)[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$
requestKey No string Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$
selected No boolean default: true
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"draft": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"id": {
"type": "string",
"pattern": "^mcp_draft_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"kind": {
"type": "string",
"const": "recipe-installation"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"digest",
"id",
"kind",
"revision"
],
"additionalProperties": {}
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[a-z][a-z0-9-]*$"
},
"namespace": {
"type": "string",
"minLength": 1,
"maxLength": 39,
"pattern": "^(?!-)[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$"
},
"requestKey": {
"description": "Optional retry identity. Omit it on the ordinary happy path.",
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._~-]+$"
},
"selected": {
"default": true,
"type": "boolean"
}
},
"required": [
"draft",
"name",
"namespace"
],
"additionalProperties": false
}

Choose the Schedule and Event Trigger operations for one Recipe installation draft.

Input Required Type Details
draft Yes object
operations No object default: [object Object]
requestKey No string Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"draft": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"id": {
"type": "string",
"pattern": "^mcp_draft_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"kind": {
"type": "string",
"const": "recipe-installation"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"digest",
"id",
"kind",
"revision"
],
"additionalProperties": {}
},
"operations": {
"default": {
"eventTriggers": [],
"schedules": []
},
"type": "object",
"properties": {
"eventTriggers": {
"default": [],
"maxItems": 8,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[a-z][a-z0-9-]*$"
}
},
"schedules": {
"default": [],
"maxItems": 8,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[a-z][a-z0-9-]*$"
}
},
"timeZone": {
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"additionalProperties": false
},
"requestKey": {
"description": "Optional retry identity. Omit it on the ordinary happy path.",
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._~-]+$"
}
},
"required": [
"draft"
],
"additionalProperties": false
}

Preview the Agent, authority, bindings, and limits produced by one installation draft.

Input Required Type Details
draft Yes object
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"draft": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"id": {
"type": "string",
"pattern": "^mcp_draft_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"kind": {
"type": "string",
"const": "recipe-installation"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"digest",
"id",
"kind",
"revision"
],
"additionalProperties": {}
}
},
"required": [
"draft"
],
"additionalProperties": false
}

Install one confirmed Recipe draft and create its disabled Agent.

Input Required Type Details
draft Yes object
expectedConfirmationDigest Yes string pattern: ^[0-9a-f]{64}$
requestKey No string Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"draft": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"id": {
"type": "string",
"pattern": "^mcp_draft_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"kind": {
"type": "string",
"const": "recipe-installation"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"digest",
"id",
"kind",
"revision"
],
"additionalProperties": {}
},
"expectedConfirmationDigest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"requestKey": {
"description": "Optional retry identity. Omit it on the ordinary happy path.",
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._~-]+$"
}
},
"required": [
"draft",
"expectedConfirmationDigest"
],
"additionalProperties": false
}

Discard one Recipe installation draft.

Input Required Type Details
draft Yes object
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"draft": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"id": {
"type": "string",
"pattern": "^mcp_draft_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"kind": {
"type": "string",
"const": "recipe-installation"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"digest",
"id",
"kind",
"revision"
],
"additionalProperties": {}
}
},
"required": [
"draft"
],
"additionalProperties": false
}

Recover the state of one exact Recipe installation attempt.

Input Required Type Details
installationId Yes string pattern: ^recipe_installation_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"installationId": {
"type": "string",
"pattern": "^recipe_installation_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
}
},
"required": [
"installationId"
],
"additionalProperties": false
}

Publish Crewhelm Recipe

Draft one Agent revision as a Recipe, authorize it, then preview or publish the exact digest.

Attributes: write, destructive, idempotent, open-world.

How to use this tool:

  1. Send {"request":"operations"} to list its subtools.
  2. Send {"request":"schema","name":"…"} for one subtool’s exact inputs.
  3. Send {"request":"execute","name":"…","input":{…}} to run it.
Subtool Purpose
prepare Copy one exact Agent revision into a reviewable Recipe publication draft.
inspect_section Inspect one named section of a Recipe publication draft.
set_connections Replace the portable Connection requirements in a Recipe publication draft.
set_discovery Replace the public discovery metadata in a Recipe publication draft.
set_inputs Replace the named public inputs in a Recipe publication draft.
set_name Replace the public Recipe name in a publication draft.
set_event_triggers Replace the Event Trigger declarations in a Recipe publication draft.
set_primary_operation Replace the primary operation in a Recipe publication draft.
set_schedules Replace the Schedule declarations in a Recipe publication draft.
set_responsibility Replace the Agent responsibility in a Recipe publication draft.
set_sample_deliverable Replace the sample deliverable in a Recipe publication draft.
set_setup_parameters Replace the setup parameter declarations in a Recipe publication draft.
set_skill_decision Choose how to publish, reference, or remove one Skill already attached to the source Agent.
authorize Create a short-lived GitHub authorization for one Recipe publication draft.
preview_or_publish Preview one exact public Recipe package, then publish the unchanged digest immediately when the owner already requested publication.
discard_publish_draft Discard one Recipe publication draft.

Copy one exact Agent revision into a reviewable Recipe publication draft.

Input Required Type Details
agent Yes object Copy-ready Agent identity and immutable revision returned by Crewhelm.
eventTriggers No array of object maximum items: 8; default: ``
license Yes string minimum length: 1; maximum length: 160; pattern: ^[A-Za-z0-9().+ -]+$
schedules No array of object maximum items: 8; default: ``
requestKey No string Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"agent": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^agent_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"id",
"revision"
],
"additionalProperties": {},
"description": "Copy-ready Agent identity and immutable revision returned by Crewhelm."
},
"eventTriggers": {
"default": [],
"maxItems": 8,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^event_trigger_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
"description": "Opaque Event Trigger identity for exact lifecycle operations."
}
},
"required": [
"id"
],
"additionalProperties": {}
}
},
"license": {
"type": "string",
"minLength": 1,
"maxLength": 160,
"pattern": "^[A-Za-z0-9().+ -]+$"
},
"schedules": {
"default": [],
"maxItems": 8,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^schedule_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
}
},
"required": [
"id"
],
"additionalProperties": {}
}
},
"requestKey": {
"description": "Optional retry identity. Omit it on the ordinary happy path.",
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._~-]+$"
}
},
"required": [
"agent",
"license"
],
"additionalProperties": false
}

Inspect one named section of a Recipe publication draft.

Input Required Type Details
draft Yes object
section Yes “agent” | “connections” | “discovery” | “inputs” | “name” | “operations” | “responsibility” | “sampleDeliverable” | “setupParameters” | “skills”
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"draft": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"id": {
"type": "string",
"pattern": "^mcp_draft_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"kind": {
"type": "string",
"const": "recipe-publication"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"digest",
"id",
"kind",
"revision"
],
"additionalProperties": {}
},
"section": {
"type": "string",
"enum": [
"agent",
"connections",
"discovery",
"inputs",
"name",
"operations",
"responsibility",
"sampleDeliverable",
"setupParameters",
"skills"
]
}
},
"required": [
"draft",
"section"
],
"additionalProperties": false
}

Replace the portable Connection requirements in a Recipe publication draft.

Input Required Type Details
draft Yes object
requestKey No string Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$
value Yes array of value maximum items: 8
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"draft": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"id": {
"type": "string",
"pattern": "^mcp_draft_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"kind": {
"type": "string",
"const": "recipe-publication"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"digest",
"id",
"kind",
"revision"
],
"additionalProperties": {}
},
"requestKey": {
"description": "Optional retry identity. Omit it on the ordinary happy path.",
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._~-]+$"
},
"value": {
"maxItems": 8,
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"expiresAfterSeconds": {
"anyOf": [
{
"type": "integer",
"minimum": 60,
"maximum": 31536000
},
{
"type": "null"
}
]
},
"limits": {
"type": "object",
"properties": {
"maxCallsPerRun": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Owner-selected per-run call ceiling; choose the smallest useful value."
},
"maxConcurrency": {
"type": "integer",
"minimum": 1,
"maximum": 16,
"description": "Owner-selected concurrent-call ceiling for this granted tool. The fleet ceiling still applies."
},
"maxCostMicrousdPerCall": {
"type": "integer",
"minimum": 0,
"maximum": 1000000000000,
"description": "Owner-selected per-call cost ceiling in millionths of one US dollar."
},
"maxDurationMs": {
"type": "integer",
"minimum": 1,
"maximum": 300000,
"description": "Owner-selected per-call wall-clock ceiling in milliseconds."
},
"maxOutputBytes": {
"type": "integer",
"minimum": 1,
"maximum": 10485760,
"description": "Owner-selected per-call output ceiling in bytes."
}
},
"required": [
"maxCallsPerRun",
"maxConcurrency",
"maxCostMicrousdPerCall",
"maxDurationMs",
"maxOutputBytes"
],
"additionalProperties": false
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"integration": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,127}$"
},
"kind": {
"type": "string",
"const": "composio"
},
"slot": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"pattern": "^[a-z][a-z0-9-]*$"
},
"tools": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"authorization": {
"type": "string",
"enum": [
"approval_required",
"standing"
]
},
"effect": {
"type": "string",
"enum": [
"read",
"write",
"destructive"
]
},
"slug": {
"type": "string",
"pattern": "^[A-Z0-9][A-Z0-9_]{0,255}$"
},
"version": {
"type": "string",
"pattern": "^[0-9]{8}_[0-9]{2}$"
}
},
"required": [
"authorization",
"effect",
"slug",
"version"
],
"additionalProperties": false
}
}
},
"required": [
"expiresAfterSeconds",
"limits",
"description",
"integration",
"kind",
"slot",
"tools"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"expiresAfterSeconds": {
"anyOf": [
{
"type": "integer",
"minimum": 60,
"maximum": 31536000
},
{
"type": "null"
}
]
},
"limits": {
"type": "object",
"properties": {
"maxCallsPerRun": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Owner-selected per-run call ceiling; choose the smallest useful value."
},
"maxConcurrency": {
"type": "integer",
"minimum": 1,
"maximum": 16,
"description": "Owner-selected concurrent-call ceiling for this granted tool. The fleet ceiling still applies."
},
"maxCostMicrousdPerCall": {
"type": "integer",
"minimum": 0,
"maximum": 1000000000000,
"description": "Owner-selected per-call cost ceiling in millionths of one US dollar."
},
"maxDurationMs": {
"type": "integer",
"minimum": 1,
"maximum": 300000,
"description": "Owner-selected per-call wall-clock ceiling in milliseconds."
},
"maxOutputBytes": {
"type": "integer",
"minimum": 1,
"maximum": 10485760,
"description": "Owner-selected per-call output ceiling in bytes."
}
},
"required": [
"maxCallsPerRun",
"maxConcurrency",
"maxCostMicrousdPerCall",
"maxDurationMs",
"maxOutputBytes"
],
"additionalProperties": false
},
"apiKeyHeaderName": {
"description": "Exact HTTP header name for API-key authentication. Enter the credential only in the returned browser setup.",
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[!#$%&'*+.^_`|~0-9A-Za-z-]+$"
},
"authKind": {
"type": "string",
"enum": [
"public",
"api_key",
"bearer",
"oauth"
]
},
"authorization": {
"type": "string",
"enum": [
"approval_required",
"standing"
]
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"endpoint": {
"type": "string",
"maxLength": 2048,
"format": "uri"
},
"kind": {
"type": "string",
"const": "remote_mcp"
},
"oauthScopes": {
"maxItems": 32,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[\\x21\\x23-\\x5b\\x5d-\\x7e]+$"
}
},
"requiredTools": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"effect": {
"type": "string",
"enum": [
"write",
"destructive"
]
},
"name": {
"type": "string",
"pattern": "^[A-Za-z0-9_][A-Za-z0-9_.:-]{0,127}$"
}
},
"required": [
"effect",
"name"
],
"additionalProperties": false
}
},
"reviewedSnapshotDigest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"reviewedToolCount": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"slot": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"pattern": "^[a-z][a-z0-9-]*$"
}
},
"required": [
"expiresAfterSeconds",
"limits",
"authKind",
"authorization",
"description",
"endpoint",
"kind",
"oauthScopes",
"requiredTools",
"reviewedSnapshotDigest",
"reviewedToolCount",
"slot"
],
"additionalProperties": false
}
]
}
}
},
"required": [
"draft",
"value"
],
"additionalProperties": false
}

Replace the public discovery metadata in a Recipe publication draft.

Input Required Type Details
draft Yes object
requestKey No string Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$
value Yes object
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"draft": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"id": {
"type": "string",
"pattern": "^mcp_draft_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"kind": {
"type": "string",
"const": "recipe-publication"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"digest",
"id",
"kind",
"revision"
],
"additionalProperties": {}
},
"requestKey": {
"description": "Optional retry identity. Omit it on the ordinary happy path.",
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._~-]+$"
},
"value": {
"type": "object",
"properties": {
"description": {
"type": "string",
"minLength": 1,
"maxLength": 320
},
"license": {
"type": "string",
"minLength": 1,
"maxLength": 160,
"pattern": "^[A-Za-z0-9().+ -]+$"
},
"provenance": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "authored"
}
},
"required": [
"kind"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"commit": {
"type": "string",
"pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$"
},
"kind": {
"type": "string",
"const": "repository"
},
"source": {
"type": "string",
"maxLength": 2048,
"format": "uri",
"description": "HTTPS attribution URL without credentials, query, or fragment."
}
},
"required": [
"commit",
"kind",
"source"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "web"
},
"source": {
"type": "string",
"maxLength": 2048,
"format": "uri",
"description": "HTTPS attribution URL without credentials, query, or fragment."
}
},
"required": [
"kind",
"source"
],
"additionalProperties": false
}
]
},
"tags": {
"maxItems": 12,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"pattern": "^[a-z][a-z0-9-]*$"
},
"description": "Up to 12 unique lowercase tags sorted in canonical order."
}
},
"required": [
"description",
"license",
"provenance",
"tags"
],
"additionalProperties": false
}
},
"required": [
"draft",
"value"
],
"additionalProperties": false
}

Replace the named public inputs in a Recipe publication draft.

Input Required Type Details
draft Yes object
requestKey No string Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$
value Yes array of object maximum items: 16
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"draft": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"id": {
"type": "string",
"pattern": "^mcp_draft_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"kind": {
"type": "string",
"const": "recipe-publication"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"digest",
"id",
"kind",
"revision"
],
"additionalProperties": {}
},
"requestKey": {
"description": "Optional retry identity. Omit it on the ordinary happy path.",
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._~-]+$"
},
"value": {
"maxItems": 16,
"type": "array",
"items": {
"type": "object",
"properties": {
"description": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"kind": {
"type": "string",
"enum": [
"brief",
"invocation"
]
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"pattern": "^[a-z][a-z0-9-]*$"
},
"required": {
"type": "boolean"
}
},
"required": [
"description",
"kind",
"name",
"required"
],
"additionalProperties": false
}
}
},
"required": [
"draft",
"value"
],
"additionalProperties": false
}

Replace the public Recipe name in a publication draft.

Input Required Type Details
draft Yes object
requestKey No string Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$
value Yes string minimum length: 1; maximum length: 80; pattern: ^[a-z][a-z0-9-]*$
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"draft": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"id": {
"type": "string",
"pattern": "^mcp_draft_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"kind": {
"type": "string",
"const": "recipe-publication"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"digest",
"id",
"kind",
"revision"
],
"additionalProperties": {}
},
"requestKey": {
"description": "Optional retry identity. Omit it on the ordinary happy path.",
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._~-]+$"
},
"value": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[a-z][a-z0-9-]*$"
}
},
"required": [
"draft",
"value"
],
"additionalProperties": false
}

Replace the Event Trigger declarations in a Recipe publication draft.

Input Required Type Details
draft Yes object
requestKey No string Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$
value Yes array of object maximum items: 8
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"draft": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"id": {
"type": "string",
"pattern": "^mcp_draft_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"kind": {
"type": "string",
"const": "recipe-publication"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"digest",
"id",
"kind",
"revision"
],
"additionalProperties": {}
},
"requestKey": {
"description": "Optional retry identity. Omit it on the ordinary happy path.",
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._~-]+$"
},
"value": {
"maxItems": 8,
"type": "array",
"items": {
"type": "object",
"properties": {
"briefInputNames": {
"maxItems": 16,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"pattern": "^[a-z][a-z0-9-]*$"
}
},
"connectionSlot": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"pattern": "^[a-z][a-z0-9-]*$"
},
"delivery": {
"type": "string",
"enum": [
"provider_polling",
"realtime"
]
},
"eventSlug": {
"type": "string",
"pattern": "^[A-Z0-9][A-Z0-9_]{0,255}$"
},
"eventVersion": {
"type": "string",
"pattern": "^[0-9]{8}_[0-9]{2}$"
},
"filters": {
"type": "object",
"propertyNames": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"additionalProperties": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "number"
},
{
"type": "string",
"maxLength": 2048
},
{
"type": "object",
"properties": {
"parameter": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"pattern": "^[a-z][a-z0-9-]*$"
}
},
"required": [
"parameter"
],
"additionalProperties": false
}
]
}
},
"instruction": {
"type": "string",
"minLength": 1,
"maxLength": 16384
},
"integration": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9_-]{0,127}$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[a-z][a-z0-9-]*$"
},
"outputContract": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "markdown"
}
},
"required": [
"kind"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "json"
},
"schema": {
"type": "object",
"properties": {
"jsonSchema": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "Restricted object-root JSON Schema: scalar, array, and nested object types; required, enum, and basic bounds; additionalProperties must be false. Remote references, recursion, patterns, and composition are unsupported."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z][A-Za-z0-9_-]*$"
},
"version": {
"type": "string",
"minLength": 1,
"maxLength": 32,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
}
},
"required": [
"jsonSchema",
"name",
"version"
],
"additionalProperties": false
}
},
"required": [
"kind",
"schema"
],
"additionalProperties": false
}
],
"description": "Optional bounded Markdown or typed JSON output contract."
}
},
"required": [
"connectionSlot",
"delivery",
"eventSlug",
"eventVersion",
"filters",
"instruction",
"integration",
"name",
"outputContract"
],
"additionalProperties": false
}
}
},
"required": [
"draft",
"value"
],
"additionalProperties": false
}

Replace the primary operation in a Recipe publication draft.

Input Required Type Details
draft Yes object
requestKey No string Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$
value Yes value
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"draft": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"id": {
"type": "string",
"pattern": "^mcp_draft_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"kind": {
"type": "string",
"const": "recipe-publication"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"digest",
"id",
"kind",
"revision"
],
"additionalProperties": {}
},
"requestKey": {
"description": "Optional retry identity. Omit it on the ordinary happy path.",
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._~-]+$"
},
"value": {
"oneOf": [
{
"type": "object",
"properties": {
"inputNames": {
"maxItems": 16,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"pattern": "^[a-z][a-z0-9-]*$"
}
},
"kind": {
"type": "string",
"const": "run"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[a-z][a-z0-9-]*$"
},
"outputContract": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "markdown"
}
},
"required": [
"kind"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "json"
},
"schema": {
"type": "object",
"properties": {
"jsonSchema": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "Restricted object-root JSON Schema: scalar, array, and nested object types; required, enum, and basic bounds; additionalProperties must be false. Remote references, recursion, patterns, and composition are unsupported."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z][A-Za-z0-9_-]*$"
},
"version": {
"type": "string",
"minLength": 1,
"maxLength": 32,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
}
},
"required": [
"jsonSchema",
"name",
"version"
],
"additionalProperties": false
}
},
"required": [
"kind",
"schema"
],
"additionalProperties": false
}
],
"description": "Optional bounded Markdown or typed JSON output contract."
},
"prompt": {
"type": "string",
"minLength": 1,
"maxLength": 16384
}
},
"required": [
"inputNames",
"kind",
"name",
"outputContract",
"prompt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"inputNames": {
"maxItems": 16,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"pattern": "^[a-z][a-z0-9-]*$"
}
},
"kind": {
"type": "string",
"const": "workflow"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[a-z][a-z0-9-]*$"
},
"objective": {
"type": "string",
"minLength": 1,
"maxLength": 4096
},
"outputContract": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "markdown"
}
},
"required": [
"kind"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "json"
},
"schema": {
"type": "object",
"properties": {
"jsonSchema": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "Restricted object-root JSON Schema: scalar, array, and nested object types; required, enum, and basic bounds; additionalProperties must be false. Remote references, recursion, patterns, and composition are unsupported."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z][A-Za-z0-9_-]*$"
},
"version": {
"type": "string",
"minLength": 1,
"maxLength": 32,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
}
},
"required": [
"jsonSchema",
"name",
"version"
],
"additionalProperties": false
}
},
"required": [
"kind",
"schema"
],
"additionalProperties": false
}
],
"description": "Optional bounded Markdown or typed JSON output contract."
},
"stages": {
"minItems": 2,
"maxItems": 8,
"type": "array",
"items": {
"type": "object",
"properties": {
"delayBeforeSeconds": {
"type": "integer",
"minimum": 0,
"maximum": 604800,
"description": "Durable delay before this stage is admitted. Sleeping consumes no Run budget."
},
"deferral": {
"type": "object",
"properties": {
"maxWaitSeconds": {
"default": 3600,
"description": "Maximum elapsed time this stage may defer itself while waiting for external work. The Agent chooses each bounded resume delay.",
"type": "integer",
"minimum": 30,
"maximum": 604800
}
},
"additionalProperties": false,
"description": "Permit this Workflow stage to checkpoint as waiting and resume as a fresh bounded Run until done or the elapsed-time ceiling is reached."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "Short progress label for one ordered stage."
},
"prompt": {
"type": "string",
"minLength": 1,
"maxLength": 11264,
"description": "One bounded Run instruction. Crewhelm admits it with the shared objective and exact durable Session produced by the prior stage."
}
},
"required": [
"name",
"prompt"
],
"additionalProperties": false
}
}
},
"required": [
"inputNames",
"kind",
"name",
"objective",
"outputContract",
"stages"
],
"additionalProperties": false
}
]
}
},
"required": [
"draft",
"value"
],
"additionalProperties": false
}

Replace the Schedule declarations in a Recipe publication draft.

Input Required Type Details
draft Yes object
requestKey No string Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$
value Yes array of object maximum items: 8
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"draft": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"id": {
"type": "string",
"pattern": "^mcp_draft_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"kind": {
"type": "string",
"const": "recipe-publication"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"digest",
"id",
"kind",
"revision"
],
"additionalProperties": {}
},
"requestKey": {
"description": "Optional retry identity. Omit it on the ordinary happy path.",
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._~-]+$"
},
"value": {
"maxItems": 8,
"type": "array",
"items": {
"type": "object",
"properties": {
"briefInputNames": {
"maxItems": 16,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"pattern": "^[a-z][a-z0-9-]*$"
}
},
"instruction": {
"type": "string",
"minLength": 1,
"maxLength": 16384
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[a-z][a-z0-9-]*$"
},
"outputContract": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "markdown"
}
},
"required": [
"kind"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "json"
},
"schema": {
"type": "object",
"properties": {
"jsonSchema": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "Restricted object-root JSON Schema: scalar, array, and nested object types; required, enum, and basic bounds; additionalProperties must be false. Remote references, recursion, patterns, and composition are unsupported."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z][A-Za-z0-9_-]*$"
},
"version": {
"type": "string",
"minLength": 1,
"maxLength": 32,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
}
},
"required": [
"jsonSchema",
"name",
"version"
],
"additionalProperties": false
}
},
"required": [
"kind",
"schema"
],
"additionalProperties": false
}
],
"description": "Optional bounded Markdown or typed JSON output contract."
},
"trigger": {
"anyOf": [
{
"type": "object",
"properties": {
"intervalSeconds": {
"type": "integer",
"minimum": 60,
"maximum": 604800
},
"type": {
"type": "string",
"const": "interval"
}
},
"required": [
"intervalSeconds",
"type"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"at": {
"type": "string",
"pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
},
"frequency": {
"type": "string",
"const": "daily"
},
"timeZone": {
"type": "string",
"const": "owner-selected"
},
"type": {
"type": "string",
"const": "calendar"
}
},
"required": [
"at",
"frequency",
"timeZone",
"type"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"at": {
"type": "string",
"pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
},
"daysOfWeek": {
"minItems": 1,
"maxItems": 7,
"type": "array",
"items": {
"type": "string",
"enum": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday",
"sunday"
]
}
},
"frequency": {
"type": "string",
"const": "weekly"
},
"timeZone": {
"type": "string",
"const": "owner-selected"
},
"type": {
"type": "string",
"const": "calendar"
}
},
"required": [
"at",
"daysOfWeek",
"frequency",
"timeZone",
"type"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"at": {
"type": "string",
"pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
},
"dayOfMonth": {
"type": "integer",
"minimum": 1,
"maximum": 31
},
"frequency": {
"type": "string",
"const": "monthly"
},
"timeZone": {
"type": "string",
"const": "owner-selected"
},
"type": {
"type": "string",
"const": "calendar"
}
},
"required": [
"at",
"dayOfMonth",
"frequency",
"timeZone",
"type"
],
"additionalProperties": false
}
]
}
},
"required": [
"instruction",
"name",
"outputContract",
"trigger"
],
"additionalProperties": false
}
}
},
"required": [
"draft",
"value"
],
"additionalProperties": false
}

Replace the Agent responsibility in a Recipe publication draft.

Input Required Type Details
draft Yes object
requestKey No string Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$
value Yes object
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"draft": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"id": {
"type": "string",
"pattern": "^mcp_draft_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"kind": {
"type": "string",
"const": "recipe-publication"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"digest",
"id",
"kind",
"revision"
],
"additionalProperties": {}
},
"requestKey": {
"description": "Optional retry identity. Omit it on the ordinary happy path.",
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._~-]+$"
},
"value": {
"type": "object",
"properties": {
"boundaries": {
"maxItems": 16,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 320
}
},
"outcome": {
"type": "string",
"minLength": 1,
"maxLength": 2048
},
"summary": {
"type": "string",
"minLength": 1,
"maxLength": 320
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"boundaries",
"outcome",
"summary",
"title"
],
"additionalProperties": false
}
},
"required": [
"draft",
"value"
],
"additionalProperties": false
}

Replace the sample deliverable in a Recipe publication draft.

Input Required Type Details
draft Yes object
requestKey No string Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$
value Yes value
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"draft": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"id": {
"type": "string",
"pattern": "^mcp_draft_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"kind": {
"type": "string",
"const": "recipe-publication"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"digest",
"id",
"kind",
"revision"
],
"additionalProperties": {}
},
"requestKey": {
"description": "Optional retry identity. Omit it on the ordinary happy path.",
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._~-]+$"
},
"value": {
"oneOf": [
{
"type": "object",
"properties": {
"content": {
"type": "string",
"minLength": 1,
"maxLength": 16384
},
"kind": {
"type": "string",
"const": "markdown"
}
},
"required": [
"content",
"kind"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"content": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "A bounded JSON object that demonstrates the Recipe's typed deliverable."
},
"kind": {
"type": "string",
"const": "json"
}
},
"required": [
"content",
"kind"
],
"additionalProperties": false
}
]
}
},
"required": [
"draft",
"value"
],
"additionalProperties": false
}

Replace the setup parameter declarations in a Recipe publication draft.

Input Required Type Details
draft Yes object
requestKey No string Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$
value Yes array of value maximum items: 16
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"draft": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"id": {
"type": "string",
"pattern": "^mcp_draft_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"kind": {
"type": "string",
"const": "recipe-publication"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"digest",
"id",
"kind",
"revision"
],
"additionalProperties": {}
},
"requestKey": {
"description": "Optional retry identity. Omit it on the ordinary happy path.",
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._~-]+$"
},
"value": {
"maxItems": 16,
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"default": {
"type": "string",
"maxLength": 1024
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"pattern": "^[a-z][a-z0-9-]*$"
},
"type": {
"type": "string",
"const": "string"
}
},
"required": [
"description",
"name",
"type"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"default": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"maximum": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"minimum": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"pattern": "^[a-z][a-z0-9-]*$"
},
"type": {
"type": "string",
"const": "integer"
}
},
"required": [
"description",
"name",
"type"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"default": {
"type": "boolean"
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"pattern": "^[a-z][a-z0-9-]*$"
},
"type": {
"type": "string",
"const": "boolean"
}
},
"required": [
"description",
"name",
"type"
],
"additionalProperties": false
}
]
}
}
},
"required": [
"draft",
"value"
],
"additionalProperties": false
}

Choose how to publish, reference, or remove one Skill already attached to the source Agent.

Input Required Type Details
decision Yes value Choose publication treatment for one Skill already attached to the source Agent and listed in the draft skills section.
draft Yes object
requestKey No string Optional retry identity. Omit it on the ordinary happy path. minimum length: 1; maximum length: 128; pattern: ^[A-Za-z0-9._~-]+$
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"decision": {
"oneOf": [
{
"type": "object",
"properties": {
"decision": {
"type": "string",
"const": "publish"
},
"license": {
"type": "string",
"minLength": 1,
"maxLength": 160,
"pattern": "^[A-Za-z0-9().+ -]+$"
},
"local": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^skill_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"id",
"version"
],
"additionalProperties": false
},
"requirement": {
"type": "string",
"enum": [
"optional",
"required"
]
}
},
"required": [
"decision",
"license",
"local",
"requirement"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"decision": {
"type": "string",
"const": "reference"
},
"local": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^skill_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"id",
"version"
],
"additionalProperties": false
},
"requirement": {
"type": "string",
"enum": [
"optional",
"required"
]
},
"target": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[a-z][a-z0-9-]*$"
},
"namespace": {
"type": "string",
"minLength": 1,
"maxLength": 39,
"pattern": "^(?!-)[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$"
},
"registry": {
"type": "string",
"maxLength": 2048,
"format": "uri"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"digest",
"name",
"namespace",
"registry",
"version"
],
"additionalProperties": false
}
},
"required": [
"decision",
"local",
"requirement",
"target"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"decision": {
"type": "string",
"const": "remove"
},
"local": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^skill_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"id",
"version"
],
"additionalProperties": false
}
},
"required": [
"decision",
"local"
],
"additionalProperties": false
}
],
"description": "Choose publication treatment for one Skill already attached to the source Agent and listed in the draft skills section."
},
"draft": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"id": {
"type": "string",
"pattern": "^mcp_draft_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"kind": {
"type": "string",
"const": "recipe-publication"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"digest",
"id",
"kind",
"revision"
],
"additionalProperties": {}
},
"requestKey": {
"description": "Optional retry identity. Omit it on the ordinary happy path.",
"type": "string",
"minLength": 1,
"maxLength": 128,
"pattern": "^[A-Za-z0-9._~-]+$"
}
},
"required": [
"decision",
"draft"
],
"additionalProperties": false
}

Create a short-lived GitHub authorization for one Recipe publication draft.

Input Required Type Details
installationLabel Yes string minimum length: 1; maximum length: 120
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"installationLabel": {
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"required": [
"installationLabel"
],
"additionalProperties": false
}

Preview one exact public Recipe package, then publish the unchanged digest immediately when the owner already requested publication.

Input Required Type Details
authorization Yes object
draft Yes object
expectedConfirmationDigest No string pattern: ^[0-9a-f]{64}$
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"authorization": {
"type": "object",
"properties": {
"attemptId": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"id": {
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"required": [
"attemptId",
"id"
],
"additionalProperties": {}
},
"draft": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"id": {
"type": "string",
"pattern": "^mcp_draft_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"kind": {
"type": "string",
"const": "recipe-publication"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"digest",
"id",
"kind",
"revision"
],
"additionalProperties": {}
},
"expectedConfirmationDigest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
}
},
"required": [
"authorization",
"draft"
],
"additionalProperties": false
}

Discard one Recipe publication draft.

Input Required Type Details
draft Yes object
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"draft": {
"type": "object",
"properties": {
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"id": {
"type": "string",
"pattern": "^mcp_draft_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
},
"kind": {
"type": "string",
"const": "recipe-publication"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"digest",
"id",
"kind",
"revision"
],
"additionalProperties": {}
}
},
"required": [
"draft"
],
"additionalProperties": false
}