Skip to main content
Glama
bharat-mcp

bharat-mcp

by nansa1

Calculate GST

calculate_gst
Read-onlyIdempotent

Calculate GST for line items by deriving CGST/SGST or IGST from supplier and place-of-supply states, including inclusive prices, cess, round-off, and total in words.

Instructions

Calculate GST for one or more line items. Works out intra-state (CGST+SGST, or CGST+UTGST in UTs) vs inter-state (IGST) from the supplier state and place of supply, handles GST-inclusive prices, cess and round-off, and gives the total in words.

Input Schema

NameRequiredDescriptionDefault
itemsYes
round_offNoRound grand total to the nearest rupee (default true)
supplier_stateYesSupplier's state name, 2-digit state code, or GSTIN
place_of_supplyYesPlace of supply: state name, 2-digit code, or buyer GSTIN
prices_include_gstNoTrue if the rates already include GST (back-calculate tax)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.1

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/closed-world, so the safety profile is covered; the description adds genuine behavioral context beyond that: the tax split is derived from supplier state and place of supply, inclusive prices are back-calculated, cess and round-off are applied, and the total is verbalized. It does not cover failure behavior (e.g. an invalid GSTIN or unknown state) or the shape of the returned breakdown.

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?

A single dense sentence with the core act front-loaded and the derived behaviors stacked behind it in logical order. No restatement of the title and no 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?

There is no output schema, so the description carries the return-value burden and does it: the agent learns it gets a per-line tax computation with a grand total plus an amount-in-words string. Combined with the schemas for inputs, this is sufficient to call the tool correctly.

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 80%, so the baseline is 3, and the description earns one more by explaining the causal relationship the schema only states piecewise: supplier_state and place_of_supply jointly determine IGST vs CGST+SGST/UTGST, and the resulting split drives the per-item math. It does not add anything on round_off, prices_include_gst, or cess_rate beyond what the schema already says.

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?

Specific verb (calculate) plus resource (GST) with the exact scope spelled out: intra-state CGST+SGST/UTGST vs inter-state IGST, inclusive prices, cess, round-off, and amount in words. This clearly separates it from siblings like find_gst_rate (looks up a rate) and create_gst_invoice (produces a document).

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?

The capability statement implies the use case (compute a tax breakdown for line items) but never states when to prefer this tool over find_gst_rate, create_gst_invoice, or amount_in_words. No prerequisites or exclusions are given, so the agent must infer routing from capability alone.

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