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.
Read tools
Section titled “Read tools”Inspect state and obtain exact references without changing it.
crewhelm_inspect_models
Section titled “crewhelm_inspect_models”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:
- 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 |
|---|---|
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_models
Section titled “browse_models”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_models
Section titled “search_models”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_model
Section titled “inspect_model”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_enabled_models
Section titled “list_enabled_models”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}Write tools
Section titled “Write tools”Preview or perform bounded changes under the required owner authority.
crewhelm_change_models
Section titled “crewhelm_change_models”Change models
Preview or confirm model catalog changes.
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 |
|---|---|
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. |
add_model
Section titled “add_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}remove_model
Section titled “remove_model”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}set_default_model
Section titled “set_default_model”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}