ChinaAPI
Server Details
Read-only ChinaAPI model catalogue, price snapshot, cost estimates and request recipes.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: list_models for browsing, get_model for one model's full details, estimate_cost for computing workload cost, and get_recipe for generating runnable request code. There is no meaningful overlap; descriptions explicitly cross-reference each other to steer selection.
All tools follow a strict chinaapi_ prefix plus verb_noun pattern: list_models, get_model, get_recipe, estimate_cost. This is predictable and easy to scan.
Four tools is well-scoped for a read-only model catalog/pricing/usage service. Each tool earns its place: discovery, detail, cost estimation, and request generation.
The surface covers browsing, detail retrieval, cost estimation, and runnable recipes, which is the core lifecycle for this domain. Minor gaps exist, such as no direct multi-model cost comparison or maker/capability listing, but agents can work around these via list_models filters.
Available Tools
4 toolschinaapi_estimate_costEstimate a ChinaAPI costARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | Exact, case-sensitive model ID as returned by chinaapi_list_models. | |
| images | No | Quantity in images for the image_n meter. | |
| requests | No | Quantity in requests for the per_call meter. | |
| characters | No | Quantity in characters for the input meter (models billed in characters). | |
| input_tokens | No | Quantity in tokens for the input meter (models billed in tokens). | |
| audio_seconds | No | Quantity in audio seconds for the input meter (models billed in audio_duration). | |
| output_tokens | No | Quantity in tokens for the output meter (models billed in tokens). | |
| video_seconds | No | Quantity in seconds for the video_second meter. | |
| context_tokens | No | 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 | No | Quantity in tokens for the cache_read meter (models billed in tokens). | |
| audio_input_tokens | No | Quantity in tokens for the audio_input meter (models billed in tokens). | |
| cache_write_tokens | No | Quantity in tokens for the cache_write meter (models billed in tokens). | |
| image_input_tokens | No | Quantity in tokens for the image_input meter (models billed in tokens). | |
| audio_output_tokens | No | Quantity in tokens for the audio_output meter (models billed in tokens). | |
| image_output_tokens | No | Quantity in tokens for the image_output meter (models billed in tokens). | |
| cache_write_1h_tokens | No | Quantity in tokens for the cache_write_1h meter (models billed in tokens). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (readOnly, idempotent, closed-world), so the description carries the interesting burden and does: it discloses the tier selection rule (Standard, plus Paid where lower), tier-by-tier estimation for tiered models, the refusal behaviour for quantities a model does not price, and the estimate-vs-quote caveat. That is real behavioural context an agent could not derive from the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and basis are front-loaded, and every clause carries information (units, refusal, tiering, disclaimer) with no filler. The one weak spot is the compressed clause 'Standard, and Paid where it is lower', whose meaning is not fully unpacked.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 16-parameter, no-output-schema computation tool the description covers the hard parts: units, tiering, refusal and the estimate caveat. It never describes the shape of the returned estimate (a single figure versus a per-meter breakdown), which is the remaining gap given there is no output schema to fall back on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the per-parameter descriptions already define each meter, and the baseline would be 3. The description adds a genuine layer on top by mapping meters to model categories ('tokens for text models, characters for speech synthesis, audio seconds for transcription, requests, images or video seconds'), which tells the agent which parameters belong together for a given model.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Estimate the USD cost of a workload on one model') and frames the basis of the estimate ('from its published per-meter prices'), which cleanly separates it from the sibling read tools chinaapi_get_model, chinaapi_list_models and chinaapi_get_recipe.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete invocation context: quantities must be passed in the model's own units, with the unit mapping spelled out per modality, and unpriceable quantities are refused. It stops short of naming the sibling alternatives (e.g. list_models to obtain the model ID) or stating explicit when-not conditions, so it is clear context rather than full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chinaapi_get_modelGet a ChinaAPI modelARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | Exact, case-sensitive model ID as returned by chinaapi_list_models. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely new behavioral context: the price snapshot includes the time it was read and price-book versions, and it explicitly warns that the live price on the model page is authoritative — a data-freshness caveat an agent could not infer from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One long but front-loaded sentence: the action and identifier lead, the return inventory follows, and the authoritative-price caveat is last. Dense, but every clause maps to information an agent would otherwise have to discover, so there is little waste despite the run-on structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing returns, and it does so thoroughly (URLs/endpoints, prices with timestamps, context window, modalities, limits, links). It is complete enough to call correctly; only the vague 'capability contract' and 'limits' phrasing keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter whose pattern, length bounds, and source-of-truth ('as returned by chinaapi_list_models') are already documented in the schema. The description's 'exact ID' wording reinforces case-sensitivity but adds no syntax or format detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — 'Get one model by its exact ID' — and then enumerates the payload so the agent knows exactly what class of data this returns. It is clearly distinguishable from the sibling chinaapi_list_models (single-record lookup vs. collection listing).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'by its exact ID' phrasing plus the schema note that the ID comes 'as returned by chinaapi_list_models' establishes the correct call sequence (list then get). There is no explicit when-not-to-use statement or named alternative for bulk retrieval, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chinaapi_get_recipeGet a ChinaAPI request recipeARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| agent | No | Also return the configuration that points this coding agent at ChinaAPI, as ChinaAPI's /agents page shows it. | |
| model | Yes | Exact, case-sensitive model ID as returned by chinaapi_list_models. | |
| protocol | No | 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 | No | Which of the model's capabilities the request is for; defaults to its first published capability. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish a safe read-only, idempotent behavior, and the description adds genuinely new context: the placeholder-key requirement ('The request uses $CHINAAPI_KEY; never put a real key into it') and the fact that video recipes include a distinct polling step. It stops short of stating rate limits or whether the tool itself performs the polling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, zero filler, and front-loaded with the list of returned artifacts so the agent knows the payload shape immediately. The security constraint closes the description rather than cluttering the opening.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly compensates by enumerating the return contents (endpoint, headers, body/form, curl, polling step). It does not clarify whether the polling step is executable code or descriptive text, a minor residual gap for a recipe-generation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents model, agent, protocol, and capability with enums and defaults; the description adds only marginal framing (agent config is optional, model must match list_models output). Baseline 3 is appropriate when the schema carries the parameter burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get a runnable request for one model') and enumerates the concrete artifacts returned: endpoint, headers, JSON body or multipart form, a curl command, and the video polling step. This is clearly distinguishable from siblings like chinaapi_list_models or chinaapi_estimate_cost without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the agent can infer it needs an exact model ID from chinaapi_list_models first, and the optional agent parameter reveals a configuration-retrieval mode. But there is no explicit when-to-use/when-not guidance or direct comparison to the sibling tools, leaving the agent to infer the call sequence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chinaapi_list_modelsList ChinaAPI modelsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| task | No | A task within a capability, e.g. image-to-video or transcription. Must belong to capability when both are given. | |
| limit | No | Models per page. | |
| maker | No | Maker name exactly as returned in maker (case-insensitive), e.g. DeepSeek. | |
| query | No | Case-insensitive substring of the model ID. | |
| cursor | No | next_cursor from the previous page. | |
| capability | No | Capability direction: text-multimodal (chat, reasoning, coding, vision), image, video, audio-speech or decision. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world). The description adds genuinely new behavior: sort order (maker then model ID), cursor-based pagination, and the per-entry payload. It stops short of stating page-size behavior or empty-result handling, so a 4 rather than a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose and filtering before return shape and the sibling pointer. Slightly dense in the middle sentence where price details ('headline Standard prices and Paid prices where they are lower') could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates what each entry contains and documents pagination via cursor, which the schema only hints at. It omits guidance on cursor exhaustion or empty pages, a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and every parameter is fully documented in the schema, including enums and the capability/task dependency. The description only restates the filter dimensions, adding no syntax or format detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('List the models ChinaAPI serves') plus the filterable dimensions, and explicitly contrasts itself with chinaapi_get_model. An agent can distinguish it from the sibling without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names the alternative tool and the exact condition that selects it: 'Use chinaapi_get_model for one model's endpoints, full prices and limits.' Combined with the enumeration of optional filters, routing is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
chinaapi_estimate_cost - First observed
chinaapi_get_model - First observed
chinaapi_get_recipe - First observed
chinaapi_list_models
Related MCP Connectors
Read-only Autonomy capability, schema, status and pricing discovery. Paid execution remains paused.
Find governed AI capabilities and verify signed receipts. Read-only, no account.
Open AI models through one OpenAI-compatible API: chat, live model list, prices and cost estimates.
Compare up-to-date pricing for 40+ LLMs (incl. Chinese) & estimate cost from tokens. EN/zh.
Related MCP Servers
- AlicenseCqualityAmaintenanceRead-only MCP server that exposes public TokenLab model catalog tools for agents to discover models, inspect request contracts, and compare pricing.32876 npmMIT
- -licenseNot gradedqualityNot gradedmaintenanceEnables discovery of public AI models with pricing, documentation context, and OpenAI-compatible integration examples. Supports both read-only queries and paid async media generation tasks.-
- AlicenseAqualityCmaintenanceProvides read-only access to Gemini 3 Online's knowledge surface (models, pricing, links, FAQ) for MCP-compatible AI clients, requiring no API keys.3MIT
- AlicenseAqualityAmaintenanceDaily-verified LLM API pricing dataset (44+ models, CN & global) with a hosted MCP server for live price queries and token cost estimation.2CC BY-4.0
Glama MCP Gateway
Add one secure layer between your agents and this server.