The title clearly communicates the tool’s action and subject. Keep it concise.
Description90/100
Archives the agent: requests cancellation of its active runtime, cancels queued inputs and affected processes, removes its pending wakeup, releases explicit machine bindings, deletes pooled machines created for the agent, and deletes cron triggers targeting the agent. The agent and its full event history stay readable by id; archived agents leave listings. The agent's profile and configuration are retained, as are explicitly attached BYO machines. Archiving an already-archived agent is a no-op that returns the agent unchanged.
The description explains the capability, when to use it, and what to expect.
Inputs0/100
0 of 3 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
agentID
Not provided
Missing description. Explain what this value means and how to supply it.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
projectID
Not provided
Missing description. Explain what this value means and how to supply it.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "agents_archive",
"title": "Archive agent",
"description": "Archives the agent: requests cancellation of its active runtime, cancels queued inputs and affected processes, removes its pending wakeup, releases explicit machine bindings, deletes pooled machines created for the agent, and deletes cron triggers targeting the agent. The agent and its full event history stay readable by id; archived agents leave listings. The agent's profile and configuration are retained, as are explicitly attached BYO machines. Archiving an already-archived agent is a no-op that returns the agent unchanged.",
"inputSchema": {
"type": "object",
"required": [
"agentID",
"orgID",
"projectID"
],
"properties": {
"orgID": {
"type": "string",
"pattern": "^org_[a-z2-7]{26}$"
},
"agentID": {
"type": "string",
"pattern": "^agt_[a-z2-7]{26}$"
},
"projectID": {
"type": "string",
"pattern": "^proj_[a-z2-7]{26}$"
}
},
"additionalProperties": false
},
"annotations": {
"title": "Archive agent",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description77/100
Returns one page of agent events, chronological within the page. Forward pagination (after_sequence) walks from a known boundary toward the present using next_after_sequence. Backward pagination (before_sequence) starts at the latest events and walks toward the beginning using next_before_sequence; passing before_sequence takes precedence over after_sequence.
Describe the returned information so the agent knows whether it will answer the request.
Inputs38/100
3 of 6 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
after_sequence
Exclusive event sequence boundary. Omit or pass 0 for the beginning of the agent event log.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
agentID
Not provided
Missing description. Explain what this value means and how to supply it.
before_sequence
Exclusive event sequence boundary for backward pagination. Pass 0 for the latest events.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
limit
Maximum number of events to return.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
projectID
Not provided
Missing description. Explain what this value means and how to supply it.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description38/100
Create agent input
Describe the concrete operation and its scope instead of restating the tool name.
Inputs22/100
5 of 17 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
actor › display_name
Not provided
Missing description. Explain what this value means and how to supply it.
actor › metadata
Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 characters, values must be strings of up to 512 characters.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
actor › provider_tenant_id
Not provided
Missing description. Explain what this value means and how to supply it.
actor › provider_user_id
Not provided
Missing description. Explain what this value means and how to supply it.
agentID
Not provided
Missing description. Explain what this value means and how to supply it.
cancel_open_interactions
Only valid when delivery_mode is steering. When true, atomically cancels open interactions associated with the current turn's unfinished tool calls before creating the steering input. Their parent tool calls complete as canceled; the turn, runtime, and unrelated tool calls are preserved.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
$defs › TextContentBlock › metadata
Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 characters, values must be strings of up to 512 characters. Keys beginning with `omnara_` are reserved for Omnara and may affect product behavior; use them only when intentionally invoking Omnara-defined behavior.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
$defs › TextContentBlock › text
Not provided
Missing description. Explain what this value means and how to supply it.
$defs › TextContentBlock › type
Not provided
Missing description. Explain what this value means and how to supply it.
$defs › InlineMediaContentBlock › data
Base64-encoded file bytes. For text media types, the decoded bytes must be valid UTF-8.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
$defs › InlineMediaContentBlock › filename
Not provided
Missing description. Explain what this value means and how to supply it.
$defs › InlineMediaContentBlock › media_type
Not provided
Missing description. Explain what this value means and how to supply it.
$defs › InlineMediaContentBlock › metadata
Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 characters, values must be strings of up to 512 characters. Keys beginning with `omnara_` are reserved for Omnara and may affect product behavior; use them only when intentionally invoking Omnara-defined behavior.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
$defs › InlineMediaContentBlock › type
Not provided
Missing description. Explain what this value means and how to supply it.
delivery_mode
Not provided
Missing description. Explain what this value means and how to supply it.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
projectID
Not provided
Missing description. Explain what this value means and how to supply it.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description83/100
Launch from a pinned config, optionally adding agent-local integration tools, subscriptions and interaction handlers and admitting an attributed initial text input in the same transaction. Adding integration capabilities requires project management permission; launching an existing config requires agent operate permission. Reusing an idempotency key returns the current agent even if the retry body differs. The retry body is not applied and integration references are not resolved again.
The description explains the capability, when to use it, and what to expect.
Inputs18/100
15 of 79 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
config
Not provided
Missing description. Explain what this value means and how to supply it.
Missing description. Explain what this value means and how to supply it.
$defs › AgentConfigDefinitionToolInputSchema › type
Not provided
Missing description. Explain what this value means and how to supply it.
$defs › AgentConfigDefinitionTool › type
Not provided
Missing description. Explain what this value means and how to supply it.
$defs › AgentConfigDefinitionTool › if › type
Not provided
Missing description. Explain what this value means and how to supply it.
$defs › AgentConfigDefinition › version
Not provided
Missing description. Explain what this value means and how to supply it.
config_source › source_format
Not provided
Missing description. Explain what this value means and how to supply it.
$defs › ExternalActorParams › display_name
Not provided
Missing description. Explain what this value means and how to supply it.
$defs › ExternalActorParams › metadata
Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 characters, values must be strings of up to 512 characters.
Clear enough to supply this argument.
$defs › ExternalActorParams › provider_tenant_id
Not provided
Missing description. Explain what this value means and how to supply it.
$defs › ExternalActorParams › provider_user_id
Not provided
Missing description. Explain what this value means and how to supply it.
$defs › TextContentBlock › metadata
Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 characters, values must be strings of up to 512 characters. Keys beginning with `omnara_` are reserved for Omnara and may affect product behavior; use them only when intentionally invoking Omnara-defined behavior.
Clear enough to supply this argument.
$defs › TextContentBlock › text
Not provided
Missing description. Explain what this value means and how to supply it.
$defs › TextContentBlock › type
Not provided
Missing description. Explain what this value means and how to supply it.
interaction_handlers
Additional integration interaction handlers, keyed by immutable integration name with empty object values. Slack and Discord handlers require an assigned conversation and accept empty runtime args. Adding a handler does not assign a conversation. Existing entries win unchanged. Requires project management permission.
Clear enough to supply this argument.
message
Optional initial text message. Mutually exclusive with initial_input.
Clear enough to supply this argument.
name
Agent name. Empty means the agent is unnamed; non-empty values use the ResourceName policy.
Clear enough to supply this argument.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
profile
Not provided
Missing description. Explain what this value means and how to supply it.
projectID
Not provided
Missing description. Explain what this value means and how to supply it.
One concrete provider address, validated by the integration's capabilities.subscription.conversation_schema. Slack uses channel_id and optional thread_ts; Discord uses channel_id for a channel or thread_id for a thread; GitHub uses repository_id and pull_request. Discord accepts optional parent channel_id and guild_id alongside thread_id and validates their ID format, but subscription creation does not verify them against Discord or retain them as routing restrictions. Only thread_id is retained in a canonical thread address and returned by create/list responses. No credentials or runtime state.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "agents_list",
"title": "List agents",
"description": "Items are ordered by created_at descending, then id descending.",
"inputSchema": {
"type": "object",
"required": [
"orgID",
"projectID"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Case-insensitive glob over the list's logical name. `*` matches zero or more characters, `?` matches one character, and `\\` escapes a wildcard."
},
"sort": {
"enum": [
"name",
"-name",
"-updated_at",
"updated_at",
"-created_at",
"created_at"
],
"type": "string",
"description": "Sort order for named resources that expose created and modified timestamps."
},
"limit": {
"type": "integer",
"format": "int32",
"maximum": 100,
"minimum": 1,
"description": "Maximum number of items to return in one page."
},
"orgID": {
"type": "string",
"pattern": "^org_[a-z2-7]{26}$"
},
"cursor": {
"type": "string",
"maxLength": 1024,
"description": "Opaque pagination cursor from a previous response's next_cursor. Omit for the first page."
},
"projectID": {
"type": "string",
"pattern": "^proj_[a-z2-7]{26}$"
},
"include_usage": {
"type": "boolean",
"description": "Include each agent's `usage`, so a list can show costs without a request per agent."
},
"parent_agent_id": {
"type": "string",
"pattern": "^agt_[a-z2-7]{26}$",
"description": "Return only subagents spawned by this agent."
},
"agent_profile_id": {
"type": "string",
"pattern": "^aprf_[a-z2-7]{26}$",
"description": "Return only agents launched from this agent profile."
},
"include_archived": {
"type": "boolean",
"description": "Include archived agents. Defaults to false."
},
"include_subagents": {
"type": "boolean",
"description": "Include subagents alongside top-level agents. Defaults to false, so only agents without a parent are returned unless parent_agent_id is set."
}
},
"additionalProperties": false
},
"annotations": {
"title": "List agents",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description90/100
Creates a cron trigger that fires on a schedule. A trigger targeting an agent profile launches a new agent from the profile's current config on each firing; a trigger targeting an agent sends an input to that agent. Missed firings are coalesced, matching standard cron behavior: if one or more scheduled times pass while firing is delayed, the trigger fires once for the oldest missed time and then resumes its schedule from the current time, without retroactively firing for the other missed times.
The description explains the capability, when to use it, and what to expect.
Inputs33/100
6 of 15 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
cron
Standard five-field cron expression (minute, hour, day of month, month, day of week). `TZ=`/`CRON_TZ=` prefixes are rejected; set the `timezone` field instead.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
enabled
Not provided
Missing description. Explain what this value means and how to supply it.
message_template
Go text/template rendered on each firing to produce the message sent to the target. The template receives a `trigger` value with `name`, `fired_at`, `last_fired_at`, and `local_date` fields. Timestamps remain UTC; local_date is the scheduled occurrence's ISO date in the schedule timezone. Required for agent and profile targets; omitted for integration targets, which use their own settings. Rendering is capped at 64 KiB of output and one second of wall-clock time, and `printf` width and precision specifiers are capped at 1024; a firing whose template fails to render is recorded in `failure_report` without sending a message.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
name
Human-readable name. Spaces and punctuation are allowed; leading or trailing whitespace and invisible or control characters are not.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
projectID
Not provided
Missing description. Explain what this value means and how to supply it.
$defs › AgentCronTriggerTarget › agent_id
Not provided
Missing description. Explain what this value means and how to supply it.
$defs › AgentCronTriggerTarget › delivery_mode
Each firing sends a queued or steering message to the agent. Defaults to `queued` on creation; omitted updates preserve the current mode.
Clear enough to supply this argument.
$defs › AgentCronTriggerTarget › type
Not provided
Missing description. Explain what this value means and how to supply it.
Missing description. Explain what this value means and how to supply it.
$defs › IntegrationCronTriggerTarget › settings
Settings validated by the target integration's published schedule input schema. Each accepted occurrence retains its own copy. Integration resource references are resolved when the integration handles the occurrence.
Clear enough to supply this argument.
$defs › IntegrationCronTriggerTarget › type
Not provided
Missing description. Explain what this value means and how to supply it.
timezone
IANA time zone the schedule is evaluated in.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "crons_create",
"title": "Create cron trigger",
"description": "Creates a cron trigger that fires on a schedule. A trigger targeting an agent profile launches a new agent from the profile's current config on each firing; a trigger targeting an agent sends an input to that agent. Missed firings are coalesced, matching standard cron behavior: if one or more scheduled times pass while firing is delayed, the trigger fires once for the oldest missed time and then resumes its schedule from the current time, without retroactively firing for the other missed times.",
"inputSchema": {
"type": "object",
"$defs": {
"AgentID": {
"type": "string",
"pattern": "^agt_[a-z2-7]{26}$"
},
"IntegrationID": {
"type": "string",
"pattern": "^itg_[a-z2-7]{26}$"
},
"AgentProfileID": {
"type": "string",
"pattern": "^aprf_[a-z2-7]{26}$"
},
"AgentCronTriggerTarget": {
"type": "object",
"required": [
"type",
"agent_id"
],
"properties": {
"type": {
"enum": [
"agent"
],
"type": "string"
},
"agent_id": {
"$ref": "#/$defs/AgentID"
},
"delivery_mode": {
"$ref": "#/$defs/CronTriggerDeliveryMode"
}
},
"additionalProperties": false
},
"CronTriggerDeliveryMode": {
"enum": [
"queued",
"steering"
],
"type": "string",
"description": "Each firing sends a queued or steering message to the agent. Defaults to `queued` on creation; omitted updates preserve the current mode."
},
"IntegrationCronTriggerTarget": {
"type": "object",
"required": [
"type",
"integration_id",
"settings"
],
"properties": {
"type": {
"enum": [
"integration"
],
"type": "string",
"x-enum-varnames": [
"IntegrationCronTriggerTargetTypeIntegration"
]
},
"settings": {
"type": "object",
"description": "Settings validated by the target integration's published schedule input schema. Each accepted occurrence retains its own copy. Integration resource references are resolved when the integration handles the occurrence.",
"additionalProperties": true
},
"integration_id": {
"$ref": "#/$defs/IntegrationID"
}
},
"additionalProperties": false
},
"AgentProfileCronTriggerTarget": {
"type": "object",
"required": [
"type",
"agent_profile_id"
],
"properties": {
"type": {
"enum": [
"profile"
],
"type": "string"
},
"agent_profile_id": {
"$ref": "#/$defs/AgentProfileID"
}
},
"additionalProperties": false
}
},
"required": [
"cron",
"name",
"orgID",
"projectID",
"target"
],
"properties": {
"cron": {
"type": "string",
"maxLength": 256,
"minLength": 9,
"description": "Standard five-field cron expression (minute, hour, day of month, month, day of week). `TZ=`/`CRON_TZ=` prefixes are rejected; set the `timezone` field instead."
},
"name": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Human-readable name. Spaces and punctuation are allowed; leading or trailing whitespace and invisible or control characters are not.",
"x-omnara-unicode-normalization": "NFC"
},
"orgID": {
"type": "string",
"pattern": "^org_[a-z2-7]{26}$"
},
"target": {
"type": "object",
"oneOf": [
{
"$ref": "#/$defs/AgentCronTriggerTarget"
},
{
"$ref": "#/$defs/AgentProfileCronTriggerTarget"
},
{
"$ref": "#/$defs/IntegrationCronTriggerTarget"
}
],
"discriminator": {
"mapping": {
"agent": "#/$defs/AgentCronTriggerTarget",
"profile": "#/$defs/AgentProfileCronTriggerTarget",
"integration": "#/$defs/IntegrationCronTriggerTarget"
},
"propertyName": "type"
}
},
"enabled": {
"type": "boolean"
},
"timezone": {
"type": "string",
"maxLength": 64,
"description": "IANA time zone the schedule is evaluated in."
},
"projectID": {
"type": "string",
"pattern": "^proj_[a-z2-7]{26}$"
},
"message_template": {
"type": "string",
"maxLength": 65536,
"description": "Go text/template rendered on each firing to produce the message sent to the target. The template receives a `trigger` value with `name`, `fired_at`, `last_fired_at`, and `local_date` fields. Timestamps remain UTC; local_date is the scheduled occurrence's ISO date in the schedule timezone. Required for agent and profile targets; omitted for integration targets, which use their own settings. Rendering is capped at 64 KiB of output and one second of wall-clock time, and `printf` width and precision specifiers are capped at 1024; a firing whose template fails to render is recorded in `failure_report` without sending a message."
}
},
"additionalProperties": false
},
"annotations": {
"title": "Create cron trigger",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description79/100
Updates the schedule, message template, or enabled state. The target is immutable; delete the trigger and create a new one to retarget.
Explain mutations, irreversible effects, or prerequisites that matter before calling this tool.
Inputs31/100
6 of 16 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
cron
Standard five-field cron expression (minute, hour, day of month, month, day of week). `TZ=`/`CRON_TZ=` prefixes are rejected; set the `timezone` field instead.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
cronTriggerID
Not provided
Missing description. Explain what this value means and how to supply it.
enabled
Not provided
Missing description. Explain what this value means and how to supply it.
message_template
Go text/template rendered on each firing to produce the message sent to the target. The template receives a `trigger` value with `name`, `fired_at`, `last_fired_at`, and `local_date` fields. Timestamps remain UTC; local_date is the scheduled occurrence's ISO date in the schedule timezone. Required for agent and profile targets; omitted for integration targets, which use their own settings. Rendering is capped at 64 KiB of output and one second of wall-clock time, and `printf` width and precision specifiers are capped at 1024; a firing whose template fails to render is recorded in `failure_report` without sending a message.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
name
Human-readable name. Spaces and punctuation are allowed; leading or trailing whitespace and invisible or control characters are not.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
projectID
Not provided
Missing description. Explain what this value means and how to supply it.
$defs › AgentCronTriggerTarget › agent_id
Not provided
Missing description. Explain what this value means and how to supply it.
$defs › AgentCronTriggerTarget › delivery_mode
Each firing sends a queued or steering message to the agent. Defaults to `queued` on creation; omitted updates preserve the current mode.
Clear enough to supply this argument.
$defs › AgentCronTriggerTarget › type
Not provided
Missing description. Explain what this value means and how to supply it.
Missing description. Explain what this value means and how to supply it.
$defs › IntegrationCronTriggerTarget › settings
Settings validated by the target integration's published schedule input schema. Each accepted occurrence retains its own copy. Integration resource references are resolved when the integration handles the occurrence.
Clear enough to supply this argument.
$defs › IntegrationCronTriggerTarget › type
Not provided
Missing description. Explain what this value means and how to supply it.
timezone
IANA time zone the schedule is evaluated in.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description91/100
Removes the project's access to the machine. Processes that depended on the grant are stopped. The machine itself is retained, and there are no dependency blockers.
The description explains the capability, when to use it, and what to expect.
Inputs0/100
0 of 3 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
grantID
Not provided
Missing description. Explain what this value means and how to supply it.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
projectID
Not provided
Missing description. Explain what this value means and how to supply it.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description49/100
Create project model grant
Describe the concrete operation and its scope instead of restating the tool name.
Inputs63/100
10 of 13 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
configured_model_id
Not provided
Missing description. Explain what this value means and how to supply it.
context_window_tokens
Optional project token-window limit. Cannot exceed the configured model's current limit.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
default_cache_retention
Prompt-cache preference for model requests; `short` when omitted. `short` applies the route's default caching (explicit cache breakpoints where the provider requires them) and, where the route accepts one, a stable conversation key for cache-aware routing. `long` prefers the route's extended cache lifetime where one exists (currently Anthropic's one-hour cache, which on Bedrock requires Claude 4.5 or newer) and behaves like `short` elsewhere. `none` sends no Omnara-managed cache controls or conversation key; providers may still cache prefixes on their own.
Explain the meaning of this value, not just its name.
default_reasoning_effort
Optional project default reasoning effort.
Clear enough to supply this argument.
input_modalities
Optional project subset of configured-model input types (text, image, or file). Empty or omitted means inherit.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
max_output_tokens
Optional project output-token ceiling. Cannot exceed the configured model's ceiling.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
output_modalities
Optional project subset of configured-model output types. Empty or omitted means inherit.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
projectID
Not provided
Missing description. Explain what this value means and how to supply it.
supported_reasoning_efforts
Optional project subset of configured-model reasoning efforts. If this excludes the inherited default_reasoning_effort, set default_reasoning_effort on the grant too.
Clear enough to supply this argument.
supports_reasoning
Optional project-level reasoning gate. Can disable reasoning, but cannot enable reasoning when the configured model does not support it.
Clear enough to supply this argument.
supports_tools
Optional project-level tool-use gate. Can disable tools, but cannot enable tools when the configured model does not support them.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
Annotations100/100
All four behavior hints are declared.
{
"title": "Grant model to project",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}
Output schema0/100
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "grant_models_add",
"title": "Grant model to project",
"description": "Create project model grant",
"inputSchema": {
"type": "object",
"required": [
"configured_model_id",
"orgID",
"projectID"
],
"properties": {
"orgID": {
"type": "string",
"pattern": "^org_[a-z2-7]{26}$"
},
"projectID": {
"type": "string",
"pattern": "^proj_[a-z2-7]{26}$"
},
"supports_tools": {
"type": "boolean",
"description": "Optional project-level tool-use gate. Can disable tools, but cannot enable tools when the configured model does not support them."
},
"input_modalities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional project subset of configured-model input types (text, image, or file). Empty or omitted means inherit."
},
"max_output_tokens": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "Optional project output-token ceiling. Cannot exceed the configured model's ceiling."
},
"output_modalities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional project subset of configured-model output types. Empty or omitted means inherit."
},
"supports_reasoning": {
"type": "boolean",
"description": "Optional project-level reasoning gate. Can disable reasoning, but cannot enable reasoning when the configured model does not support it."
},
"configured_model_id": {
"type": "string",
"pattern": "^mdl_[a-z2-7]{26}$"
},
"context_window_tokens": {
"type": "integer",
"maximum": 2147483647,
"minimum": 2,
"description": "Optional project token-window limit. Cannot exceed the configured model's current limit."
},
"default_cache_retention": {
"enum": [
"none",
"short",
"long"
],
"type": "string",
"description": "Prompt-cache preference for model requests; `short` when omitted. `short` applies the route's default caching (explicit cache breakpoints where the provider requires them) and, where the route accepts one, a stable conversation key for cache-aware routing. `long` prefers the route's extended cache lifetime where one exists (currently Anthropic's one-hour cache, which on Bedrock requires Claude 4.5 or newer) and behaves like `short` elsewhere. `none` sends no Omnara-managed cache controls or conversation key; providers may still cache prefixes on their own."
},
"default_reasoning_effort": {
"type": "string",
"description": "Optional project default reasoning effort."
},
"default_max_output_tokens": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "Optional project default per-request output-token cap."
},
"supported_reasoning_efforts": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional project subset of configured-model reasoning efforts. If this excludes the inherited default_reasoning_effort, set default_reasoning_effort on the grant too."
}
},
"additionalProperties": false
},
"annotations": {
"title": "Grant model to project",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description95/100
Removes the project's access to the configured model. The grant is live policy: new launches can no longer select the model, and agents already using it lose access on their next model call. The model itself is retained, and there are no dependency blockers.
The description explains the capability, when to use it, and what to expect.
Inputs0/100
0 of 3 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
modelGrantID
Not provided
Missing description. Explain what this value means and how to supply it.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
projectID
Not provided
Missing description. Explain what this value means and how to supply it.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "grant_models_delete",
"title": "Delete project model grant",
"description": "Removes the project's access to the configured model. The grant is live policy: new launches can no longer select the model, and agents already using it lose access on their next model call. The model itself is retained, and there are no dependency blockers.",
"inputSchema": {
"type": "object",
"required": [
"modelGrantID",
"orgID",
"projectID"
],
"properties": {
"orgID": {
"type": "string",
"pattern": "^org_[a-z2-7]{26}$"
},
"projectID": {
"type": "string",
"pattern": "^proj_[a-z2-7]{26}$"
},
"modelGrantID": {
"type": "string",
"pattern": "^pmog_[a-z2-7]{26}$"
}
},
"additionalProperties": false
},
"annotations": {
"title": "Delete project model grant",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description92/100
Updates the project's overrides for the configured model. Omitted fields keep their current values; null clears an override so the project inherits from the configured model. The grant is live policy: agents already using the model re-apply the updated overrides on their next model call, against the configured-model revision each agent pinned at launch. Updates are validated against the configured model's current revision only, so an update can make an agent pinned to an older, incompatible revision fail its next model call.
Explain mutations, irreversible effects, or prerequisites that matter before calling this tool.
Inputs52/100
9 of 13 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
context_window_tokens
Project token-window limit. Cannot exceed the configured model's current limit.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
default_cache_retention
Not provided
Missing description. Explain what this value means and how to supply it.
default_max_output_tokens
Project default per-request output-token cap.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
default_reasoning_effort
Project default reasoning effort.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
input_modalities
Project subset of configured-model input types.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
max_output_tokens
Project output-token ceiling. Cannot exceed the configured model's ceiling.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
modelGrantID
Not provided
Missing description. Explain what this value means and how to supply it.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
output_modalities
Project subset of configured-model output types.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
projectID
Not provided
Missing description. Explain what this value means and how to supply it.
supported_reasoning_efforts
Project subset of configured-model reasoning efforts. If this excludes the inherited default_reasoning_effort, set default_reasoning_effort on the grant too.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
supports_reasoning
Project-level reasoning gate. Can disable reasoning, but cannot enable reasoning when the configured model does not support it.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
supports_tools
Project-level tool-use gate. Can disable tools, but cannot enable tools when the configured model does not support them.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "grant_models_edit",
"title": "Update project model grant",
"description": "Updates the project's overrides for the configured model. Omitted fields keep their current values; null clears an override so the project inherits from the configured model. The grant is live policy: agents already using the model re-apply the updated overrides on their next model call, against the configured-model revision each agent pinned at launch. Updates are validated against the configured model's current revision only, so an update can make an agent pinned to an older, incompatible revision fail its next model call.",
"inputSchema": {
"type": "object",
"$defs": {
"ModelCacheRetention": {
"enum": [
"none",
"short",
"long"
],
"type": "string",
"description": "Prompt-cache preference for model requests; `short` when omitted. `short` applies the route's default caching (explicit cache breakpoints where the provider requires them) and, where the route accepts one, a stable conversation key for cache-aware routing. `long` prefers the route's extended cache lifetime where one exists (currently Anthropic's one-hour cache, which on Bedrock requires Claude 4.5 or newer) and behaves like `short` elsewhere. `none` sends no Omnara-managed cache controls or conversation key; providers may still cache prefixes on their own."
}
},
"required": [
"modelGrantID",
"orgID",
"projectID"
],
"properties": {
"orgID": {
"type": "string",
"pattern": "^org_[a-z2-7]{26}$"
},
"projectID": {
"type": "string",
"pattern": "^proj_[a-z2-7]{26}$"
},
"modelGrantID": {
"type": "string",
"pattern": "^pmog_[a-z2-7]{26}$"
},
"supports_tools": {
"type": [
"boolean",
"null"
],
"description": "Project-level tool-use gate. Can disable tools, but cannot enable tools when the configured model does not support them."
},
"input_modalities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Project subset of configured-model input types."
},
"max_output_tokens": {
"type": [
"integer",
"null"
],
"minimum": 1,
"description": "Project output-token ceiling. Cannot exceed the configured model's ceiling."
},
"output_modalities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Project subset of configured-model output types."
},
"supports_reasoning": {
"type": [
"boolean",
"null"
],
"description": "Project-level reasoning gate. Can disable reasoning, but cannot enable reasoning when the configured model does not support it."
},
"context_window_tokens": {
"type": [
"integer",
"null"
],
"minimum": 1,
"description": "Project token-window limit. Cannot exceed the configured model's current limit."
},
"default_cache_retention": {
"anyOf": [
{
"$ref": "#/$defs/ModelCacheRetention"
},
{
"type": "null"
}
]
},
"default_reasoning_effort": {
"type": [
"string",
"null"
],
"description": "Project default reasoning effort."
},
"default_max_output_tokens": {
"type": [
"integer",
"null"
],
"minimum": 1,
"description": "Project default per-request output-token cap."
},
"supported_reasoning_efforts": {
"type": "array",
"items": {
"type": "string"
},
"description": "Project subset of configured-model reasoning efforts. If this excludes the inherited default_reasoning_effort, set default_reasoning_effort on the grant too."
}
},
"additionalProperties": false
},
"annotations": {
"title": "Update project model grant",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description54/100
Create project machine pool grant
Describe the concrete operation and its scope instead of restating the tool name.
Inputs17/100
4 of 19 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
default_cwd
Not provided
Missing description. Explain what this value means and how to supply it.
default_machine_cpu
Not provided
Missing description. Explain what this value means and how to supply it.
default_machine_env_overlay
Env overlay merged over the pool's default_machine_env for machines materialized through this grant; a null entry removes the key.
Clear enough to supply this argument.
default_machine_memory_mb
Not provided
Missing description. Explain what this value means and how to supply it.
default_machine_provider_options_overlay
Not provided
Missing description. Explain what this value means and how to supply it.
default_machine_secret_env_overlay
Secret env overlay merged over the pool's default_machine_secret_env for machines materialized through this grant; a null entry removes the key.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
delete_after_idle_minutes
Idle minutes before deleting a machine created through this grant. Use 0 to disable for this grant; omit to inherit the pool default. Values from 1 through 4 are invalid.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
description
Not provided
Missing description. Explain what this value means and how to supply it.
machine_pool_id
Not provided
Missing description. Explain what this value means and how to supply it.
max_machine_cpu
Not provided
Missing description. Explain what this value means and how to supply it.
max_machine_memory_mb
Not provided
Missing description. Explain what this value means and how to supply it.
max_total_cpu
Not provided
Missing description. Explain what this value means and how to supply it.
max_total_machines
Not provided
Missing description. Explain what this value means and how to supply it.
max_total_memory_mb
Not provided
Missing description. Explain what this value means and how to supply it.
metadata
Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 characters, values must be strings of up to 512 characters.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
min_machine_cpu
Not provided
Missing description. Explain what this value means and how to supply it.
min_machine_memory_mb
Not provided
Missing description. Explain what this value means and how to supply it.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
projectID
Not provided
Missing description. Explain what this value means and how to supply it.
Annotations100/100
All four behavior hints are declared.
{
"title": "Grant machine pool to project",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}
Output schema0/100
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "grant_pools_add",
"title": "Grant machine pool to project",
"description": "Create project machine pool grant",
"inputSchema": {
"type": "object",
"required": [
"machine_pool_id",
"orgID",
"projectID"
],
"properties": {
"orgID": {
"type": "string",
"pattern": "^org_[a-z2-7]{26}$"
},
"metadata": {
"type": "object",
"x-go-type": "resourcemeta.Metadata",
"description": "Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 characters, values must be strings of up to 512 characters.",
"maxProperties": 16,
"propertyNames": {
"maxLength": 64,
"minLength": 1
},
"x-go-type-import": {
"path": "github.com/omnara-ai/omnara/internal/resourcemeta"
},
"additionalProperties": {
"type": "string",
"maxLength": 512
},
"x-go-type-skip-optional-pointer": true
},
"projectID": {
"type": "string",
"pattern": "^proj_[a-z2-7]{26}$"
},
"default_cwd": {
"type": "string"
},
"description": {
"type": "string"
},
"max_total_cpu": {
"type": "integer",
"format": "int32",
"maximum": 2147483647,
"minimum": 0
},
"machine_pool_id": {
"type": "string",
"pattern": "^mpo_[a-z2-7]{26}$"
},
"max_machine_cpu": {
"type": "integer",
"format": "int32",
"maximum": 2147483647,
"minimum": 1
},
"min_machine_cpu": {
"type": "integer",
"format": "int32",
"maximum": 2147483647,
"minimum": 0
},
"max_total_machines": {
"type": "integer",
"format": "int32",
"maximum": 2147483647,
"minimum": 0
},
"default_machine_cpu": {
"type": "integer",
"format": "int32",
"maximum": 2147483647,
"minimum": 1
},
"max_total_memory_mb": {
"type": "integer",
"format": "int32",
"maximum": 2147483647,
"minimum": 0
},
"max_machine_memory_mb": {
"type": "integer",
"format": "int32",
"maximum": 2147483647,
"minimum": 1
},
"min_machine_memory_mb": {
"type": "integer",
"format": "int32",
"maximum": 2147483647,
"minimum": 0
},
"default_machine_memory_mb": {
"type": "integer",
"format": "int32",
"maximum": 2147483647,
"minimum": 1
},
"delete_after_idle_minutes": {
"type": "integer",
"oneOf": [
{
"const": 0
},
{
"type": "integer",
"maximum": 2147483647,
"minimum": 5
}
],
"format": "int32",
"maximum": 2147483647,
"minimum": 0,
"description": "Idle minutes before deleting a machine created through this grant. Use 0 to disable for this grant; omit to inherit the pool default. Values from 1 through 4 are invalid."
},
"default_machine_env_overlay": {
"type": "object",
"description": "Env overlay merged over the pool's default_machine_env for machines materialized through this grant; a null entry removes the key.",
"additionalProperties": {
"type": [
"string",
"null"
]
}
},
"default_machine_secret_env_overlay": {
"type": "object",
"description": "Secret env overlay merged over the pool's default_machine_secret_env for machines materialized through this grant; a null entry removes the key.",
"additionalProperties": {
"type": [
"string",
"null"
],
"pattern": "^sec_[a-z2-7]{26}$"
}
},
"default_machine_provider_options_overlay": {
"type": "object",
"additionalProperties": true
}
},
"additionalProperties": false
},
"annotations": {
"title": "Grant machine pool to project",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description92/100
Removes the project's access to the machine pool, revokes machine grants generated through it, and stops processes that depended on those grants. The pool itself is retained, and there are no dependency blockers.
The description explains the capability, when to use it, and what to expect.
Inputs0/100
0 of 3 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
poolGrantID
Not provided
Missing description. Explain what this value means and how to supply it.
projectID
Not provided
Missing description. Explain what this value means and how to supply it.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description90/100
Updates the grant's overrides and limits. Omitted fields keep their current values; null clears an override so the grant follows the machine pool again. Overlay objects and metadata are replaced whole when present. Existing machines keep their configuration; the updated defaults and limits apply to new launches.
Explain mutations, irreversible effects, or prerequisites that matter before calling this tool.
Inputs8/100
2 of 19 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
default_cwd
Not provided
Missing description. Explain what this value means and how to supply it.
default_machine_cpu
Not provided
Missing description. Explain what this value means and how to supply it.
default_machine_env_overlay
Not provided
Missing description. Explain what this value means and how to supply it.
default_machine_memory_mb
Not provided
Missing description. Explain what this value means and how to supply it.
default_machine_provider_options_overlay
Not provided
Missing description. Explain what this value means and how to supply it.
default_machine_secret_env_overlay
Not provided
Missing description. Explain what this value means and how to supply it.
delete_after_idle_minutes
Idle minutes before deleting a machine created through this grant. Use 0 to disable for this grant; null restores inheritance from the pool; omitted leaves it unchanged. Values from 1 through 4 are invalid.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
description
Not provided
Missing description. Explain what this value means and how to supply it.
max_machine_cpu
Not provided
Missing description. Explain what this value means and how to supply it.
max_machine_memory_mb
Not provided
Missing description. Explain what this value means and how to supply it.
max_total_cpu
Not provided
Missing description. Explain what this value means and how to supply it.
max_total_machines
Not provided
Missing description. Explain what this value means and how to supply it.
max_total_memory_mb
Not provided
Missing description. Explain what this value means and how to supply it.
metadata
Arbitrary key-value metadata. Maximum 16 pairs, keys up to 64 characters, values must be strings of up to 512 characters.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
min_machine_cpu
Not provided
Missing description. Explain what this value means and how to supply it.
min_machine_memory_mb
Not provided
Missing description. Explain what this value means and how to supply it.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
poolGrantID
Not provided
Missing description. Explain what this value means and how to supply it.
projectID
Not provided
Missing description. Explain what this value means and how to supply it.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description44/100
Connect a BYO machine
Describe the concrete operation and its scope instead of restating the tool name.
Inputs25/100
3 of 9 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
cwd
Not provided
Missing description. Explain what this value means and how to supply it.
description
Not provided
Missing description. Explain what this value means and how to supply it.
display_name
Human-readable name. Spaces and punctuation are allowed; leading or trailing whitespace and invisible or control characters are not.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
env
Not provided
Missing description. Explain what this value means and how to supply it.
metadata
User-supplied metadata stored on a machine, provided directly or copied from the machine pool that provisions it. A restriction of Metadata that leaves room for one reserved pair - Omnara sets observed_platform on the machine to the platform reported by its daemon, so the key is reserved and at most 15 user pairs are accepted.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
project_ids
Not provided
Missing description. Explain what this value means and how to supply it.
secret_env
Not provided
Missing description. Explain what this value means and how to supply it.
token_name
Human-readable name. Spaces and punctuation are allowed; leading or trailing whitespace and invisible or control characters are not.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description94/100
Deletes a BYO machine, ends its active daemon runtimes and work, revokes its daemon tokens and project grants, and releases agent bindings. Pooled machines are managed through their machine pool and cannot be deleted through this route. There are no dependency blockers for a BYO machine.
The description explains the capability, when to use it, and what to expect.
Inputs0/100
0 of 2 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
machineID
Not provided
Missing description. Explain what this value means and how to supply it.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "machines_delete",
"title": "Delete machine",
"description": "Deletes a BYO machine, ends its active daemon runtimes and work, revokes its daemon tokens and project grants, and releases agent bindings. Pooled machines are managed through their machine pool and cannot be deleted through this route. There are no dependency blockers for a BYO machine.",
"inputSchema": {
"type": "object",
"required": [
"machineID",
"orgID"
],
"properties": {
"orgID": {
"type": "string",
"pattern": "^org_[a-z2-7]{26}$"
},
"machineID": {
"type": "string",
"pattern": "^mch_[a-z2-7]{26}$"
}
},
"additionalProperties": false
},
"annotations": {
"title": "Delete machine",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description77/100
Fetches the provider's live model catalog by validating the configured credential and probing the provider's /models endpoint. The call waits on the upstream provider, so it is slower than the other model provider config routes and can report failure as data.
Describe the returned information so the agent knows whether it will answer the request.
Inputs0/100
0 of 2 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
modelProviderConfigID
Not provided
Missing description. Explain what this value means and how to supply it.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "model_providers_catalog",
"title": "Get model provider catalog",
"description": "Fetches the provider's live model catalog by validating the configured credential and probing the provider's /models endpoint. The call waits on the upstream provider, so it is slower than the other model provider config routes and can report failure as data.",
"inputSchema": {
"type": "object",
"required": [
"modelProviderConfigID",
"orgID"
],
"properties": {
"orgID": {
"type": "string",
"pattern": "^org_[a-z2-7]{26}$"
},
"modelProviderConfigID": {
"type": "string",
"pattern": "^mpc_[a-z2-7]{26}$"
}
},
"additionalProperties": false
},
"annotations": {
"title": "Get model provider catalog",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description88/100
Create a model provider config, validate the configured credential where the provider exposes a validation endpoint, then probe the provider's /models endpoint. The result is returned as model_catalog; a failed probe does not fail creation.
The description explains the capability, when to use it, and what to expect.
Inputs33/100
7 of 16 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
api_format
Not provided
Missing description. Explain what this value means and how to supply it.
api_variant
Not provided
Missing description. Explain what this value means and how to supply it.
auth_kind
Not provided
Missing description. Explain what this value means and how to supply it.
auth_options › header_name
Not provided
Missing description. Explain what this value means and how to supply it.
auth_options › region
Not provided
Missing description. Explain what this value means and how to supply it.
auth_options › service
Not provided
Missing description. Explain what this value means and how to supply it.
base_url
Provider endpoint base URL. Normal API mode requires a public HTTPS endpoint; localhost and loopback endpoints are accepted only when the API is running in insecure dev mode.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
credential_secret_id
Not provided
Missing description. Explain what this value means and how to supply it.
endpoint_path
URL path under base_url. Defaults to /responses for OpenAI Responses, /chat/completions for Chat Completions, and /messages for Anthropic Messages.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
headers
Extra HTTP headers sent with every request to this provider. Values are stored and returned as plain text; use secret_headers for keys and tokens.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
idle_timeout_ms
Maximum wait for response headers or the next response bytes, in milliseconds. Heartbeats count as activity. Defaults to 300000 (5 minutes). Local response processing does not consume this idle budget.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
name
Human-readable name. Spaces and punctuation are allowed; leading or trailing whitespace and invisible or control characters are not.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
preset
Not provided
Missing description. Explain what this value means and how to supply it.
request_timeout_ms
Total deadline for one provider attempt, including reasoning and response streaming, in milliseconds. Defaults to 3600000 (60 minutes). Retries have separate deadlines.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
secret_headers
Extra HTTP headers whose values come from org-owned generic secrets, mapping header names to secret references.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "model_providers_create",
"title": "Create model provider config",
"description": "Create a model provider config, validate the configured credential where the provider exposes a validation endpoint, then probe the provider's /models endpoint. The result is returned as model_catalog; a failed probe does not fail creation.",
"inputSchema": {
"type": "object",
"$defs": {
"SecretID": {
"type": "string",
"pattern": "^sec_[a-z2-7]{26}$"
}
},
"required": [
"credential_secret_id",
"name",
"orgID"
],
"properties": {
"name": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Human-readable name. Spaces and punctuation are allowed; leading or trailing whitespace and invisible or control characters are not.",
"x-omnara-unicode-normalization": "NFC"
},
"orgID": {
"type": "string",
"pattern": "^org_[a-z2-7]{26}$"
},
"preset": {
"enum": [
"openai",
"openrouter",
"anthropic"
],
"type": "string"
},
"headers": {
"type": "object",
"description": "Extra HTTP headers sent with every request to this provider. Values are stored and returned as plain text; use secret_headers for keys and tokens.",
"additionalProperties": {
"type": "string"
}
},
"base_url": {
"type": "string",
"minLength": 1,
"description": "Provider endpoint base URL. Normal API mode requires a public HTTPS endpoint; localhost and loopback endpoints are accepted only when the API is running in insecure dev mode."
},
"auth_kind": {
"enum": [
"bearer_token",
"api_key_header",
"sigv4"
],
"type": "string",
"x-enum-varnames": [
"BearerToken",
"ApiKeyHeader",
"ModelProviderSigV4"
]
},
"api_format": {
"enum": [
"openai-responses",
"openai-chat-completions",
"anthropic-messages"
],
"type": "string",
"x-enum-varnames": [
"ModelAPIFormatOpenaiResponses",
"ModelAPIFormatOpenaiChatCompletions",
"ModelAPIFormatAnthropicMessages"
]
},
"api_variant": {
"enum": [
"default",
"openrouter",
"bedrock"
],
"type": "string"
},
"auth_options": {
"type": "object",
"x-go-type": "json.RawMessage",
"properties": {
"region": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"service": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"header_name": {
"type": "string",
"minLength": 1
}
},
"description": "Non-secret authentication settings. Use an empty object with bearer_token. With api_key_header, set {\"header_name\":\"...\"}; Anthropic Messages defaults to {\"header_name\":\"x-api-key\"}. With sigv4, set the AWS signing service and region.",
"additionalProperties": false,
"x-go-type-skip-optional-pointer": true
},
"endpoint_path": {
"type": "string",
"pattern": "^/",
"minLength": 1,
"description": "URL path under base_url. Defaults to /responses for OpenAI Responses, /chat/completions for Chat Completions, and /messages for Anthropic Messages."
},
"secret_headers": {
"type": "object",
"description": "Extra HTTP headers whose values come from org-owned generic secrets, mapping header names to secret references.",
"additionalProperties": {
"$ref": "#/$defs/SecretID"
}
},
"idle_timeout_ms": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "Maximum wait for response headers or the next response bytes, in milliseconds. Heartbeats count as activity. Defaults to 300000 (5 minutes). Local response processing does not consume this idle budget."
},
"request_timeout_ms": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "Total deadline for one provider attempt, including reasoning and response streaming, in milliseconds. Defaults to 3600000 (60 minutes). Retries have separate deadlines."
},
"credential_secret_id": {
"type": "string",
"pattern": "^sec_[a-z2-7]{26}$"
}
},
"additionalProperties": false
},
"annotations": {
"title": "Create model provider config",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description85/100
Deletes only the model provider config. Deletion is blocked while it has configured models. Cluster-managed provider configs cannot be deleted through this route.
The description explains the capability, when to use it, and what to expect.
Inputs0/100
0 of 2 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
modelProviderConfigID
Not provided
Missing description. Explain what this value means and how to supply it.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description37/100
Update model provider config
Describe the concrete operation and its scope instead of restating the tool name.
Inputs37/100
6 of 13 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
auth_kind
Not provided
Missing description. Explain what this value means and how to supply it.
auth_options › header_name
Not provided
Missing description. Explain what this value means and how to supply it.
auth_options › region
Not provided
Missing description. Explain what this value means and how to supply it.
auth_options › service
Not provided
Missing description. Explain what this value means and how to supply it.
base_url
Provider endpoint base URL. Normal API mode requires a public HTTPS endpoint; localhost and loopback endpoints are accepted only when the API is running in insecure dev mode.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
credential_secret_id
Not provided
Missing description. Explain what this value means and how to supply it.
endpoint_path
URL path under base_url. This changes where requests are sent, not which API format Omnara speaks.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
headers
Extra HTTP headers sent with every request to this provider. Values are stored and returned as plain text; use secret_headers for keys and tokens. Replaces all headers when provided.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
idle_timeout_ms
Maximum wait for response headers or the next response bytes, in milliseconds. Heartbeats count as activity. Local response processing does not consume this idle budget.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
modelProviderConfigID
Not provided
Missing description. Explain what this value means and how to supply it.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
request_timeout_ms
Total deadline for one provider attempt, including reasoning and response streaming, in milliseconds. Retries have separate deadlines.
Clear enough to supply this argument.
secret_headers
Extra HTTP headers whose values come from org-owned generic secrets, mapping header names to secret references. Replaces all secret headers when provided.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "model_providers_update",
"title": "Update model provider config",
"description": "Update model provider config",
"inputSchema": {
"type": "object",
"$defs": {
"SecretID": {
"type": "string",
"pattern": "^sec_[a-z2-7]{26}$"
}
},
"required": [
"modelProviderConfigID",
"orgID"
],
"properties": {
"orgID": {
"type": "string",
"pattern": "^org_[a-z2-7]{26}$"
},
"headers": {
"type": "object",
"description": "Extra HTTP headers sent with every request to this provider. Values are stored and returned as plain text; use secret_headers for keys and tokens. Replaces all headers when provided.",
"additionalProperties": {
"type": "string"
}
},
"base_url": {
"type": "string",
"minLength": 1,
"description": "Provider endpoint base URL. Normal API mode requires a public HTTPS endpoint; localhost and loopback endpoints are accepted only when the API is running in insecure dev mode."
},
"auth_kind": {
"enum": [
"bearer_token",
"api_key_header",
"sigv4"
],
"type": "string",
"x-enum-varnames": [
"BearerToken",
"ApiKeyHeader",
"ModelProviderSigV4"
]
},
"auth_options": {
"type": "object",
"x-go-type": "json.RawMessage",
"properties": {
"region": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"service": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"header_name": {
"type": "string",
"minLength": 1
}
},
"description": "Non-secret authentication settings. Use an empty object with bearer_token. With api_key_header, set {\"header_name\":\"...\"}. With sigv4, set the AWS signing service and region.",
"additionalProperties": false,
"x-go-type-skip-optional-pointer": true
},
"endpoint_path": {
"type": "string",
"pattern": "^/",
"minLength": 1,
"description": "URL path under base_url. This changes where requests are sent, not which API format Omnara speaks."
},
"secret_headers": {
"type": "object",
"description": "Extra HTTP headers whose values come from org-owned generic secrets, mapping header names to secret references. Replaces all secret headers when provided.",
"additionalProperties": {
"$ref": "#/$defs/SecretID"
}
},
"idle_timeout_ms": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "Maximum wait for response headers or the next response bytes, in milliseconds. Heartbeats count as activity. Local response processing does not consume this idle budget."
},
"request_timeout_ms": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "Total deadline for one provider attempt, including reasoning and response streaming, in milliseconds. Retries have separate deadlines."
},
"credential_secret_id": {
"type": "string",
"pattern": "^sec_[a-z2-7]{26}$"
},
"modelProviderConfigID": {
"type": "string",
"pattern": "^mpc_[a-z2-7]{26}$"
}
},
"additionalProperties": false
},
"annotations": {
"title": "Update model provider config",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description36/100
Create configured model
Describe the concrete operation and its scope instead of restating the tool name.
Inputs85/100
13 of 15 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
api_variant_options
Extra top-level JSON fields to include in provider requests for this configured model. Use this for provider-specific settings that Omnara does not expose as typed fields, such as OpenRouter `provider` routing or sampling parameters. Omnara still controls the fields it needs to run the agent correctly, including the model, prompt/messages, streaming, tools, output-token limit, and selected reasoning policy. Provider passthrough values for those fields are ignored. For OpenRouter routing options, see https://openrouter.ai/docs/guides/routing/provider-selection and general request parameters at https://openrouter.ai/docs/api/reference/parameters. Omnara-managed OpenRouter providers accept only sampling, reasoning, and per-model routing options here.
Clear enough to supply this argument.
context_window_tokens
Total token window for this model, including input and output.
Clear enough to supply this argument.
default_cache_retention
Prompt-cache preference for model requests; `short` when omitted. `short` applies the route's default caching (explicit cache breakpoints where the provider requires them) and, where the route accepts one, a stable conversation key for cache-aware routing. `long` prefers the route's extended cache lifetime where one exists (currently Anthropic's one-hour cache, which on Bedrock requires Claude 4.5 or newer) and behaves like `short` elsewhere. `none` sends no Omnara-managed cache controls or conversation key; providers may still cache prefixes on their own.
Clear enough to supply this argument.
default_max_output_tokens
Optional normal per-request output allowance. Discovery never populates this field. When omitted, requests use the known output ceiling. If both are absent, Messages uses 64000 tokens; other formats omit the allowance. Runtime allowances are fitted to available context.
Clear enough to supply this argument.
default_reasoning_effort
Default reasoning effort to send for models/API formats that support effort-style reasoning controls. Requires supports_reasoning=true. When supported_reasoning_efforts is present, this value must be listed there.
Clear enough to supply this argument.
input_modalities
Input types this configured model accepts. Omnara recognizes text, image, and file; an empty list leaves capabilities unspecified.
Clear enough to supply this argument.
max_output_tokens
Optional known output-token ceiling. Omitted capacity remains unknown; selecting a discovered model can supply its published ceiling. Explicit values must not exceed the provider's supported limit.
Clear enough to supply this argument.
modelProviderConfigID
Not provided
Missing description. Explain what this value means and how to supply it.
name
Human-readable name. Spaces and punctuation are allowed; leading or trailing whitespace and invisible or control characters are not.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
output_modalities
Output types this configured model can return. Omnara currently consumes text output.
Clear enough to supply this argument.
provider_model_slug
Exact provider model slug sent to the provider endpoint. Free-pool, `:online`, and preset model ids are not accepted on Omnara-managed OpenRouter providers.
Clear enough to supply this argument.
supported_reasoning_efforts
Reasoning effort values this configured model accepts. Requires supports_reasoning=true when non-empty.
Clear enough to supply this argument.
supports_reasoning
Whether Omnara should use this model's reasoning features. For OpenAI Responses, this also enables encrypted reasoning replay for stateless calls.
Clear enough to supply this argument.
supports_tools
Whether this configured model can receive tool definitions and emit tool calls. Agent configs with enabled tools are rejected when this is false.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "models_create",
"title": "Create configured model",
"description": "Create configured model",
"inputSchema": {
"type": "object",
"required": [
"context_window_tokens",
"modelProviderConfigID",
"name",
"orgID",
"provider_model_slug"
],
"properties": {
"name": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Human-readable name. Spaces and punctuation are allowed; leading or trailing whitespace and invisible or control characters are not.",
"x-omnara-unicode-normalization": "NFC"
},
"orgID": {
"type": "string",
"pattern": "^org_[a-z2-7]{26}$"
},
"supports_tools": {
"type": "boolean",
"description": "Whether this configured model can receive tool definitions and emit tool calls. Agent configs with enabled tools are rejected when this is false."
},
"input_modalities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Input types this configured model accepts. Omnara recognizes text, image, and file; an empty list leaves capabilities unspecified."
},
"max_output_tokens": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "Optional known output-token ceiling. Omitted capacity remains unknown; selecting a discovered model can supply its published ceiling. Explicit values must not exceed the provider's supported limit."
},
"output_modalities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Output types this configured model can return. Omnara currently consumes text output."
},
"supports_reasoning": {
"type": "boolean",
"description": "Whether Omnara should use this model's reasoning features. For OpenAI Responses, this also enables encrypted reasoning replay for stateless calls."
},
"api_variant_options": {
"type": "object",
"x-go-type": "json.RawMessage",
"description": "Extra top-level JSON fields to include in provider requests for this configured model. Use this for provider-specific settings that Omnara does not expose as typed fields, such as OpenRouter `provider` routing or sampling parameters. Omnara still controls the fields it needs to run the agent correctly, including the model, prompt/messages, streaming, tools, output-token limit, and selected reasoning policy. Provider passthrough values for those fields are ignored. For OpenRouter routing options, see https://openrouter.ai/docs/guides/routing/provider-selection and general request parameters at https://openrouter.ai/docs/api/reference/parameters. Omnara-managed OpenRouter providers accept only sampling, reasoning, and per-model routing options here.",
"additionalProperties": true,
"x-go-type-skip-optional-pointer": true
},
"provider_model_slug": {
"type": "string",
"minLength": 1,
"description": "Exact provider model slug sent to the provider endpoint. Free-pool, `:online`, and preset model ids are not accepted on Omnara-managed OpenRouter providers."
},
"context_window_tokens": {
"type": "integer",
"maximum": 2147483647,
"minimum": 2,
"description": "Total token window for this model, including input and output."
},
"modelProviderConfigID": {
"type": "string",
"pattern": "^mpc_[a-z2-7]{26}$"
},
"default_cache_retention": {
"enum": [
"none",
"short",
"long"
],
"type": "string",
"description": "Prompt-cache preference for model requests; `short` when omitted. `short` applies the route's default caching (explicit cache breakpoints where the provider requires them) and, where the route accepts one, a stable conversation key for cache-aware routing. `long` prefers the route's extended cache lifetime where one exists (currently Anthropic's one-hour cache, which on Bedrock requires Claude 4.5 or newer) and behaves like `short` elsewhere. `none` sends no Omnara-managed cache controls or conversation key; providers may still cache prefixes on their own."
},
"default_reasoning_effort": {
"type": "string",
"description": "Default reasoning effort to send for models/API formats that support effort-style reasoning controls. Requires supports_reasoning=true. When supported_reasoning_efforts is present, this value must be listed there."
},
"default_max_output_tokens": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1,
"description": "Optional normal per-request output allowance. Discovery never populates this field. When omitted, requests use the known output ceiling. If both are absent, Messages uses 64000 tokens; other formats omit the allowance. Runtime allowances are fitted to available context."
},
"supported_reasoning_efforts": {
"type": "array",
"items": {
"type": "string"
},
"description": "Reasoning effort values this configured model accepts. Requires supports_reasoning=true when non-empty."
}
},
"additionalProperties": false
},
"annotations": {
"title": "Create configured model",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description85/100
Deletes only the configured model. Deletion is blocked while it has active project grants. Cluster-managed configured models cannot be deleted through this route.
The description explains the capability, when to use it, and what to expect.
Inputs0/100
0 of 3 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
configuredModelID
Not provided
Missing description. Explain what this value means and how to supply it.
modelProviderConfigID
Not provided
Missing description. Explain what this value means and how to supply it.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description34/100
Update configured model
Describe the concrete operation and its scope instead of restating the tool name.
Inputs81/100
13 of 16 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
api_variant_options
Extra top-level JSON fields to include in provider requests for this configured model. Use this for provider-specific settings that Omnara does not expose as typed fields, such as OpenRouter `provider` routing or sampling parameters. Omnara still controls the fields it needs to run the agent correctly, including the model, prompt/messages, streaming, tools, output-token limit, and selected reasoning policy. Provider passthrough values for those fields are ignored. For OpenRouter routing options, see https://openrouter.ai/docs/guides/routing/provider-selection and general request parameters at https://openrouter.ai/docs/api/reference/parameters. Omnara-managed OpenRouter providers accept only sampling, reasoning, and per-model routing options here.
Clear enough to supply this argument.
configuredModelID
Not provided
Missing description. Explain what this value means and how to supply it.
context_window_tokens
Total token window for this model, including input and output.
Clear enough to supply this argument.
default_cache_retention
Prompt-cache preference for model requests; `short` when omitted. `short` applies the route's default caching (explicit cache breakpoints where the provider requires them) and, where the route accepts one, a stable conversation key for cache-aware routing. `long` prefers the route's extended cache lifetime where one exists (currently Anthropic's one-hour cache, which on Bedrock requires Claude 4.5 or newer) and behaves like `short` elsewhere. `none` sends no Omnara-managed cache controls or conversation key; providers may still cache prefixes on their own.
Clear enough to supply this argument.
default_max_output_tokens
Optional per-request output allowance unless a project or agent overrides it. Without a default or known ceiling, Messages uses 64000 tokens; other formats omit the allowance.
Clear enough to supply this argument.
default_reasoning_effort
Default reasoning effort to send for models/API formats that support effort-style reasoning controls. Requires supports_reasoning=true. When supported_reasoning_efforts is present, this value must be listed there.
Clear enough to supply this argument.
input_modalities
Input types this configured model accepts. Omnara recognizes text, image, and file; an empty list leaves capabilities unspecified.
Clear enough to supply this argument.
max_output_tokens
Known output-token ceiling for this model. Omitted keeps the current value. Null clears it to unknown for every API format.
Clear enough to supply this argument.
modelProviderConfigID
Not provided
Missing description. Explain what this value means and how to supply it.
name
Human-readable name. Spaces and punctuation are allowed; leading or trailing whitespace and invisible or control characters are not.
Clear enough to supply this argument.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
output_modalities
Output types this configured model can return. Omnara currently consumes text output.
Clear enough to supply this argument.
provider_model_slug
Exact provider model slug sent to the provider endpoint. Free-pool, `:online`, and preset model ids are not accepted on Omnara-managed OpenRouter providers.
Clear enough to supply this argument.
supported_reasoning_efforts
Reasoning effort values this configured model accepts. Requires supports_reasoning=true when non-empty.
Clear enough to supply this argument.
supports_reasoning
Whether Omnara should use this model's reasoning features. For OpenAI Responses, this also enables encrypted reasoning replay for stateless calls. Omitted keeps the current value.
Clear enough to supply this argument.
supports_tools
Whether this configured model can receive tool definitions and emit tool calls. Agent configs with enabled tools are rejected when this is false. Omitted keeps the current value.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "models_update",
"title": "Update configured model",
"description": "Update configured model",
"inputSchema": {
"type": "object",
"required": [
"configuredModelID",
"modelProviderConfigID",
"orgID"
],
"properties": {
"name": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Human-readable name. Spaces and punctuation are allowed; leading or trailing whitespace and invisible or control characters are not.",
"x-omnara-unicode-normalization": "NFC"
},
"orgID": {
"type": "string",
"pattern": "^org_[a-z2-7]{26}$"
},
"supports_tools": {
"type": "boolean",
"description": "Whether this configured model can receive tool definitions and emit tool calls. Agent configs with enabled tools are rejected when this is false. Omitted keeps the current value."
},
"input_modalities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Input types this configured model accepts. Omnara recognizes text, image, and file; an empty list leaves capabilities unspecified."
},
"configuredModelID": {
"type": "string",
"pattern": "^mdl_[a-z2-7]{26}$"
},
"max_output_tokens": {
"type": [
"integer",
"null"
],
"maximum": 2147483647,
"minimum": 1,
"description": "Known output-token ceiling for this model. Omitted keeps the current value. Null clears it to unknown for every API format."
},
"output_modalities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Output types this configured model can return. Omnara currently consumes text output."
},
"supports_reasoning": {
"type": "boolean",
"description": "Whether Omnara should use this model's reasoning features. For OpenAI Responses, this also enables encrypted reasoning replay for stateless calls. Omitted keeps the current value."
},
"api_variant_options": {
"type": "object",
"x-go-type": "json.RawMessage",
"description": "Extra top-level JSON fields to include in provider requests for this configured model. Use this for provider-specific settings that Omnara does not expose as typed fields, such as OpenRouter `provider` routing or sampling parameters. Omnara still controls the fields it needs to run the agent correctly, including the model, prompt/messages, streaming, tools, output-token limit, and selected reasoning policy. Provider passthrough values for those fields are ignored. For OpenRouter routing options, see https://openrouter.ai/docs/guides/routing/provider-selection and general request parameters at https://openrouter.ai/docs/api/reference/parameters. Omnara-managed OpenRouter providers accept only sampling, reasoning, and per-model routing options here.",
"additionalProperties": true,
"x-go-type-skip-optional-pointer": true
},
"provider_model_slug": {
"type": "string",
"minLength": 1,
"description": "Exact provider model slug sent to the provider endpoint. Free-pool, `:online`, and preset model ids are not accepted on Omnara-managed OpenRouter providers."
},
"context_window_tokens": {
"type": "integer",
"maximum": 2147483647,
"minimum": 2,
"description": "Total token window for this model, including input and output."
},
"modelProviderConfigID": {
"type": "string",
"pattern": "^mpc_[a-z2-7]{26}$"
},
"default_cache_retention": {
"enum": [
"none",
"short",
"long"
],
"type": "string",
"description": "Prompt-cache preference for model requests; `short` when omitted. `short` applies the route's default caching (explicit cache breakpoints where the provider requires them) and, where the route accepts one, a stable conversation key for cache-aware routing. `long` prefers the route's extended cache lifetime where one exists (currently Anthropic's one-hour cache, which on Bedrock requires Claude 4.5 or newer) and behaves like `short` elsewhere. `none` sends no Omnara-managed cache controls or conversation key; providers may still cache prefixes on their own."
},
"default_reasoning_effort": {
"type": "string",
"description": "Default reasoning effort to send for models/API formats that support effort-style reasoning controls. Requires supports_reasoning=true. When supported_reasoning_efforts is present, this value must be listed there."
},
"default_max_output_tokens": {
"type": [
"integer",
"null"
],
"maximum": 2147483647,
"minimum": 1,
"description": "Optional per-request output allowance unless a project or agent overrides it. Without a default or known ceiling, Messages uses 64000 tokens; other formats omit the allowance."
},
"supported_reasoning_efforts": {
"type": "array",
"items": {
"type": "string"
},
"description": "Reasoning effort values this configured model accepts. Requires supports_reasoning=true when non-empty."
}
},
"additionalProperties": false
},
"annotations": {
"title": "Update configured model",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description87/100
Creates the organization and its local default resources atomically.
An idempotency key determines the proposed organization ID; replaying it
returns the existing organization. Without a key, each request is a fresh
attempt. Optional default-provider provisioning begins after commit and
retries asynchronously without failing organization creation.
Describe the returned information so the agent knows whether it will answer the request.
Inputs75/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
name
Human-readable name. Spaces and punctuation are allowed; leading or trailing whitespace and invisible or control characters are not.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description70/100
Creates a machine pool in the organization. The body carries the pool name, the provider (arker, blaxel, boxd, createos, daytona, freestyle, modal, tenki, or unikraft), the provider auth secret, default machine settings, and the per-machine and total CPU, memory, and machine-count limits the provider supports; the required fields depend on the provider. See the createMachinePool operation in the Omnara API reference at https://docs.omnara.com/api-reference for the full request schema.
Describe the returned information so the agent knows whether it will answer the request.
Inputs16/100
6 of 38 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
Default environment for pool machines. A machine's environment, including resolved secret_env values, is applied to the provider machine at provisioning, so the provider_options startup_script and the daemon run with it, and is resolved again for each process at launch.
Default secret environment for pool machines, mapping env names to generic secret references. References are resolved to secret values wherever the machine environment is applied.
Missing description. Explain what this value means and how to supply it.
$defs › CreateMachinePoolRequestBase › metadata
User-supplied metadata stored on a machine, provided directly or copied from the machine pool that provisions it. A restriction of Metadata that leaves room for one reserved pair - Omnara sets observed_platform on the machine to the platform reported by its daemon, so the key is reserved and at most 15 user pairs are accepted.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description95/100
Deletes the machine pool and its pooled machines, revokes generated machine grants and project machine-pool grants, and stops processes that depended on those grants. Deleting a cluster-managed machine pool is rejected with 409 Conflict; there are no other dependency blockers.
The description explains the capability, when to use it, and what to expect.
Inputs0/100
0 of 2 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
poolID
Not provided
Missing description. Explain what this value means and how to supply it.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description78/100
Tenant-managed pools support every request field. Cluster-managed pools only allow changes to default CPU and memory, environment and secret environment variables, provider-supported per-machine CPU and memory limits, and the idle deletion policy. Other cluster-managed changes are rejected with 409 Conflict.
The description explains the capability, when to use it, and what to expect.
Inputs25/100
6 of 22 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
default_cwd
Not provided
Missing description. Explain what this value means and how to supply it.
default_machine_cpu
Not provided
Missing description. Explain what this value means and how to supply it.
default_machine_env
Default environment for pool machines. A machine's environment, including resolved secret_env values, is applied to the provider machine at provisioning, so the provider_options startup_script and the daemon run with it, and is resolved again for each process at launch.
Clear enough to supply this argument.
default_machine_memory_mb
Not provided
Missing description. Explain what this value means and how to supply it.
default_machine_provider_options
Not provided
Missing description. Explain what this value means and how to supply it.
default_machine_secret_env
Default secret environment for pool machines, mapping env names to generic secret references. References are resolved to secret values wherever the machine environment is applied.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
delete_after_idle_minutes
Idle minutes before deleting a machine from this pool. Null clears the pool default; omitted leaves it unchanged.
Clear enough to supply this argument.
description
Not provided
Missing description. Explain what this value means and how to supply it.
max_machine_cpu
Not provided
Missing description. Explain what this value means and how to supply it.
max_machine_memory_mb
Not provided
Missing description. Explain what this value means and how to supply it.
max_total_cpu
Not provided
Missing description. Explain what this value means and how to supply it.
max_total_machines
Not provided
Missing description. Explain what this value means and how to supply it.
max_total_memory_mb
Not provided
Missing description. Explain what this value means and how to supply it.
metadata
User-supplied metadata stored on a machine, provided directly or copied from the machine pool that provisions it. A restriction of Metadata that leaves room for one reserved pair - Omnara sets observed_platform on the machine to the platform reported by its daemon, so the key is reserved and at most 15 user pairs are accepted.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
min_machine_cpu
Not provided
Missing description. Explain what this value means and how to supply it.
min_machine_memory_mb
Not provided
Missing description. Explain what this value means and how to supply it.
name
Human-readable name. Spaces and punctuation are allowed; leading or trailing whitespace and invisible or control characters are not.
Clear enough to supply this argument.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
poolID
Not provided
Missing description. Explain what this value means and how to supply it.
provider_auth_secret_id
Not provided
Missing description. Explain what this value means and how to supply it.
provider_config
Not provided
Missing description. Explain what this value means and how to supply it.
runtime_protection_enabled
Whether Omnara should delete a pool machine when its provider remains running after its daemon becomes inactive.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description95/100
Deletes the profile, all of its profile versions, and any cron triggers targeting the profile. Agents launched from the profile are retained and keep running: each agent holds an immutable snapshot of the configuration it was launched with, so its reference to the profile becomes historical provenance only. Integration settings may retain the public profile ID; future launches fail as unavailable until those settings reference an available profile.
Describe the returned information so the agent knows whether it will answer the request.
Inputs0/100
0 of 3 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
agentProfileID
Not provided
Missing description. Explain what this value means and how to supply it.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
projectID
Not provided
Missing description. Explain what this value means and how to supply it.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "profiles_delete",
"title": "Delete agent profile",
"description": "Deletes the profile, all of its profile versions, and any cron triggers targeting the profile. Agents launched from the profile are retained and keep running: each agent holds an immutable snapshot of the configuration it was launched with, so its reference to the profile becomes historical provenance only. Integration settings may retain the public profile ID; future launches fail as unavailable until those settings reference an available profile.",
"inputSchema": {
"type": "object",
"required": [
"agentProfileID",
"orgID",
"projectID"
],
"properties": {
"orgID": {
"type": "string",
"pattern": "^org_[a-z2-7]{26}$"
},
"projectID": {
"type": "string",
"pattern": "^proj_[a-z2-7]{26}$"
},
"agentProfileID": {
"type": "string",
"pattern": "^aprf_[a-z2-7]{26}$"
}
},
"additionalProperties": false
},
"annotations": {
"title": "Delete agent profile",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}
}
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "profiles_list",
"title": "List agent profiles",
"description": "Items are ordered by created_at descending, then id descending.",
"inputSchema": {
"type": "object",
"required": [
"orgID",
"projectID"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Case-insensitive glob over the list's logical name. `*` matches zero or more characters, `?` matches one character, and `\\` escapes a wildcard."
},
"sort": {
"enum": [
"name",
"-name",
"-updated_at",
"updated_at",
"-created_at",
"created_at"
],
"type": "string",
"description": "Sort order for named resources that expose created and modified timestamps."
},
"limit": {
"type": "integer",
"format": "int32",
"maximum": 100,
"minimum": 1,
"description": "Maximum number of items to return in one page."
},
"orgID": {
"type": "string",
"pattern": "^org_[a-z2-7]{26}$"
},
"cursor": {
"type": "string",
"maxLength": 1024,
"description": "Opaque pagination cursor from a previous response's next_cursor. Omit for the first page."
},
"projectID": {
"type": "string",
"pattern": "^proj_[a-z2-7]{26}$"
},
"stats_since": {
"type": "string",
"format": "date-time",
"description": "Start of the window `stats.usage` tallies, with `include_stats`. Omit to tally from the earliest recorded call."
},
"include_stats": {
"type": "boolean",
"description": "Include each profile's `stats`, so a list can show instance counts and usage without a request per profile."
}
},
"additionalProperties": false
},
"annotations": {
"title": "List agent profiles",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description95/100
Deletes the secret and permanently destroys all of its versions and project grants; the ciphertext cannot be recovered. Deletion is blocked while the secret is the credential of a model provider config, machine pool, or integration.
The description explains the capability, when to use it, and what to expect.
Inputs0/100
0 of 2 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
secretID
Not provided
Missing description. Explain what this value means and how to supply it.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "secrets_delete",
"title": "Delete secret",
"description": "Deletes the secret and permanently destroys all of its versions and project grants; the ciphertext cannot be recovered. Deletion is blocked while the secret is the credential of a model provider config, machine pool, or integration.",
"inputSchema": {
"type": "object",
"required": [
"orgID",
"secretID"
],
"properties": {
"orgID": {
"type": "string",
"pattern": "^org_[a-z2-7]{26}$"
},
"secretID": {
"type": "string",
"pattern": "^sec_[a-z2-7]{26}$"
}
},
"additionalProperties": false
},
"annotations": {
"title": "Delete secret",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description77/100
Items are ordered by created_at descending, then id descending. Without an owner filter, returns the deduplicated union of organization secrets the caller may list, project secrets the caller may list, and the caller's own user secrets.
Describe the returned information so the agent knows whether it will answer the request.
Inputs80/100
9 of 10 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
cursor
Opaque pagination cursor from a previous response's next_cursor. Omit for the first page.
Clear enough to supply this argument.
kind
Filter secrets by material kind.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
limit
Maximum number of items to return in one page.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
mcp_oauth_flow_id
Filter to secrets that have a version created by this MCP OAuth flow.
Clear enough to supply this argument.
metadata
Metadata key/value filters, encoded as metadata[key]=value.
Clear enough to supply this argument.
name
Case-insensitive glob over the list's logical name. `*` matches zero or more characters, `?` matches one character, and `\` escapes a wildcard.
Clear enough to supply this argument.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
owner_kind
Filter by the immutable owner kind.
Clear enough to supply this argument.
owner_project_id
Required with owner_kind=project and invalid with other owner kinds.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
sort
Sort order for named resources that expose created and modified timestamps.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "secrets_list",
"title": "List secrets",
"description": "Items are ordered by created_at descending, then id descending. Without an owner filter, returns the deduplicated union of organization secrets the caller may list, project secrets the caller may list, and the caller's own user secrets.",
"inputSchema": {
"type": "object",
"required": [
"orgID"
],
"properties": {
"kind": {
"enum": [
"generic",
"oauth_token_set",
"slack_app_credentials",
"aws_credentials",
"github_app_credentials"
],
"type": "string",
"description": "Filter secrets by material kind.",
"x-enum-varnames": [
"SecretKindGeneric",
"SecretKindOAuthTokenSet",
"SecretKindSlackAppCredentials",
"SecretKindAWSCredentials",
"SecretKindGitHubAppCredentials"
]
},
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Case-insensitive glob over the list's logical name. `*` matches zero or more characters, `?` matches one character, and `\\` escapes a wildcard."
},
"sort": {
"enum": [
"name",
"-name",
"-updated_at",
"updated_at",
"-created_at",
"created_at"
],
"type": "string",
"description": "Sort order for named resources that expose created and modified timestamps."
},
"limit": {
"type": "integer",
"format": "int32",
"maximum": 100,
"minimum": 1,
"description": "Maximum number of items to return in one page."
},
"orgID": {
"type": "string",
"pattern": "^org_[a-z2-7]{26}$"
},
"cursor": {
"type": "string",
"maxLength": 1024,
"description": "Opaque pagination cursor from a previous response's next_cursor. Omit for the first page."
},
"metadata": {
"type": "object",
"description": "Metadata key/value filters, encoded as metadata[key]=value.",
"additionalProperties": {
"type": "string"
}
},
"owner_kind": {
"enum": [
"org",
"project",
"user"
],
"type": "string",
"description": "Filter by the immutable owner kind."
},
"owner_project_id": {
"type": "string",
"pattern": "^proj_[a-z2-7]{26}$",
"description": "Required with owner_kind=project and invalid with other owner kinds."
},
"mcp_oauth_flow_id": {
"type": "string",
"pattern": "^moaf_[a-z2-7]{26}$",
"description": "Filter to secrets that have a version created by this MCP OAuth flow."
}
},
"additionalProperties": false
},
"annotations": {
"title": "List secrets",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description94/100
Deletes the skill together with all of its revisions and project grants; uploaded archive content is destroyed. No other resources are deleted. Deletion is blocked while an active agent's configuration references the skill.
The description explains the capability, when to use it, and what to expect.
Inputs0/100
0 of 2 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
skillID
Not provided
Missing description. Explain what this value means and how to supply it.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description77/100
Items are ordered by created_at descending, then id descending. Without an owner filter, returns the deduplicated union of organization skills the caller may list, project skills the caller may list, and the caller's own user skills. Grants are managed separately and do not change ownership.
Describe the returned information so the agent knows whether it will answer the request.
Inputs64/100
6 of 7 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
cursor
Opaque pagination cursor from a previous response's next_cursor. Omit for the first page.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
limit
Maximum number of items to return in one page.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
name
Case-insensitive glob over the list's logical name. `*` matches zero or more characters, `?` matches one character, and `\` escapes a wildcard.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
orgID
Not provided
Missing description. Explain what this value means and how to supply it.
owner_kind
Filter by the immutable skill owner kind.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
owner_project_id
Required with owner_kind=project and invalid with other owner kinds.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
sort
Sort order for named resources that expose created and modified timestamps.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "skills_list",
"title": "List skills",
"description": "Items are ordered by created_at descending, then id descending. Without an owner filter, returns the deduplicated union of organization skills the caller may list, project skills the caller may list, and the caller's own user skills. Grants are managed separately and do not change ownership.",
"inputSchema": {
"type": "object",
"required": [
"orgID"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Case-insensitive glob over the list's logical name. `*` matches zero or more characters, `?` matches one character, and `\\` escapes a wildcard."
},
"sort": {
"enum": [
"name",
"-name",
"-updated_at",
"updated_at",
"-created_at",
"created_at"
],
"type": "string",
"description": "Sort order for named resources that expose created and modified timestamps."
},
"limit": {
"type": "integer",
"format": "int32",
"maximum": 100,
"minimum": 1,
"description": "Maximum number of items to return in one page."
},
"orgID": {
"type": "string",
"pattern": "^org_[a-z2-7]{26}$"
},
"cursor": {
"type": "string",
"maxLength": 1024,
"description": "Opaque pagination cursor from a previous response's next_cursor. Omit for the first page."
},
"owner_kind": {
"enum": [
"org",
"project",
"user"
],
"type": "string",
"description": "Filter by the immutable skill owner kind."
},
"owner_project_id": {
"type": "string",
"pattern": "^proj_[a-z2-7]{26}$",
"description": "Required with owner_kind=project and invalid with other owner kinds."
}
},
"additionalProperties": false
},
"annotations": {
"title": "List skills",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
}
omnara setup, tools, quality score, publishing readiness, and alternatives.
How do I add omnara to Claude, ChatGPT, or Cursor?
Add omnara to Claude, ChatGPT, or Cursor by connecting its remote MCP URL in each client's MCP settings. In Claude, add a custom connector. In ChatGPT, add an MCP app. In Cursor, add an MCP server under Settings. The MCP URL is https://app.omnara.com/mcp.
Is omnara MCP ready for ChatGPT and Claude?
As of October 15, 2026, omnara scores 100/100 on Manufact's MCP publishing checklist. The scan meets ChatGPT publishing checks and meets Claude publishing checks. Passing these checks does not guarantee marketplace approval.
How clear is omnara's MCP tool documentation?
As of October 15, 2026, omnara scores 59/100 in Manufact's review of tool titles, descriptions, input and output schemas, and behavior annotations. The review covers 75 of 75 discovered tools. The quality score measures documentation clarity; runtime behavior and marketplace readiness require separate checks.
What are the best alternatives to omnara?
As of October 15, 2026, alternatives to omnara in developer-tools on the Manufact MCP catalog include Held at the Gate, AgentMail, Celesto Cloud Computers, GitCafe, and Manufact Cloud.
How can omnara improve its MCP documentation?
agents_interactions_resolve is the lowest-scoring reviewed tool at 39/100. No output schema is declared. Add one for structured results so clients can interpret returned fields. Open its review for feedback and a copyable fix prompt, then rerun the documentation review after updating your tool metadata.
Not your MCP?
Review any public or OAuth MCP server for protocol compatibility, tool documentation, and ChatGPT and Claude publishing readiness. No account required.