Skip to main content
Glama

Interview, then compare architectures

compare_architectures
Read-only

Asks the questions that decide an architecture (static or dynamic, who signs in, how much data, uploads and media, background jobs and live updates, data sensitivity, threat profile, cost of downtime, who runs the servers), then rates every architecture against the answers: static site on a CDN, frontend with Supabase, serverless Next.js on Vercel, Cloudflare Workers, containers on DigitalOcean App Platform, one server, one server behind Cloudflare, Firebase, or on the phone with no server. Returns the top three with a 0-100 fit, what each service does, the monthly cost now and at forecast, strengths and concerns; the rest it considered; and the ones ruled out with the reason. Interview loop: call it with the description first; show the user the questions (each has options, why it matters, and sometimes a suggested answer read from the description); ask the unanswered ones, a few at a time, and call it again with answers. It ranks with whatever is answered, so it is fine to stop early. No model is used for the questions or the ratings. Each architecture has plan_stack_arguments and share_url for the full plan. When the user adds a requirement later, call it again with the same answers and the new description or requirements.

Input Schema

NameRequiredDescriptionDefault
answersNoInterview answers by question id, each an option id from compare_architectures, e.g. {"server":"dynamic","logins":"consumers","threat":"public","ops":"managed"}.
founderNoOptional company details used only to find startup perks.
mau_nowNo
app_typeNoKind of app, from Product Hunt's categories: productivity, engineering_development, design_creative, finance, marketing_sales, data_analysis, platforms, no_code, product_addons, llms, ai_agents, voice_ai, social_community, health_fitness, family, lifestyle, web3, ecommerce, travel, physical_products, booking_marketplace, content_site, ios_on_device. Sets the usage profile and, when users are not given, typical users at launch and after the forecast period.
platformsNoWhere the app runs. A phone app with no web platform gets the phone questions and options.
categoriesNoCategories to plan before the answers adjust them. Default: what the description needs.
profile_idNoUsage profile: b2b_saas (default), consumer_app, booking_marketplace, content_site, ios_on_device. Defaults to the app type's profile.
descriptionNoPlain-language product description or PRD text. Read for requirements (unless requirements is given) and for suggested answers.
task_intentNoWhat the user is trying to do, in a few words, e.g. "pick a stack for an MVP" or "cost section for an investor deck". No names or contact details.
mau_forecastNo
requirementsNoRequirements already confirmed; when given, the description is not read for requirements again.
forecast_monthsNo
budget_monthly_usdNo
output_destinationNoWhere the answer goes. chat (default): summary for the conversation. document: a section ready to paste into a PRD. code: adds npm packages and environment variable names for each pick.
revenue_per_mau_usdNoAverage monthly revenue per active user (for payment fees).

Output Schema

NameRequiredDescriptionDefault
dataYesThe tool result. Its shape depends on the tool.
staleYes
caveatsYesShow to the user word for word.
sourcesYes
confidenceYes
assumptionsYesUsage and pricing assumptions behind the numbers.
disclosuresYesAlways includes the neutrality note: no vendor pays for a place in the answer. Link its url when you mention how Kong Reviews is paid.
generated_atYes
engine_versionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / categories / items / enum
      Previous value: -[
      -  "hosting",
      -  "database",
      -  "auth",
      -  "email",
      -  "payments",
      -  "observability",
      -  "ai",
      -  "edge",
      -  "app_store",
      -  "coding"
      -]New value: +[
      +  "hosting",
      +  "database",
      +  "auth",
      +  "email",
      +  "payments",
      +  "observability",
      +  "ai",
      +  "edge",
      +  "app_store",
      +  "coding",
      +  "storage",
      +  "video",
      +  "sms",
      +  "push",
      +  "jobs",
      +  "search"
      +]
    • changedInput schema / properties / requirements / items / properties / categories / items / enum
      Previous value: -[
      -  "hosting",
      -  "database",
      -  "auth",
      -  "email",
      -  "payments",
      -  "observability",
      -  "ai",
      -  "edge",
      -  "app_store",
      -  "coding"
      -]New value: +[
      +  "hosting",
      +  "database",
      +  "auth",
      +  "email",
      +  "payments",
      +  "observability",
      +  "ai",
      +  "edge",
      +  "app_store",
      +  "coding",
      +  "storage",
      +  "video",
      +  "sms",
      +  "push",
      +  "jobs",
      +  "search"
      +]
    • addedOutput schema / properties / disclosures / description
      Added value: +"Always includes the neutrality note: no vendor pays for a place in the answer. Link its url when you mention how Kong Reviews is paid."
  2. Added

TDQS

A3.9/5.0
Behavior4/5

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

Adds context beyond the readOnly/openWorld annotations: ratings are deterministic ('No model is used'), partial answers still produce a ranking, ruled-out options come with reasons, and each architecture carries plan_stack_arguments and share_url. That is real behavioral detail an agent could not 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.

Conciseness3/5

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

The core purpose is front-loaded, but the body is one very long run-on paragraph with a multi-clause parenthetical question list and repeated 'call it again' instructions. It is dense and useful but would scan far better broken into purpose / workflow / output sections.

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?

For a 15-parameter, multi-turn, stateful tool it covers the interplay of description, answers, requirements, and forecast well enough to drive correct calls, and it repeats return contents even though an output schema exists. Minor gaps remain around defaults for optional params and how answers map to question ids.

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 coverage is 73%, so the schema carries most param meaning, but the description supplies the crucial chicken-and-egg guidance that `answers` option ids are produced by this very tool's question output, and that `description` is read both for requirements and suggested answers. Several params (founder, budget, mau) get no mention, but are documented in the schema.

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 two-part action (interview, then rate architectures), enumerates the candidate architectures and the ranked output shape, so an agent knows exactly what it gets back. It doesn't explicitly contrast itself with recommend_stack or plan_stack, though it links to plan_stack_arguments, leaving sibling differentiation implicit.

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?

Gives an explicit, actionable protocol: call with description first, show the user the questions, ask unanswered ones a few at a time, call again with answers, and stopping early is fine. It also covers the later-requirement case (re-call with same answers plus new description/requirements). Only the comparison to sibling tools is absent.

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.

Resources