Skip to main content
Glama

Fmind Freelance AI Architect Website

Compare LLM hosting costs

compare_llm_hosting
Read-only

Compare a GKE infrastructure budget with managed APIs. Call with parameters={} for defaults and supported models, hardware, and plans. Simple mode accepts preset, model, billing, requests (calls/day), and window (auto, 24, 8, or 1 hour/day); set mode=simple when overriding requests. It sizes replicas under illustrative throughput assumptions. Interactive presets run 24/7; job and pipeline presets schedule running hours inside active windows. Commitments bill idle hours. Advanced mode keeps the fleet fixed and exposes custom token budgets, throughput, and running time. Break-even holds that fleet fixed and checks its capacity. Totals include compute and GKE; operations and additional services are excluded. Returns assumptions, USD costs, constraints, sources, and a shareable URL. Invalid inputs fail; no resources are provisioned. See /agents#calculator.

Input Schema

NameRequiredDescriptionDefault
parametersYesCalculator URL parameters as strings; use an empty object for defaults and available choices.

Output Schema

NameRequiredDescriptionDefault
apisYes
tasksYes
unitsYes
inputsYes
modelsYes
latencyYes
presetsYes
sourcesYes
estimateYes
node_poolsYes
parametersYes
validationYes
limitationsYes
scenario_urlYes
calculated_onYes
quantizationsYes
snapshot_dateYes
comparison_readyYes
model_comparisonsYes
pilot_configurationYes
precision_comparisonsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed36 schema fields changed
    • addedOutput schema / $defs / DemandPreset / properties / scheduled
      Added value: +{
      +  "default": false,
      +  "title": "Scheduled",
      +  "type": "boolean"
      +}
    • addedOutput schema / $defs / DemandPreset / properties / window_hours
      Added value: +{
      +  "default": 24,
      +  "title": "Window Hours",
      +  "type": "number"
      +}
    • removedOutput schema / $defs / FrontierModel / properties / analysis_url
      Removed value: -{
      -  "title": "Analysis Url",
      -  "type": "string"
      -}
    • addedOutput schema / $defs / FrontierModel / properties / checkpoint_memory
      Added value: +{
      +  "default": [],
      +  "items": {
      +    "maxItems": 2,
      +    "minItems": 2,
      +    "prefixItems": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "number"
      +      }
      +    ],
      +    "type": "array"
      +  },
      +  "title": "Checkpoint Memory",
      +  "type": "array"
      +}
    • addedOutput schema / $defs / FrontierModel / properties / checkpoint_urls
      Added value: +{
      +  "default": [],
      +  "items": {
      +    "maxItems": 2,
      +    "minItems": 2,
      +    "prefixItems": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "string"
      +      }
      +    ],
      +    "type": "array"
      +  },
      +  "title": "Checkpoint Urls",
      +  "type": "array"
      +}
    • addedOutput schema / $defs / FrontierModel / properties / default_quantization
      Added value: +{
      +  "default": "fp16",
      +  "title": "Default Quantization",
      +  "type": "string"
      +}
    • addedOutput schema / $defs / FrontierModel / properties / deployment_issue
      Added value: +{
      +  "default": "",
      +  "title": "Deployment Issue",
      +  "type": "string"
      +}
    • removedOutput schema / $defs / FrontierModel / properties / intelligence
      Removed value: -{
      -  "title": "Intelligence",
      -  "type": "number"
      -}
    • removedOutput schema / $defs / FrontierModel / properties / minimum_node_id
      Removed value: -{
      -  "title": "Minimum Node Id",
      -  "type": "string"
      -}
    • removedOutput schema / $defs / FrontierModel / properties / minimum_nodes
      Removed value: -{
      -  "title": "Minimum Nodes",
      -  "type": "integer"
      -}
    • addedOutput schema / $defs / FrontierModel / properties / node_context_limits
      Added value: +{
      +  "default": [],
      +  "items": {
      +    "maxItems": 2,
      +    "minItems": 2,
      +    "prefixItems": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "integer"
      +      }
      +    ],
      +    "type": "array"
      +  },
      +  "title": "Node Context Limits",
      +  "type": "array"
      +}
    • addedOutput schema / $defs / FrontierModel / properties / node_minimums
      Added value: +{
      +  "default": [],
      +  "items": {
      +    "maxItems": 2,
      +    "minItems": 2,
      +    "prefixItems": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "integer"
      +      }
      +    ],
      +    "type": "array"
      +  },
      +  "title": "Node Minimums",
      +  "type": "array"
      +}
    • removedOutput schema / $defs / FrontierModel / properties / rank
      Removed value: -{
      -  "title": "Rank",
      -  "type": "integer"
      -}
    • addedOutput schema / $defs / FrontierModel / properties / recipe_url
      Added value: +{
      +  "default": "",
      +  "title": "Recipe Url",
      +  "type": "string"
      +}
    • addedOutput schema / $defs / FrontierModel / properties / required_node_ids
      Added value: +{
      +  "default": [],
      +  "items": {
      +    "type": "string"
      +  },
      +  "title": "Required Node Ids",
      +  "type": "array"
      +}
    • addedOutput schema / $defs / FrontierModel / properties / supported_quantizations
      Added value: +{
      +  "default": [
      +    "fp4",
      +    "fp8",
      +    "fp16"
      +  ],
      +  "items": {
      +    "type": "string"
      +  },
      +  "title": "Supported Quantizations",
      +  "type": "array"
      +}
    • changedOutput schema / $defs / FrontierModel / required
      Previous value: -[
      -  "id",
      -  "rank",
      -  "name",
      -  "creator",
      -  "intelligence",
      -  "parameters_b",
      -  "active_parameters",
      -  "context_tokens",
      -  "license",
      -  "license_class",
      -  "analysis_url",
      -  "weights_url",
      -  "minimum_node_id",
      -  "minimum_nodes"
      -]New value: +[
      +  "id",
      +  "name",
      +  "creator",
      +  "parameters_b",
      +  "active_parameters",
      +  "context_tokens",
      +  "license",
      +  "license_class",
      +  "weights_url"
      +]
    • addedOutput schema / $defs / HostingEstimate / properties / capacity_requests_month
      Added value: +{
      +  "title": "Capacity Requests Month",
      +  "type": "integer"
      +}
    • addedOutput schema / $defs / HostingEstimate / properties / compatibility_issue
      Added value: +{
      +  "title": "Compatibility Issue",
      +  "type": "string"
      +}
    • addedOutput schema / $defs / HostingEstimate / properties / daily_demand_fits
      Added value: +{
      +  "title": "Daily Demand Fits",
      +  "type": "boolean"
      +}
    • removedOutput schema / $defs / HostingEstimate / properties / platform_monthly_usd
      Removed value: -{
      -  "title": "Platform Monthly Usd",
      -  "type": "number"
      -}
    • addedOutput schema / $defs / HostingEstimate / properties / required_output_tokens_per_second
      Added value: +{
      +  "title": "Required Output Tokens Per Second",
      +  "type": "number"
      +}
    • addedOutput schema / $defs / HostingEstimate / properties / usable_output_tokens_per_second
      Added value: +{
      +  "title": "Usable Output Tokens Per Second",
      +  "type": "number"
      +}
    • addedOutput schema / $defs / HostingEstimate / properties / window_capacity_pct
      Added value: +{
      +  "title": "Window Capacity Pct",
      +  "type": "number"
      +}
    • changedOutput schema / $defs / HostingEstimate / required
      Previous value: -[
      -  "weight_memory_gb",
      -  "required_memory_gb",
      -  "nodes_per_replica",
      -  "total_nodes",
      -  "total_gpus",
      -  "compute_monthly_usd",
      -  "control_monthly_usd",
      -  "platform_monthly_usd",
      -  "total_monthly_usd",
      -  "capacity_tokens_month",
      -  "capacity_requests_day",
      -  "requests_month",
      -  "input_tokens_month",
      -  "output_tokens_month",
      -  "demand_capacity_pct",
      -  "per_thousand_requests_usd",
      -  "demand_fits",
      -  "context_issue",
      -  "topology_confirmed",
      -  "qualified"
      -]New value: +[
      +  "weight_memory_gb",
      +  "required_memory_gb",
      +  "nodes_per_replica",
      +  "total_nodes",
      +  "total_gpus",
      +  "compute_monthly_usd",
      +  "control_monthly_usd",
      +  "total_monthly_usd",
      +  "capacity_tokens_month",
      +  "capacity_requests_day",
      +  "requests_month",
      +  "input_tokens_month",
      +  "output_tokens_month",
      +  "demand_capacity_pct",
      +  "window_capacity_pct",
      +  "required_output_tokens_per_second",
      +  "usable_output_tokens_per_second",
      +  "capacity_requests_month",
      +  "per_thousand_requests_usd",
      +  "demand_fits",
      +  "context_issue",
      +  "topology_confirmed",
      +  "qualified",
      +  "compatibility_issue",
      +  "daily_demand_fits"
      +]
    • addedOutput schema / $defs / HostingInputs / properties / demand_window_hours
      Added value: +{
      +  "title": "Demand Window Hours",
      +  "type": "number"
      +}
    • addedOutput schema / $defs / HostingInputs / properties / mode
      Added value: +{
      +  "default": "advanced",
      +  "title": "Mode",
      +  "type": "string"
      +}
    • removedOutput schema / $defs / HostingInputs / properties / platform_monthly_usd
      Removed value: -{
      -  "title": "Platform Monthly Usd",
      -  "type": "number"
      -}
    • addedOutput schema / $defs / HostingInputs / properties / quality / items
      Added value: +{
      +  "$ref": "#/$defs/TaskQuality"
      +}
    • removedOutput schema / $defs / HostingInputs / properties / quality / maxItems
      Removed value: -4
    • removedOutput schema / $defs / HostingInputs / properties / quality / minItems
      Removed value: -4
    • removedOutput schema / $defs / HostingInputs / properties / quality / prefixItems
      Removed value: -[
      -  {
      -    "$ref": "#/$defs/TaskQuality"
      -  },
      -  {
      -    "$ref": "#/$defs/TaskQuality"
      -  },
      -  {
      -    "$ref": "#/$defs/TaskQuality"
      -  },
      -  {
      -    "$ref": "#/$defs/TaskQuality"
      -  }
      -]
    • changedOutput schema / $defs / HostingInputs / required
      Previous value: -[
      -  "model_id",
      -  "node_pool_id",
      -  "quantization_id",
      -  "replicas",
      -  "duty_cycle_percent",
      -  "memory_overhead_pct",
      -  "tokens_per_second",
      -  "target_utilization",
      -  "output_tokens_request",
      -  "input_tokens_request",
      -  "requests_per_day",
      -  "active_days",
      -  "platform_monthly_usd",
      -  "api_mode",
      -  "cache_prefix_tokens",
      -  "cache_requests",
      -  "concurrency",
      -  "target_first_token",
      -  "target_completion",
      -  "measured_concurrency",
      -  "measured_first_token",
      -  "measured_completion",
      -  "tasks_per_month",
      -  "review_hourly_usd",
      -  "quality",
      -  "quality_enabled"
      -]New value: +[
      +  "model_id",
      +  "node_pool_id",
      +  "quantization_id",
      +  "replicas",
      +  "duty_cycle_percent",
      +  "memory_overhead_pct",
      +  "tokens_per_second",
      +  "target_utilization",
      +  "output_tokens_request",
      +  "input_tokens_request",
      +  "requests_per_day",
      +  "active_days",
      +  "demand_window_hours",
      +  "api_mode",
      +  "cache_prefix_tokens",
      +  "cache_requests",
      +  "concurrency",
      +  "target_first_token",
      +  "target_completion",
      +  "measured_concurrency",
      +  "measured_first_token",
      +  "measured_completion",
      +  "tasks_per_month",
      +  "review_hourly_usd",
      +  "quality",
      +  "quality_enabled"
      +]
    • addedOutput schema / $defs / PrecisionComparison / properties / node
      Added value: +{
      +  "$ref": "#/$defs/GKENodePool"
      +}
    • addedOutput schema / $defs / PrecisionComparison / properties / url
      Added value: +{
      +  "title": "Url",
      +  "type": "string"
      +}
    • changedOutput schema / $defs / PrecisionComparison / required
      Previous value: -[
      -  "quantization",
      -  "estimate"
      -]New value: +[
      +  "quantization",
      +  "estimate",
      +  "node",
      +  "url"
      +]
  2. Added

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, and the description adds real value beyond that: 'no resources are provisioned', invalid inputs fail, idle hours are billed under commitments, and operations/additional services are excluded from totals. These are non-obvious cost-accounting behaviors the annotations cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and the zero-arg default call are front-loaded, then mode behavior follows in a logical order. It is dense and slightly run-on in the middle, but nearly every sentence carries distinct behavioral or parameter information rather than filler.

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?

Despite an output schema existing, the description still sketches what comes back (assumptions, USD costs, constraints, sources, shareable URL) and covers the exclusions and failure behavior. Nothing an agent needs to invoke this correctly is missing.

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?

The schema is a generic free-form string map, so its 100% coverage documents only the wrapper, not the actual keys. The description compensates by naming real parameters (preset, model, billing, requests, window, mode) and their allowed values ('auto, 24, 8, or 1 hour/day'), which the schema alone would not reveal.

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?

States a specific verb and resource ('Compare a GKE infrastructure budget with managed APIs') and immediately differentiates from the sibling compare_mcp_context_cost by naming the GKE-vs-managed-API scope. An agent can tell what is being compared without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to call with parameters={} for defaults and available choices, when to use simple mode vs advanced mode, and how break-even differs ('holds that fleet fixed'). The window and mode interactions are spelled out, so an agent knows which mode to pick for which scenario.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.