Skip to main content
Glama

Price a code change (pull request)

diff_stack
Read-only

What a code change does to an app's bill: pass the files before (base_files) and after (head_files) the change, such as package.json, requirements.txt, .env.example (names only) and deploy configs. Returns the services added and removed, each priced now and in 12 months at the given users, with cheaper options and cost jumps, the change in monthly cost, and comment_markdown ready to post on a pull request. Use it before adding a paid service or SDK, or to review a pull request. Rules only; nothing is stored.

Input Schema

NameRequiredDescriptionDefault
plansNoPlans the app is on, when known.
mau_nowNoMonthly active users today. Default 1,000, and the comment says it was assumed.
base_filesYes
head_filesYes
profile_idNo
mau_forecastNoUsers expected in 12 months.
requirementsNo

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. Changed2 schema fields changed
    • 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

A4.1/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and openWorldHint=false, and the description reinforces this with 'Rules only; nothing is stored,' which is genuinely additive about determinism and side effects. It also discloses that output includes a PR-ready comment_markdown and 12-month forecast pricing, giving useful behavioral context.

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?

One dense paragraph, front-loaded with the core action and the input convention, then results and usage. It is packed but nearly every clause carries meaning; a small amount of length could be trimmed around the results list.

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 need not be spelled out, yet the description still summarizes them helpfully. Given seven params and a diff-based workflow, the main residual gap is the unexplained plans/profile_id/requirements inputs, but overall an agent can 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?

With schema coverage at 43%, the description compensates partly by clarifying what base_files/head_files should contain (manifest and config files, .env.example names only) and that pricing uses 'the given users' for mau inputs. However, the seven params include plans, profile_id, and requirements that the description never explains, so the coverage gap is only partially filled.

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: pricing what a code change does to an app's bill, by passing base_files and head_files. It clearly differentiates from siblings like estimate_cost or project_stack by framing it as a before/after diff for a pull request.

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 clear usage context: use before adding a paid service or SDK, or to review a pull request. It does not name an explicit alternative sibling (e.g. evaluate_change, estimate_cost) or state when-not to use it, leaving that inference to the agent.

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