veryfront__list_modelsmodel or allowed_models on create_agent, update_agent, or a schedule, and before telling a user a model is unavailable.
Use an exact model_id or one of its aliases.
Each deployment says where inference is processed (processing: eu, us, worldwide, or unknown; processing_label for display) and who operates it; jurisdiction is the operator’s legal domicile, not the processing location.
Prices are per 1M tokens: pricing is what the customer pays, provider_pricing is Veryfront’s upstream cost, and the *_eur_per_1m fields are EUR converted from USD at the top-level fx rate, except provider_pricing on a host that invoices in EUR, which is that host’s published EUR list (the *_usd_per_1m fields are deprecated).
Access
No external-service connection is required. Use a Veryfront credential with access to the requested resources. Call type: Read-only.Arguments
See the full schema below for the accepted shape and constraints.Example request
Send this JSON-RPC request through an initialized MCP client. Replace sample identifiers and values before calling the tool. See MCP client setup.request.json
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "veryfront__list_models",
"arguments": {}
}
}
Result
The published output shape is summarized below. Inspect both the MCP response content andisError when handling a call.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
models | object[] | Yes | List of models associated with this tool result. |
providers | string[] | Yes | List of providers associated with this tool result. |
default_model_id | string | Yes | |
fx | object | Yes | Exchange-rate metadata: one unit of base equals rate units of quote. USD-derived EUR prices divide USD by rate and round to six decimal places. |
Full schemas
{
"type": "object",
"properties": {},
"additionalProperties": false,
"description": "Arguments for the list_models tool.",
"$schema": "http://json-schema.org/draft-07/schema#"
}
{
"type": "object",
"properties": {
"models": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the returned record."
},
"model_id": {
"type": "string"
},
"provider": {
"type": "string"
},
"provider_label": {
"type": "string"
},
"surface": {
"type": "string",
"description": "Names the managed gateway wire protocol: openai, anthropic, or google. Omitted when no surface is declared; clients must tolerate future values."
},
"operations": {
"type": "array",
"items": {
"type": "string"
},
"description": "Lists operations supported on the advertised surface, such as chat-completions, responses, or messages. Present when surface is declared."
},
"name": {
"type": "string",
"description": "Human-readable name for the returned record."
},
"description": {
"type": [
"string",
"null"
],
"description": "Human-readable description returned by the tool."
},
"aliases": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of aliases associated with this tool result."
},
"capabilities": {
"type": "object",
"properties": {
"web_research": {
"type": "boolean"
},
"streaming": {
"type": "boolean"
},
"tools": {
"type": "boolean"
},
"vision": {
"type": "boolean"
},
"thinking": {
"type": "boolean"
},
"supported_parameters": {
"type": "array",
"items": {
"type": "string"
},
"description": "Lists supported request parameter names, such as temperature, top_p, tools, tool_choice, reasoning, and structured_outputs. Names depend on the model and can expand over time."
},
"reasoning": {
"type": "boolean",
"description": "Reports whether the model supports reasoning, even if no controllable reasoning mode is advertised."
},
"tool_call": {
"type": "boolean",
"description": "Reports whether the model supports function tool calls."
},
"temperature": {
"type": "boolean",
"description": "Reports whether the model accepts a temperature parameter. The separate model temperature object gives its supported range."
},
"open_weights": {
"type": "boolean",
"description": "Reports whether model weights are openly available."
},
"attachment": {
"type": "boolean",
"description": "Reports attachment support when known. Absence means the capability is not established."
},
"structured_output": {
"type": "boolean",
"description": "Reports structured-output support when known. Absence means the capability is not established."
},
"modalities": {
"type": "object",
"properties": {
"input": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of input associated with this tool result."
}
},
"required": [
"input"
],
"additionalProperties": false,
"description": "Lists supported input modalities: text, image, and audio where supported. Clients must tolerate future modality names."
},
"limit": {
"type": "object",
"properties": {
"context": {
"type": "number"
},
"output": {
"type": "number"
}
},
"additionalProperties": false,
"description": "Reports model token limits when known. context is the context-window token limit and output is the maximum generated output token count. Either field can be absent when unknown."
},
"reasoning_mode": {
"type": "string",
"description": "Names the controllable reasoning mode: budget or adaptive. Omitted when no request control is established."
},
"transport": {
"type": "string",
"description": "Names the OpenAI-compatible transport where declared: chat-completions or responses. Omitted when unspecified."
},
"reasoning_budget_tokens": {
"type": "number"
},
"chat_completions_reasoning_with_function_tools": {
"type": "boolean"
},
"chat_completions_consecutive_system_messages": {
"type": "boolean"
}
},
"required": [
"web_research",
"streaming",
"tools",
"vision",
"thinking",
"supported_parameters",
"reasoning",
"tool_call",
"temperature",
"open_weights",
"modalities"
],
"additionalProperties": false,
"description": "Structured capabilities details associated with this tool result."
},
"temperature": {
"anyOf": [
{
"type": "object",
"properties": {
"min": {
"type": "number"
},
"max": {
"type": "number"
}
},
"required": [
"min",
"max"
],
"additionalProperties": false,
"description": "Structured temperature details associated with this tool result."
},
{
"type": "null",
"description": "The temperature returned by the tool."
}
]
},
"supported_provider_tools": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of supported provider tools associated with this tool result."
},
"provider_pricing": {
"type": "object",
"properties": {
"input_eur_per_1m": {
"type": "number",
"minimum": 0,
"description": "Price in EUR per one million input tokens."
},
"output_eur_per_1m": {
"type": "number",
"minimum": 0,
"description": "Price in EUR per one million output tokens."
},
"cache_creation_input_eur_per_1m": {
"type": "number",
"minimum": 0,
"description": "Price in EUR per one million tokens written to the input cache. An omitted optional rate does not mean the dimension is free."
},
"cache_creation_1h_input_eur_per_1m": {
"type": "number",
"minimum": 0,
"description": "Price in EUR per one million tokens written to the one-hour input cache. An omitted optional rate does not mean the dimension is free."
},
"cache_read_input_eur_per_1m": {
"type": "number",
"minimum": 0,
"description": "Price in EUR per one million input tokens read from cache. An omitted optional rate does not mean the dimension is free."
},
"audio_input_eur_per_1m": {
"type": "number",
"minimum": 0,
"description": "Price in EUR per one million audio input tokens. An omitted optional rate does not mean the dimension is free."
},
"audio_output_eur_per_1m": {
"type": "number",
"minimum": 0,
"description": "Price in EUR per one million audio output tokens. An omitted optional rate does not mean the dimension is free."
},
"audio_cache_read_input_eur_per_1m": {
"type": "number",
"minimum": 0,
"description": "Price in EUR per one million audio input tokens read from cache. An omitted optional rate does not mean the dimension is free."
},
"tiers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"input_eur_per_1m": {
"$ref": "#/properties/models/items/properties/provider_pricing/properties/input_eur_per_1m",
"description": "The input eur per 1m returned by the tool."
},
"output_eur_per_1m": {
"$ref": "#/properties/models/items/properties/provider_pricing/properties/output_eur_per_1m",
"description": "The output eur per 1m returned by the tool."
},
"cache_creation_input_eur_per_1m": {
"$ref": "#/properties/models/items/properties/provider_pricing/properties/cache_creation_input_eur_per_1m",
"description": "The cache creation input eur per 1m returned by the tool."
},
"cache_creation_1h_input_eur_per_1m": {
"$ref": "#/properties/models/items/properties/provider_pricing/properties/cache_creation_1h_input_eur_per_1m",
"description": "The cache creation 1h input eur per 1m returned by the tool."
},
"cache_read_input_eur_per_1m": {
"$ref": "#/properties/models/items/properties/provider_pricing/properties/cache_read_input_eur_per_1m",
"description": "The cache read input eur per 1m returned by the tool."
},
"audio_input_eur_per_1m": {
"$ref": "#/properties/models/items/properties/provider_pricing/properties/audio_input_eur_per_1m",
"description": "The audio input eur per 1m returned by the tool."
},
"audio_output_eur_per_1m": {
"$ref": "#/properties/models/items/properties/provider_pricing/properties/audio_output_eur_per_1m",
"description": "The audio output eur per 1m returned by the tool."
},
"audio_cache_read_input_eur_per_1m": {
"$ref": "#/properties/models/items/properties/provider_pricing/properties/audio_cache_read_input_eur_per_1m",
"description": "The audio cache read input eur per 1m returned by the tool."
},
"id": {
"type": "string",
"description": "Unique identifier for the returned record."
},
"label": {
"type": "string"
},
"applies_to": {
"type": "string"
}
},
"required": [
"input_eur_per_1m",
"output_eur_per_1m",
"id",
"label",
"applies_to"
],
"additionalProperties": false
}
}
},
"required": [
"input_eur_per_1m",
"output_eur_per_1m"
],
"additionalProperties": false,
"description": "Upstream provider prices in EUR, before customer markup. A host that invoices in EUR uses its published EUR prices."
},
"deployments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tier": {
"type": "string",
"description": "Names the deployment sovereignty tier. Known tiers are qualified-sovereign, eu-owned, eu-resident, and standard; unknown means no classification is established. Clients must tolerate future values."
},
"jurisdiction": {
"type": "string",
"description": "Identifies the legal domicile of the deployment operator, distinct from the processing region."
},
"region": {
"type": "string",
"description": "Identifies where inference is processed. global means a worldwide route; unknown means the processing region is not established."
},
"processing": {
"type": "string",
"description": "Normalizes the processing location as eu, us, worldwide, or unknown."
},
"processing_label": {
"type": "string",
"description": "Provides a display label for the processing location."
},
"operator": {
"type": "string",
"description": "Identifies the legal entity operating inference, or unknown when not established."
},
"quantization": {
"type": "string",
"description": "Names the serving precision, such as bf16, fp16, fp8, nvfp4, fp4, or int4. unknown means precision is not established."
},
"precision_source": {
"type": "string",
"description": "Identifies the precision evidence: contractual, published, reported, or unknown."
},
"certifications": {
"type": "array",
"items": {
"type": "string"
},
"description": "Lists certification labels recorded for the deployment. An empty list makes no certification claim."
},
"data_retention": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"days": {
"type": "number"
}
},
"required": [
"days"
],
"additionalProperties": false,
"description": "Structured option 2 details associated with this tool result."
}
],
"description": "Describes retention: zero means no retained request data, metadata-only means only metadata is retained, days gives the recorded retention period in days, and unknown means no period is established."
},
"supported_provider_tools": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of supported provider tools associated with this tool result."
},
"pricing": {
"type": "object",
"properties": {
"input_usd_per_1m": {
"type": "number",
"minimum": 0,
"description": "Deprecated price in USD per one million input tokens. Use input_eur_per_1m."
},
"output_usd_per_1m": {
"type": "number",
"minimum": 0,
"description": "Deprecated price in USD per one million output tokens. Use output_eur_per_1m."
},
"cache_creation_input_usd_per_1m": {
"type": "number",
"minimum": 0,
"description": "Deprecated price in USD per one million tokens written to the input cache. Use cache_creation_input_eur_per_1m."
},
"cache_creation_1h_input_usd_per_1m": {
"type": "number",
"minimum": 0,
"description": "Deprecated price in USD per one million tokens written to the one-hour input cache. Use cache_creation_1h_input_eur_per_1m."
},
"cache_read_input_usd_per_1m": {
"type": "number",
"minimum": 0,
"description": "Deprecated price in USD per one million input tokens read from cache. Use cache_read_input_eur_per_1m."
},
"audio_input_usd_per_1m": {
"type": "number",
"minimum": 0,
"description": "Deprecated price in USD per one million audio input tokens. Use audio_input_eur_per_1m."
},
"audio_output_usd_per_1m": {
"type": "number",
"minimum": 0,
"description": "Deprecated price in USD per one million audio output tokens. Use audio_output_eur_per_1m."
},
"audio_cache_read_input_usd_per_1m": {
"type": "number",
"minimum": 0,
"description": "Deprecated price in USD per one million audio input tokens read from cache. Use audio_cache_read_input_eur_per_1m."
},
"input_eur_per_1m": {
"$ref": "#/properties/models/items/properties/provider_pricing/properties/input_eur_per_1m",
"description": "The input eur per 1m returned by the tool."
},
"output_eur_per_1m": {
"$ref": "#/properties/models/items/properties/provider_pricing/properties/output_eur_per_1m",
"description": "The output eur per 1m returned by the tool."
},
"cache_creation_input_eur_per_1m": {
"$ref": "#/properties/models/items/properties/provider_pricing/properties/cache_creation_input_eur_per_1m",
"description": "The cache creation input eur per 1m returned by the tool."
},
"cache_creation_1h_input_eur_per_1m": {
"$ref": "#/properties/models/items/properties/provider_pricing/properties/cache_creation_1h_input_eur_per_1m",
"description": "The cache creation 1h input eur per 1m returned by the tool."
},
"cache_read_input_eur_per_1m": {
"$ref": "#/properties/models/items/properties/provider_pricing/properties/cache_read_input_eur_per_1m",
"description": "The cache read input eur per 1m returned by the tool."
},
"audio_input_eur_per_1m": {
"$ref": "#/properties/models/items/properties/provider_pricing/properties/audio_input_eur_per_1m",
"description": "The audio input eur per 1m returned by the tool."
},
"audio_output_eur_per_1m": {
"$ref": "#/properties/models/items/properties/provider_pricing/properties/audio_output_eur_per_1m",
"description": "The audio output eur per 1m returned by the tool."
},
"audio_cache_read_input_eur_per_1m": {
"$ref": "#/properties/models/items/properties/provider_pricing/properties/audio_cache_read_input_eur_per_1m",
"description": "The audio cache read input eur per 1m returned by the tool."
}
},
"required": [
"input_usd_per_1m",
"output_usd_per_1m",
"input_eur_per_1m",
"output_eur_per_1m"
],
"additionalProperties": false,
"description": "Customer prices for this deployment, distinct from upstream provider costs."
}
},
"required": [
"tier",
"jurisdiction",
"region",
"processing",
"processing_label",
"operator",
"quantization",
"precision_source",
"certifications",
"data_retention",
"supported_provider_tools",
"pricing"
],
"additionalProperties": false
},
"description": "List of deployments associated with this tool result."
},
"is_default": {
"type": "boolean"
}
},
"required": [
"id",
"model_id",
"provider",
"provider_label",
"name",
"description",
"aliases",
"capabilities",
"temperature",
"supported_provider_tools",
"provider_pricing",
"deployments",
"is_default"
],
"additionalProperties": false
},
"description": "List of models associated with this tool result."
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of providers associated with this tool result."
},
"default_model_id": {
"type": "string"
},
"fx": {
"type": "object",
"properties": {
"base": {
"type": "string"
},
"quote": {
"type": "string"
},
"rate": {
"type": "number",
"exclusiveMinimum": 0
},
"source": {
"type": "string"
},
"date": {
"type": "string"
}
},
"required": [
"base",
"quote",
"rate",
"source",
"date"
],
"additionalProperties": false,
"description": "Exchange-rate metadata: one unit of base equals rate units of quote. USD-derived EUR prices divide USD by rate and round to six decimal places."
}
},
"required": [
"models",
"providers",
"default_model_id",
"fx"
],
"additionalProperties": false,
"description": "Structured result returned by the list_models tool.",
"$schema": "http://json-schema.org/draft-07/schema#"
}