Skip to content

MCP Models

Inspect Cloudflare models and manage the owner-enabled model catalog.

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 models

Search or inspect Cloudflare models and list owner-enabled IDs.

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
browse_models Browse compact, pageable models and facets across Cloudflare-hosted and third-party providers.
search_models Search detailed Workers AI metadata by name, provider, task, or capability.
inspect_model Inspect one exact current Cloudflare model ID.
list_enabled_models List owner-enabled model IDs and the default.

Browse compact, pageable models and facets across Cloudflare-hosted and third-party providers.

Input Required Type Details
capability No “function-calling” | “reasoning” | “vision” | “zero-data-retention”
includeDescriptions No boolean default: false
limit No integer minimum: 1; maximum: 100; default: 50
page No integer minimum: 1; maximum: 500; default: 1
platform No “cloudflare-hosted” | “third-party”
provider No string minimum length: 1; maximum length: 80
query No string minimum length: 1; maximum length: 120
sort No “relevance” | “name” | “newest” | “oldest” default: relevance
task No string minimum length: 1; maximum length: 80
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"capability": {
"type": "string",
"enum": [
"function-calling",
"reasoning",
"vision",
"zero-data-retention"
]
},
"includeDescriptions": {
"default": false,
"type": "boolean"
},
"limit": {
"default": 50,
"type": "integer",
"minimum": 1,
"maximum": 100
},
"page": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 500
},
"platform": {
"type": "string",
"enum": [
"cloudflare-hosted",
"third-party"
]
},
"provider": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"query": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"sort": {
"default": "relevance",
"type": "string",
"enum": [
"relevance",
"name",
"newest",
"oldest"
]
},
"task": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"additionalProperties": false
}

Search detailed Workers AI metadata by name, provider, task, or capability.

Input Required Type Details
capability No “function-calling” | “reasoning” | “vision”
limit No integer minimum: 1; maximum: 25; default: 10
provider No string minimum length: 1; maximum length: 80
query No string minimum length: 1; maximum length: 120
task No string minimum length: 1; maximum length: 80
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"capability": {
"type": "string",
"enum": [
"function-calling",
"reasoning",
"vision"
]
},
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 25
},
"provider": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"query": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"task": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"additionalProperties": false
}

Inspect one exact current Cloudflare model ID.

Input Required Type Details
modelId Yes string minimum length: 3; maximum length: 160; pattern: ^(?:@[A-Za-z0-9][A-Za-z0-9._-]*\/)?[A-Za-z0-9][A-Za-z0-9._-]*\/[A-Za-z0-9][A-Za-z0-9._:/-]*$
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"modelId": {
"type": "string",
"minLength": 3,
"maxLength": 160,
"pattern": "^(?:@[A-Za-z0-9][A-Za-z0-9._-]*\\/)?[A-Za-z0-9][A-Za-z0-9._-]*\\/[A-Za-z0-9][A-Za-z0-9._:/-]*$"
}
},
"required": [
"modelId"
],
"additionalProperties": false
}

List owner-enabled model IDs and the default.

Input Required Type Details
capability No “function-calling” | “reasoning” | “vision” | “zero-data-retention”
includeDescriptions No boolean
limit No integer minimum: 1; maximum: 100
modelId No string minimum length: 3; maximum length: 160; pattern: ^(?:@[A-Za-z0-9][A-Za-z0-9._-]*\/)?[A-Za-z0-9][A-Za-z0-9._-]*\/[A-Za-z0-9][A-Za-z0-9._:/-]*$
page No integer minimum: 1; maximum: 500
platform No “cloudflare-hosted” | “third-party”
provider No string minimum length: 1; maximum length: 80
query No string minimum length: 1; maximum length: 120
sort No “relevance” | “name” | “newest” | “oldest”
task No string minimum length: 1; maximum length: 80
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"capability": {
"type": "string",
"enum": [
"function-calling",
"reasoning",
"vision",
"zero-data-retention"
]
},
"includeDescriptions": {
"type": "boolean"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"modelId": {
"type": "string",
"minLength": 3,
"maxLength": 160,
"pattern": "^(?:@[A-Za-z0-9][A-Za-z0-9._-]*\\/)?[A-Za-z0-9][A-Za-z0-9._-]*\\/[A-Za-z0-9][A-Za-z0-9._:/-]*$"
},
"page": {
"type": "integer",
"minimum": 1,
"maximum": 500
},
"platform": {
"type": "string",
"enum": [
"cloudflare-hosted",
"third-party"
]
},
"provider": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"query": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"sort": {
"type": "string",
"enum": [
"relevance",
"name",
"newest",
"oldest"
]
},
"task": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"additionalProperties": false
}

Preview or perform bounded changes under the required owner authority.

Change models

Preview or confirm model catalog changes.

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
add_model Inspect, preview, or enable one exact Cloudflare model ID.
remove_model Preview impacted Agents, then disable one model without rewriting history.
set_default_model Preview or change the owner’s default model.

Inspect, preview, or enable one exact Cloudflare model ID.

Input Required Type Details
confirm No boolean Leave false to preview; repeat with true to apply. default: false
expectedRevision Yes integer exclusive minimum: 0; maximum: 9007199254740991
modelId Yes string minimum length: 3; maximum length: 160; pattern: ^(?:@[A-Za-z0-9][A-Za-z0-9._-]*\/)?[A-Za-z0-9][A-Za-z0-9._-]*\/[A-Za-z0-9][A-Za-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": {
"confirm": {
"default": false,
"description": "Leave false to preview; repeat with true to apply.",
"type": "boolean"
},
"expectedRevision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"modelId": {
"type": "string",
"minLength": 3,
"maxLength": 160,
"pattern": "^(?:@[A-Za-z0-9][A-Za-z0-9._-]*\\/)?[A-Za-z0-9][A-Za-z0-9._-]*\\/[A-Za-z0-9][A-Za-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": [
"expectedRevision",
"modelId"
],
"additionalProperties": false
}

Preview impacted Agents, then disable one model without rewriting history.

Input Required Type Details
confirm No boolean Leave false to preview; repeat with true to apply. default: false
expectedRevision Yes integer exclusive minimum: 0; maximum: 9007199254740991
modelId Yes string minimum length: 3; maximum length: 160; pattern: ^(?:@[A-Za-z0-9][A-Za-z0-9._-]*\/)?[A-Za-z0-9][A-Za-z0-9._-]*\/[A-Za-z0-9][A-Za-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._~-]+$
replacementDefaultModelId No string minimum length: 3; maximum length: 160; pattern: ^(?:@[A-Za-z0-9][A-Za-z0-9._-]*\/)?[A-Za-z0-9][A-Za-z0-9._-]*\/[A-Za-z0-9][A-Za-z0-9._:/-]*$
View exact JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"confirm": {
"default": false,
"description": "Leave false to preview; repeat with true to apply.",
"type": "boolean"
},
"expectedRevision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"modelId": {
"type": "string",
"minLength": 3,
"maxLength": 160,
"pattern": "^(?:@[A-Za-z0-9][A-Za-z0-9._-]*\\/)?[A-Za-z0-9][A-Za-z0-9._-]*\\/[A-Za-z0-9][A-Za-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._~-]+$"
},
"replacementDefaultModelId": {
"type": "string",
"minLength": 3,
"maxLength": 160,
"pattern": "^(?:@[A-Za-z0-9][A-Za-z0-9._-]*\\/)?[A-Za-z0-9][A-Za-z0-9._-]*\\/[A-Za-z0-9][A-Za-z0-9._:/-]*$"
}
},
"required": [
"expectedRevision",
"modelId"
],
"additionalProperties": false
}

Preview or change the owner’s default model.

Input Required Type Details
confirm No boolean Leave false to preview; repeat with true to apply. default: false
expectedRevision Yes integer exclusive minimum: 0; maximum: 9007199254740991
modelId Yes string minimum length: 3; maximum length: 160; pattern: ^(?:@[A-Za-z0-9][A-Za-z0-9._-]*\/)?[A-Za-z0-9][A-Za-z0-9._-]*\/[A-Za-z0-9][A-Za-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": {
"confirm": {
"default": false,
"description": "Leave false to preview; repeat with true to apply.",
"type": "boolean"
},
"expectedRevision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"modelId": {
"type": "string",
"minLength": 3,
"maxLength": 160,
"pattern": "^(?:@[A-Za-z0-9][A-Za-z0-9._-]*\\/)?[A-Za-z0-9][A-Za-z0-9._-]*\\/[A-Za-z0-9][A-Za-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": [
"expectedRevision",
"modelId"
],
"additionalProperties": false
}