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.
Read tools
Section titled “Read tools”Inspect state and obtain exact references without changing it.
crewhelm_inspect_recipes
Section titled “crewhelm_inspect_recipes”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:
- Send
{"request":"operations"}to list its subtools. - Send
{"request":"schema","name":"…"}for one subtool’s exact inputs. - 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
Section titled “search”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
Section titled “inspect”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_skill
Section titled “read_skill”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}Write tools
Section titled “Write tools”Preview or perform bounded changes under the required owner authority.
crewhelm_change_recipes
Section titled “crewhelm_change_recipes”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:
- Send
{"request":"operations"}to list its subtools. - Send
{"request":"schema","name":"…"}for one subtool’s exact inputs. - 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. |
prepare_install
Section titled “prepare_install”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_setup
Section titled “set_setup”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_connection
Section titled “bind_connection”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_brief
Section titled “bind_brief”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}select_optional_skill
Section titled “select_optional_skill”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}select_operations
Section titled “select_operations”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_install
Section titled “preview_install”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
Section titled “install”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_install_draft
Section titled “discard_install_draft”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_install
Section titled “recover_install”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}crewhelm_publish_recipe
Section titled “crewhelm_publish_recipe”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:
- Send
{"request":"operations"}to list its subtools. - Send
{"request":"schema","name":"…"}for one subtool’s exact inputs. - 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. |
prepare
Section titled “prepare”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_section
Section titled “inspect_section”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}set_connections
Section titled “set_connections”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}set_discovery
Section titled “set_discovery”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}set_inputs
Section titled “set_inputs”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}set_name
Section titled “set_name”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}set_event_triggers
Section titled “set_event_triggers”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}set_primary_operation
Section titled “set_primary_operation”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}set_schedules
Section titled “set_schedules”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}set_responsibility
Section titled “set_responsibility”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}set_sample_deliverable
Section titled “set_sample_deliverable”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}set_setup_parameters
Section titled “set_setup_parameters”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}set_skill_decision
Section titled “set_skill_decision”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}authorize
Section titled “authorize”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_or_publish
Section titled “preview_or_publish”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_publish_draft
Section titled “discard_publish_draft”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}