List models — GET /v1/ai/mcp/models

Searches the model catalog — the one GET /v1/models lists — by text, class, family or capability, and answers each match with its class, family, list price (per token and per million; variable for a router billed at the answering model's price), context window and capabilities.

GET /v1/ai/mcp/models

Addresshttps://api.hanzo.ai/v1/ai/mcp/models
MethodGET
OperationaiModels
AuthAuthorization: Bearer $HANZO_API_KEY

Searches the model catalog — the one GET /v1/models lists — by text, class, family or capability, and answers each match with its class, family, list price (per token and per million; variable for a router billed at the answering model's price), context window and capabilities.

Request

5 fields.

FieldInTypeRequiredDescription
qquerystring—Q matches the model's id, name, description or owner, ignoring case.
classquerystring—Class keeps one class: premium (third-party frontier models), ours (Hanzo's priced models) or free.
familyquerystring—Family keeps one Hanzo family: enso, zen, kai or zoo.
capabilityquerystring—Capability keeps the models that have it: tools, vision or reasoning, or a modality they take or give (text, image, audio, file, video, decision).
limitqueryinteger—Limit is the most models to answer, 1 to 500; 0 answers 50.

Response

StatusBodyMeaning
200aiModelsok
defaultproblem-detailsrefused

200 body — 16 fields.

FieldInTypeAlwaysDescription
modelsbodyaiModel[]—Models are the matches, in the catalog's order.
models[].capabilitiesbodystring[]—Capabilities are tools, vision and reasoning, those the model supports.
models[].classbodystring—Class is premium, ours or free.
models[].context_windowbodyinteger (int64)—ContextWindow is the most tokens the model reads at once, absent when the catalog does not say.
models[].familybodystring—Family is the Hanzo family (enso, zen, kai, zoo), absent for a third-party model.
models[].idbodystring—ID is the model's id, the one a completion or a decision names.
models[].inputsbodystring[]—Inputs are the modalities the model reads.
models[].namebodystring—Name is the model's display name.
models[].outputsbodystring[]—Outputs are the modalities the model writes.
models[].pricingbodyaiPrice—
models[].pricing.completionbodystring—Completion is the price of one output token, a decimal string.
models[].pricing.input_per_millionbodynumber (double)—InputPerMillion is the price of a million input tokens.
models[].pricing.output_per_millionbodynumber (double)—OutputPerMillion is the price of a million output tokens.
models[].pricing.promptbodystring—Prompt is the price of one input token, a decimal string.
models[].pricing.variablebodyboolean—Variable is true for a router that bills each answer at the price of the model that gave it; the figures above are then that router's ceiling.
totalbodyinteger (int64)—Total is how many models matched, before Limit.

Failure carries the platform error shape — see Errors.

Examples

hanzo has no subcommand for this operation — the CLI serves only what cloud's live route table confirms. Use HTTP or an SDK.

import { Configuration, AiApi } from 'hanzoai';

const api = new AiApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.aiModels();
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import AiApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = AiApi(client).ai_models()
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.AiAPI.AiModels(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, ai_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = ai_api::ai_models(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.AiApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new AiApi(client).aiModels();
curl https://api.hanzo.ai/v1/ai/mcp/models \
  -H "Authorization: Bearer $HANZO_API_KEY"

MCP declares no tool for ai — tools/list on https://api.hanzo.ai/v1/mcp names the products it does reach. Use HTTP or an SDK.


AI API · All Hanzo APIs · Interactive reference

Was this page useful?