Skip to main content
Glama

Server Details

ChatGPT, Claude, Gemini, Perplexity and Grok subscription prices by country, with price history.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
wujieshengzhang/aisub-mcp
GitHub Stars
0

TDQS

A4.2/5.0

Scored across 6 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

Six tools is well-scoped for a read-only price-intelligence server, with no redundant endpoints. Each tool has a clear, non-overlapping role.

Completeness4/5

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 tools
compare_creditsCompare credit pack pricesA
Read-onlyIdempotent
Inspect

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?".

NameRequiredDescriptionDefault
packNoall (default), unit for single-credit prices, or a pack quantity such as 1000.all
pageNo
sortNoprice_asc: cheapest per 100 credits first (default); price_desc; region: alphabetical.price_asc
limitNo
localeNoLanguage for region and plan names: en (default) or zh.en
regionNoOptional filter by region code or name.
channelNoSales 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.
productNoProduct: chatgpt, claude, gemini, perplexity or grok.chatgpt
currencyNoISO 4217 currency for converted reference prices, e.g. USD, CNY, EUR. Defaults to USD for en and CNY for zh.

Output Schema

NameRequiredDescription
urlYes
packYes
pageYes
rowsYes
channelYes
productYes
currencyYes
totalPagesYes
fxUpdatedAtYes
dataUpdatedAtYes
availablePacksYes
matchingOffersYes

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 regionsA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
taxNoOnly regions whose reference price has this tax label.all
pageNo
planNoPlan 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.
sortNoasc: cheapest first (default); desc: most expensive first; name: alphabetical.asc
limitNoRows per page, 1–50.
localeNoLanguage for region and plan names: en (default) or zh.en
regionNoOptional filter by region code, name or currency, e.g. JP, Japan, 日本, EUR.
channelNoSales 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.
productNoProduct: chatgpt, claude, gemini, perplexity or grok.chatgpt
currencyNoISO 4217 currency for converted reference prices, e.g. USD, CNY, EUR. Defaults to USD for en and CNY for zh.
intervalNoBilling interval: month (default) or year.month

Output Schema

NameRequiredDescription
urlYes
pageYes
planYes
rowsYes
unitYes
notesYes
channelYes
fxStaleYes
productYes
summaryYes
currencyYes
intervalYes
planNameYes
totalPagesYes
fxUpdatedAtYes
staleQuotesYes
dataUpdatedAtYes
oldestQuoteUpdatedAtYes

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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 historyA
Read-onlyIdempotent
Inspect

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?".

NameRequiredDescriptionDefault
planNoPlan 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.
limitNo
localeNoLanguage for region and plan names: en (default) or zh.en
regionYesCountry or region as an ISO 3166 code (JP), English name (Japan) or Chinese name (日本).
channelNoSales 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.
productNoProduct: chatgpt, claude, gemini, perplexity or grok.chatgpt
intervalNoBilling interval: month (default) or year.month

Output Schema

NameRequiredDescription
urlYes
planYes
regionYes
changesYes
channelYes
productYes
intervalYes
planNameYes
trackedSinceYesEarliest observation AISub retains for this series; no changes before it are known.

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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 changesA
Read-onlyIdempotent
Inspect

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?".

NameRequiredDescriptionDefault
daysNoLook-back window in days, 1–90.
limitNo
localeNoLanguage for region and plan names: en (default) or zh.en
productNoOnly changes for this product.

Output Schema

NameRequiredDescription
urlYes
daysYes
totalYes
changesYes
trackedSinceYes

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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 regionA
Read-onlyIdempotent
Inspect

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?".

NameRequiredDescriptionDefault
localeNoLanguage for region and plan names: en (default) or zh.en
regionYesCountry or region as an ISO 3166 code (JP), English name (Japan) or Chinese name (日本).
productNoProduct: chatgpt, claude, gemini, perplexity or grok.chatgpt
currencyNoISO 4217 currency for converted reference prices, e.g. USD, CNY, EUR. Defaults to USD for en and CNY for zh.

Output Schema

NameRequiredDescription
urlYes
notesYes
pricesYes
regionYes
missingYes
productYes
currencyYes
fxUpdatedAtYes
dataUpdatedAtYes

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 regionsA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
localeNoLanguage for region and plan names: en (default) or zh.en
channelNoSales 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.
productNoProduct: chatgpt, claude, gemini, perplexity or grok.

Output Schema

NameRequiredDescription
productsYes

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 6 tool updates
    • First observedcompare_credits
    • First observedcompare_prices
    • First observedget_price_history
    • First observedget_recent_price_changes
    • First observedget_region_prices
    • First observedlist_catalog

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Which 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.
    11
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Live 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.
    4
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Real-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.
    7
    61 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Machine-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
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.