Read-only ChinaAPI model catalogue, price snapshot, cost estimates and request recipes.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Estimate the USD cost of a workload on one model from its published per-meter prices: Standard, and Paid where it is lower. Pass quantities in the model's own units — tokens for text models, characters for speech synthesis, audio seconds for transcription, requests, images or video seconds for per-call and per-second models; a quantity the model does not price is refused. Tiered models are estimated tier by tier. The result is an estimate, not a quote.
Exact, case-sensitive model ID as returned by chinaapi_list_models.
Quantity in images for the image_n meter.
Quantity in requests for the per_call meter.
Quantity in characters for the input meter (models billed in characters).
Quantity in tokens for the input meter (models billed in tokens).
Quantity in audio seconds for the input meter (models billed in audio_duration).
Quantity in tokens for the output meter (models billed in tokens).
Quantity in seconds for the video_second meter.
Input context length used to choose a context-length tier. Only for models whose tiers depend on context length; defaults to the input and cache tokens.
Quantity in tokens for the cache_read meter (models billed in tokens).
Quantity in tokens for the audio_input meter (models billed in tokens).
Quantity in tokens for the cache_write meter (models billed in tokens).
Quantity in tokens for the image_input meter (models billed in tokens).
Quantity in tokens for the audio_output meter (models billed in tokens).
Quantity in tokens for the image_output meter (models billed in tokens).
Quantity in tokens for the cache_write_1h meter (models billed in tokens).
Estimate the USD cost of a workload on one model from its published per-meter prices: Standard, and Paid where it is lower. Pass quantities in the model's own units — tokens for text models, characters for speech synthesis, audio seconds for transcription, requests, images or video seconds for per-call and per-second models; a quantity the model does not price is refused. Tiered models are estimated tier by tier. The result is an estimate, not a quote.
| Argument | Type | Description |
|---|---|---|
| model* | string | Exact, case-sensitive model ID as returned by chinaapi_list_models. |
| images | integer | Quantity in images for the image_n meter. |
| requests | integer | Quantity in requests for the per_call meter. |
| characters | integer | Quantity in characters for the input meter (models billed in characters). |
| input_tokens | integer | Quantity in tokens for the input meter (models billed in tokens). |
| audio_seconds | integer | Quantity in audio seconds for the input meter (models billed in audio_duration). |
| output_tokens | integer | Quantity in tokens for the output meter (models billed in tokens). |
| video_seconds | integer | Quantity in seconds for the video_second meter. |
| context_tokens | integer | Input context length used to choose a context-length tier. Only for models whose tiers depend on context length; defaults to the input and cache tokens. |
| cache_read_tokens | integer | Quantity in tokens for the cache_read meter (models billed in tokens). |
| audio_input_tokens | integer | Quantity in tokens for the audio_input meter (models billed in tokens). |
| cache_write_tokens | integer | Quantity in tokens for the cache_write meter (models billed in tokens). |
| image_input_tokens | integer | Quantity in tokens for the image_input meter (models billed in tokens). |
| audio_output_tokens | integer | Quantity in tokens for the audio_output meter (models billed in tokens). |
| image_output_tokens | integer | Quantity in tokens for the image_output meter (models billed in tokens). |
| cache_write_1h_tokens | integer | Quantity in tokens for the cache_write_1h meter (models billed in tokens). |
{
"type": "object",
"required": [
"model"
],
"properties": {
"model": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$",
"maxLength": 128,
"minLength": 1,
"description": "Exact, case-sensitive model ID as returned by chinaapi_list_models."
},
"images": {
"type": "integer",
"maximum": 100000000,
"minimum": 0,
"description": "Quantity in images for the image_n meter."
},
"requests": {
"type": "integer",
"maximum": 100000000,
"minimum": 0,
"description": "Quantity in requests for the per_call meter."
},
"characters": {
"type": "integer",
"maximum": 10000000000,
"minimum": 0,
"description": "Quantity in characters for the input meter (models billed in characters)."
},
"input_tokens": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0,
"description": "Quantity in tokens for the input meter (models billed in tokens)."
},
"audio_seconds": {
"type": "integer",
"maximum": 100000000,
"minimum": 0,
"description": "Quantity in audio seconds for the input meter (models billed in audio_duration)."
},
"output_tokens": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0,
"description": "Quantity in tokens for the output meter (models billed in tokens)."
},
"video_seconds": {
"type": "integer",
"maximum": 100000000,
"minimum": 0,
"description": "Quantity in seconds for the video_second meter."
},
"context_tokens": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0,
"description": "Input context length used to choose a context-length tier. Only for models whose tiers depend on context length; defaults to the input and cache tokens."
},
"cache_read_tokens": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0,
"description": "Quantity in tokens for the cache_read meter (models billed in tokens)."
},
"audio_input_tokens": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0,
"description": "Quantity in tokens for the audio_input meter (models billed in tokens)."
},
"cache_write_tokens": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0,
"description": "Quantity in tokens for the cache_write meter (models billed in tokens)."
},
"image_input_tokens": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0,
"description": "Quantity in tokens for the image_input meter (models billed in tokens)."
},
"audio_output_tokens": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0,
"description": "Quantity in tokens for the audio_output meter (models billed in tokens)."
},
"image_output_tokens": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0,
"description": "Quantity in tokens for the image_output meter (models billed in tokens)."
},
"cache_write_1h_tokens": {
"type": "integer",
"maximum": 1000000000000,
"minimum": 0,
"description": "Quantity in tokens for the cache_write_1h meter (models billed in tokens)."
}
},
"additionalProperties": false
}Get one model by its exact ID: base URL and endpoints, the Standard and Paid price snapshot per meter with the time it was read and the price-book versions, context window and modalities, capability contract, limits, and ChinaAPI links (model page, a start link to try it, the agents guide). The live price on the model page is authoritative.
| Argument | Type | Description |
|---|---|---|
| model* | string | Exact, case-sensitive model ID as returned by chinaapi_list_models. |
{
"type": "object",
"required": [
"model"
],
"properties": {
"model": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$",
"maxLength": 128,
"minLength": 1,
"description": "Exact, case-sensitive model ID as returned by chinaapi_list_models."
}
},
"additionalProperties": false
}Get a runnable request for one model — endpoint, headers, JSON body or multipart form, a curl command, and for video the polling step — exactly as ChinaAPI's /agents page shows it. Optionally include the configuration that points a coding agent (Claude Code, Codex, Cursor, …) at ChinaAPI. The request uses $CHINAAPI_KEY; never put a real key into it.
| Argument | Type | Description |
|---|---|---|
| agent | string | Also return the configuration that points this coding agent at ChinaAPI, as ChinaAPI's /agents page shows it. |
| model* | string | Exact, case-sensitive model ID as returned by chinaapi_list_models. |
| protocol | string | Inbound protocol for text models: openai (/v1/chat/completions), anthropic (/v1/messages) or responses (/v1/responses). Defaults to the agent's protocol, else openai. |
| capability | string | Which of the model's capabilities the request is for; defaults to its first published capability. |
{
"type": "object",
"required": [
"model"
],
"properties": {
"agent": {
"enum": [
"Hermes Agent",
"Claude Code",
"Cline",
"Kilo Code",
"pi",
"Codex",
"Oh-My-Pi",
"OpenClaw",
"DeepSeek Harness",
"OpenHands",
"Cursor",
"Zed Editor",
"Strix",
"goose",
"Qwen Code",
"GitHub Copilot",
"opencode",
"Open Interpreter",
"Crush"
],
"type": "string",
"description": "Also return the configuration that points this coding agent at ChinaAPI, as ChinaAPI's /agents page shows it."
},
"model": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$",
"maxLength": 128,
"minLength": 1,
"description": "Exact, case-sensitive model ID as returned by chinaapi_list_models."
},
"protocol": {
"enum": [
"anthropic",
"openai",
"responses"
],
"type": "string",
"description": "Inbound protocol for text models: openai (/v1/chat/completions), anthropic (/v1/messages) or responses (/v1/responses). Defaults to the agent's protocol, else openai."
},
"capability": {
"enum": [
"text-multimodal",
"image",
"video",
"audio-speech",
"decision"
],
"type": "string",
"description": "Which of the model's capabilities the request is for; defaults to its first published capability."
}
},
"additionalProperties": false
}List the models ChinaAPI serves, optionally filtered by capability, task, maker or a model-ID substring. Each entry has the exact model ID, maker, capabilities and tasks, context window, headline Standard prices (and Paid prices where they are lower) and the model's ChinaAPI page. Sorted by maker, then model ID; page with cursor. Use chinaapi_get_model for one model's endpoints, full prices and limits.
| Argument | Type | Description |
|---|---|---|
| task | string | A task within a capability, e.g. image-to-video or transcription. Must belong to capability when both are given. |
| limit | integer | Models per page. |
| maker | string | Maker name exactly as returned in maker (case-insensitive), e.g. DeepSeek. |
| query | string | Case-insensitive substring of the model ID. |
| cursor | string | next_cursor from the previous page. |
| capability | string | Capability direction: text-multimodal (chat, reasoning, coding, vision), image, video, audio-speech or decision. |
{
"type": "object",
"properties": {
"task": {
"enum": [
"chat",
"reasoning",
"coding",
"vision",
"file-video-understanding",
"text-to-image",
"image-to-image",
"image-editing",
"high-resolution",
"text-to-video",
"image-to-video",
"first-last-frame",
"reference-to-video",
"video-editing",
"video-with-audio",
"text-to-speech",
"transcription",
"voice-cloning",
"voice-design",
"audio-understanding",
"music-generation",
"audio-generation",
"structured-decision"
],
"type": "string",
"description": "A task within a capability, e.g. image-to-video or transcription. Must belong to capability when both are given."
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1,
"description": "Models per page."
},
"maker": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Maker name exactly as returned in maker (case-insensitive), e.g. DeepSeek."
},
"query": {
"type": "string",
"pattern": "^[A-Za-z0-9._:/-]+$",
"maxLength": 64,
"minLength": 2,
"description": "Case-insensitive substring of the model ID."
},
"cursor": {
"type": "string",
"pattern": "^[0-9]{1,6}$",
"description": "next_cursor from the previous page."
},
"capability": {
"enum": [
"text-multimodal",
"image",
"video",
"audio-speech",
"decision"
],
"type": "string",
"description": "Capability direction: text-multimodal (chat, reasoning, coding, vision), image, video, audio-speech or decision."
}
},
"additionalProperties": false
}