AISub
Server Details
ChatGPT, Claude, Gemini, Perplexity and Grok subscription prices by country, with price history.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- wujieshengzhang/aisub-mcp
- GitHub Stars
- 0
TDQS
Scored across 6 tools
Each tool targets a distinct query shape: catalog discovery, cross-region plan ranking, single-region detail, per-plan history, recent global changes, and credit-pack comparison. The potentially closest pair, compare_prices and get_region_prices, is clearly separated by axis: one plan across regions versus all plans in one region.
All names use consistent snake_case verb_noun phrasing: compare_*, get_*, and list_catalog. The vocabulary is predictable and matches the read-only price-comparison domain.
Six tools is well-scoped for a read-only price-intelligence server, with no redundant endpoints. Each tool has a clear, non-overlapping role.
The surface covers catalog enumeration, cross-region comparison, region-level detail, plan history, recent changes, and credit-pack pricing. Minor gaps remain for first-class multi-product same-region comparison or credit price history, but these are workable through repeated calls and list_catalog.
Available Tools
6 toolscompare_creditsCompare credit pack pricesARead-onlyIdempotentInspect
Compare credit pack prices (extra usage credits sold on top of a subscription, such as ChatGPT credits) across regions, normalised to the price per 100 credits in one currency. Answers questions like "where are ChatGPT credits cheapest?".
| Name | Required | Description | Default |
|---|---|---|---|
| pack | No | all (default), unit for single-credit prices, or a pack quantity such as 1000. | all |
| page | No | ||
| sort | No | price_asc: cheapest per 100 credits first (default); price_desc; region: alphabetical. | price_asc |
| limit | No | ||
| locale | No | Language for region and plan names: en (default) or zh. | en |
| region | No | Optional filter by region code or name. | |
| channel | No | Sales channel: web (ChatGPT website checkout, ChatGPT only) or app_store (iOS in-app purchase). Defaults to web for ChatGPT and app_store for other products. | |
| product | No | Product: chatgpt, claude, gemini, perplexity or grok. | chatgpt |
| currency | No | ISO 4217 currency for converted reference prices, e.g. USD, CNY, EUR. Defaults to USD for en and CNY for zh. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| pack | Yes | |
| page | Yes | |
| rows | Yes | |
| channel | Yes | |
| product | Yes | |
| currency | Yes | |
| totalPages | Yes | |
| fxUpdatedAt | Yes | |
| dataUpdatedAt | Yes | |
| availablePacks | Yes | |
| matchingOffers | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds meaningful behavioral context beyond that: results are normalized to price-per-100-credits and converted into a single currency, which tells the agent how values are shaped. It omits pagination/return-format detail, but the output schema covers that.
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?
Two tightly written sentences with zero waste; the scope and normalization are front-loaded and the example follows naturally.
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 an output schema present, return values need not be explained, and the description covers purpose, scope, and normalization adequately. The main omission is explicit sibling routing, which 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 description coverage is 78%, so the schema largely documents parameters itself. The description reinforces the normalization/currency concept but adds no per-parameter syntax or defaults beyond what the schema already states, so baseline 3 is appropriate.
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 gives a specific verb and resource ('Compare credit pack prices') and clarifies scope ('extra usage credits sold on top of a subscription') plus the normalization ('price per 100 credits in one currency'). This distinguishes it well from a generic price tool, though it never explicitly contrasts with the sibling compare_prices.
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?
An example question ('where are ChatGPT credits cheapest?') implies the intended use case, but there is no explicit guidance on when to use this versus compare_prices, get_region_prices, or other siblings, and no stated exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_pricesCompare a plan's price across regionsARead-onlyIdempotentInspect
Rank the price of one subscription plan (e.g. ChatGPT Plus, Claude Pro, Google AI Pro) across countries and regions, converted to one currency. Answers questions like "where is ChatGPT Plus cheapest?" or "how much is Claude Pro in Turkey?". Prices are monthly equivalents; for yearly billing the full-year total is also given. Each response includes when the prices and exchange rates were last updated.
| Name | Required | Description | Default |
|---|---|---|---|
| tax | No | Only regions whose reference price has this tax label. | all |
| page | No | ||
| plan | No | Plan key from list_catalog, e.g. plus, pro, business (ChatGPT), claude_pro, gemini_ai_pro, perplexity_pro, supergrok. Defaults to the product's main plan. | |
| sort | No | asc: cheapest first (default); desc: most expensive first; name: alphabetical. | asc |
| limit | No | Rows per page, 1–50. | |
| locale | No | Language for region and plan names: en (default) or zh. | en |
| region | No | Optional filter by region code, name or currency, e.g. JP, Japan, 日本, EUR. | |
| channel | No | Sales channel: web (ChatGPT website checkout, ChatGPT only) or app_store (iOS in-app purchase). Defaults to web for ChatGPT and app_store for other products. | |
| product | No | Product: chatgpt, claude, gemini, perplexity or grok. | chatgpt |
| currency | No | ISO 4217 currency for converted reference prices, e.g. USD, CNY, EUR. Defaults to USD for en and CNY for zh. | |
| interval | No | Billing interval: month (default) or year. | month |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| page | Yes | |
| plan | Yes | |
| rows | Yes | |
| unit | Yes | |
| notes | Yes | |
| channel | Yes | |
| fxStale | Yes | |
| product | Yes | |
| summary | Yes | |
| currency | Yes | |
| interval | Yes | |
| planName | Yes | |
| totalPages | Yes | |
| fxUpdatedAt | Yes | |
| staleQuotes | Yes | |
| dataUpdatedAt | Yes | |
| oldestQuoteUpdatedAt | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world, non-destructive, so the safety profile is covered. The description adds genuinely useful context beyond that: prices are monthly equivalents, yearly billing also returns the full-year total, and each response reports when prices and FX rates were last updated.
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 the core action, then usage examples, then output caveats. No filler and nothing repeated from the schema verbatim.
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?
Output schema exists, so return structure need not be spelled out, and the description still flags freshness metadata. For an 11-parameter tool the description is adequate, though it says nothing about pagination or how an omitted plan resolves to the product's main plan beyond the schema note.
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 91%, so the schema already documents nearly every parameter including plan keys, sort order, currency defaults and channel behavior. The description only reinforces the 'converted to one currency' framing and does not clarify defaults or interactions 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 ('Rank the price of one subscription plan across countries and regions, converted to one currency') with concrete product examples. An agent can tell this is a cross-region price ranking, though the description never names or distinguishes itself from the close sibling get_region_prices.
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 example questions ('where is ChatGPT Plus cheapest?', 'how much is Claude Pro in Turkey?') map cleanly onto when to invoke this tool. There is no explicit exclusion or pointer to alternatives such as get_region_prices or compare_credits, so routing for ambiguous cases is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_price_historyPrice change historyARead-onlyIdempotentInspect
List the recorded price changes of one plan in one region, newest first, with the previous and new local price. Use it for questions like "has ChatGPT Plus gotten more expensive in Brazil?".
| Name | Required | Description | Default |
|---|---|---|---|
| plan | No | Plan key from list_catalog, e.g. plus, pro, business (ChatGPT), claude_pro, gemini_ai_pro, perplexity_pro, supergrok. Defaults to the product's main plan. | |
| limit | No | ||
| locale | No | Language for region and plan names: en (default) or zh. | en |
| region | Yes | Country or region as an ISO 3166 code (JP), English name (Japan) or Chinese name (日本). | |
| channel | No | Sales channel: web (ChatGPT website checkout, ChatGPT only) or app_store (iOS in-app purchase). Defaults to web for ChatGPT and app_store for other products. | |
| product | No | Product: chatgpt, claude, gemini, perplexity or grok. | chatgpt |
| interval | No | Billing interval: month (default) or year. | month |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| plan | Yes | |
| region | Yes | |
| changes | Yes | |
| channel | Yes | |
| product | Yes | |
| interval | Yes | |
| planName | Yes | |
| trackedSince | Yes | Earliest observation AISub retains for this series; no changes before it are known. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, non-destructive and closed-world traits, so the description's added value is the result ordering ('newest first') and the returned fields ('previous and new local price') — genuine behavioral context beyond the structured fields. It does not discuss volume, pagination behavior, or what happens when history is empty.
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?
Two sentences, with scope and ordering front-loaded and the example question placed last as an intent hook. Nothing is redundant with the title.
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 rich annotations, an output schema, and 86% schema coverage, the description only needs to frame scope and intent, which it does. Minor gaps remain around result volume (limit defaults to 10, max 20) and empty-history behavior, but an agent has enough to call it correctly.
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 86% and the region/plan/channel parameters are well documented in the schema itself, so the baseline of 3 applies. The description only reinforces that the tool operates on a single plan in a single region; it adds nothing about limit, locale, or interval defaults.
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: 'List the recorded price changes of one plan in one region', plus scope details (newest first, previous and new price). It does not name a sibling, but 'one plan in one region' implicitly separates it from the cross-cutting get_recent_price_changes and from get_region_prices.
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 example question ('has ChatGPT Plus gotten more expensive in Brazil?') gives a concrete when-to-use cue that maps the tool to a real intent. It stops short of naming alternatives or when-not-to-use cases, 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.
get_recent_price_changesRecent price changesARead-onlyIdempotentInspect
List monthly subscription price changes AISub recorded across all regions in the last N days, newest first. Use it for questions like "which countries changed ChatGPT prices this month?".
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Look-back window in days, 1–90. | |
| limit | No | ||
| locale | No | Language for region and plan names: en (default) or zh. | en |
| product | No | Only changes for this product. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| days | Yes | |
| total | Yes | |
| changes | Yes | |
| trackedSince | Yes |
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 genuine behavioral context beyond that: results span all regions and come back newest-first, which shapes how an agent consumes the output.
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?
Two sentences, zero waste: the core behavior leads and the concrete example follows. Every clause carries information an agent would otherwise have to infer.
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 an output schema present and all four parameters optional with documented defaults, the description covers what an agent needs to decide and call. It stops short of noting the result cap or whether empty windows return an empty list, but those gaps are minor given the structured fields.
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 75%, so the schema already documents days and locale; the description only restates the day window and implies a product example. It says nothing about the limit parameter or the default of 20 results, so it adds little beyond structured data.
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?
Specific verb and resource: 'List monthly subscription price changes AISub recorded across all regions in the last N days, newest first.' Scope and ordering are explicit, and 'recent N days' implicitly separates it from get_price_history, though no sibling is named outright.
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 example question ('which countries changed ChatGPT prices this month?') gives a clear trigger context for invocation. It does not state exclusions or point to compare_prices / get_price_history when a longer window or cross-product comparison is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_region_pricesAll plan prices in one regionARead-onlyIdempotentInspect
Show every plan price of one product in one country or region, for each sales channel and billing interval, with its rank among all regions and its difference from the United States. Answers questions like "how much does ChatGPT cost in Japan?" or "is Claude cheaper in India than in the US?".
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | Language for region and plan names: en (default) or zh. | en |
| region | Yes | Country or region as an ISO 3166 code (JP), English name (Japan) or Chinese name (日本). | |
| product | No | Product: chatgpt, claude, gemini, perplexity or grok. | chatgpt |
| currency | No | ISO 4217 currency for converted reference prices, e.g. USD, CNY, EUR. Defaults to USD for en and CNY for zh. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| notes | Yes | |
| prices | Yes | |
| region | Yes | |
| missing | Yes | |
| product | Yes | |
| currency | Yes | |
| fxUpdatedAt | Yes | |
| dataUpdatedAt | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive behavior and closed-world scope, so safety is covered. The description adds useful behavioral context by saying the result covers every sales channel, billing interval, regional rank and US price difference. It does not mention pagination or rate limits, but with rich annotations and an output schema that gap is minor.
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?
The description is front-loaded with the core operation, then uses two short example questions that earn their place by concretely illustrating the tool's use. There is no wasted text.
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?
Given the full input schema, rich annotations and the presence of an output schema, the description is complete enough for correct invocation. It communicates scope, return dimensions and intended question types without needing to repeat schema details.
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 required region parameter and the product, locale and currency options are already well documented. The description reinforces that pricing is scoped to one product and one country/region, but adds no syntax or format details beyond the schema.
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 states a specific verb and resource: show every plan price of one product in one country/region, broken down by sales channel and billing interval. It also names the extra returned context (rank and US difference), so an agent can distinguish it from sibling tools such as compare_prices or get_price_history.
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 example questions ('how much does ChatGPT cost in Japan?', 'is Claude cheaper in India than in the US?') clearly illustrate when this tool is appropriate. However, it does not explicitly name alternatives like compare_prices or compare_credits, nor does it state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_catalogList products, plans and regionsARead-onlyIdempotentInspect
List the AI subscription products, sales channels, plan keys, billing intervals and regions that AISub tracks. Call without arguments for an overview; pass a product (and optionally a channel) to also get its region codes and the currencies available for conversion. Use the returned plan keys and region codes with the other tools.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | Language for region and plan names: en (default) or zh. | en |
| channel | No | Sales channel: web (ChatGPT website checkout, ChatGPT only) or app_store (iOS in-app purchase). Defaults to web for ChatGPT and app_store for other products. | |
| product | No | Product: chatgpt, claude, gemini, perplexity or grok. |
Output Schema
| Name | Required | Description |
|---|---|---|
| products | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds genuinely new behavioral context: the response shape changes based on whether product/channel are supplied, which an agent cannot infer from annotations alone.
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?
Two tightly packed sentences with no filler; the core enumeration comes first, then the calling modes, then the downstream hand-off. Every clause carries information an agent needs.
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?
An output schema exists, so return values need not be restated, and the description covers the only ambiguity an agent faces—what changes when arguments are omitted or supplied. Nothing essential is missing for a 3-optional-param read 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 each enum. The description nonetheless adds value by explaining the conditional relationship between parameters and results (product unlocks regions/currencies, channel refines it), which is semantics beyond per-field docs.
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 names a specific verb (List) and enumerates the exact resources returned: products, sales channels, plan keys, billing intervals, regions. This immediately distinguishes it from the price-comparison siblings, which all consume these keys rather than produce them.
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 explicitly states two calling modes: bare for an overview, or with a product (and optionally a channel) to get region codes and currencies. It also tells the agent to feed the returned keys into 'the other tools,' establishing this as a prerequisite step. It stops short of naming which sibling to call next, so a 4 rather than 5.
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.
6 tool updates
- First observed
compare_credits - First observed
compare_prices - First observed
get_price_history - First observed
get_recent_price_changes - First observed
get_region_prices - First observed
list_catalog
Related MCP Connectors
Subscription pricing, trade costs, and financial data for AI agents across 5 countries.
LLM API prices across 70+ providers: cheapest offer, comparisons, history and cost estimates.
Current US streaming and VPN plan prices for AI agents: deals, filters and price history.
Verified, dated prices for 293 AI APIs in 45 markets: LLMs, GPUs, speech, video and more.
Related MCP Servers
- AlicenseAqualityAmaintenanceWhich AI model to use and what it costs: LiteLLM's price catalogue with every price change since 2023 and Arena ratings by task. Tools to find and compare models, estimate a job's cost and time, show price history and pick local or cloud; no API keys needed.11MIT
- AlicenseAqualityBmaintenanceLive LLM API pricing: current token prices, model comparisons, cheapest-model lookups, and The LLM Price Index for 150+ models across 20+ providers, re-verified daily. No API key required.41MIT
- AlicenseAqualityDmaintenanceReal-time status monitoring, uptime tracking, incident history, and API pricing for 42+ AI tools including ChatGPT, Claude, Gemini, Cursor, GitHub Copilot, Perplexity, DeepSeek, and Groq. No API key required. Data updated every 5 minutes from independent monitoring infrastructure.761 npm1MIT
- AlicenseNot gradedqualityBmaintenanceMachine-readable AI market data for AI agents: subscription prices, free credits, free LLM models, China-exclusive AI pricing. 6 MCP tools, Streamable HTTP, no auth.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.