Skip to main content
Glama

optimize_agent_stack

Read-only

Estimate a monthly agent stack cost from a brief build description, parsing workload needs into GPU, scraping, proxy, search, LLM, email, hosting, database, and monitoring components.

Instructions

Estimate a monthly stack cost from a short description of the agent being built.

description: free text, e.g. 'scrapes 20k JS pages/month via 5 GB residential proxies, 3k search queries, summarizes with an LLM, budget $300/mo'. Parsed deterministically (keywords/regex, no LLM) into components: gpu, scraping, proxy, search, llm_api, email, hosting, database, monitoring. Optional fields override the parse: gpu_hours (GPU-hours/month), gpu_model ('H100', 'A100', 'RTX 4090'), model_size_b (billions of params; sets a minimum VRAM using FP16 x 1.2), scrape_pages, js_rendering, proxy_gb, search_queries, emails_sent, llm_api, monthly_budget_usd. Each component gets the cheapest option with a cited price among tracked providers, with calc, source_url, verified_at, referral_disclosure (set when the link is a referral link) and manual-signup notes. Components with no cited price say 'no sourced price tracked' (nothing is estimated). Totals show the math and say whether they are complete. Pulled listings are excluded. Every option has data_age_hours, degraded (> 48 h) and stale (> 7 days); max_data_age_hours drops older options (excluded_too_old counts them). Same data as optimize_stack, compare_gpu_prices and the deal feed.

Input Schema

NameRequiredDescriptionDefault
modeNofull
llm_apiNo
proxy_gbNo
workloadNo
gpu_hoursNo
gpu_modelNo
descriptionNo
emails_sentNo
js_renderingNo
model_size_bNo
scrape_pagesNo
search_queriesNo
max_data_age_hoursNo
monthly_budget_usdNo
exclude_manual_signupNo

Output Schema

NameRequiredDescriptionDefault
okYes
modeNo
errorNo
linesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.16

TDQS

A3.7/5.0
Behavior5/5

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

Annotations only declare readOnly/openWorld; the description adds substantial behavior: deterministic keyword/regex parsing with no LLM, explicit override semantics for optional fields, cheapest-option-with-cited-price rule, 'no sourced price tracked' instead of estimating, totals showing math and completeness, exclusion of pulled listings, and full freshness state machine (degraded >48h, stale >7d, max_data_age_hours exclusion with excluded_too_old).

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

Conciseness3/5

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

Front-loaded with purpose, which is good, but the body is a dense run-on paragraph of semicolon- and parenthetical-separated field lists. Almost every clause carries information, yet the lack of structure makes it harder to scan than it needs to be for 15 parameters.

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?

An output schema exists so return values needn't be spelled out, and the description still usefully previews provenance fields (calc, source_url, verified_at, referral_disclosure) and freshness handling. It's nearly complete for a 15-parameter tool, missing only the semantics of `mode`, `workload` and `exclude_manual_signup`.

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?

With 0% schema description coverage, the description carries the burden and mostly succeeds: it gives units and examples for gpu_hours, gpu_model, model_size_b ('sets a minimum VRAM using FP16 x 1.2'), scrape_pages, js_rendering, proxy_gb, search_queries, emails_sent, llm_api, monthly_budget_usd and max_data_age_hours. Three parameters (`mode`, `workload`, `exclude_manual_signup`) are never explained, leaving a real gap.

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?

Opens with a concrete verb+resource: 'Estimate a monthly stack cost from a short description of the agent being built.' It names the siblings sharing the same data (optimize_stack, compare_gpu_prices, deal feed), which tells the agent this is a sibling entry point, but never states what distinguishes it from optimize_stack itself.

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

Usage Guidelines2/5

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

There is a usage example for the `description` field, but no guidance on when to pick this over optimize_stack or compare_gpu_prices, and no prerequisites or exclusions. The agent must infer selection from the names alone.

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