Skip to main content
Glama
gst-tax-mcp

gst-tax-mcp

by zoeb-nomi

validate_einvoice_tool

Validates e-invoice payloads for correct IRN and GSTIN formats, mandatory fields, HSN digit rules by supplier turnover, and tax/invoice totals before filing.

Instructions

Validate an e-invoice payload: IRN hash format, GSTIN format and checksum, mandatory fields, HSN digit requirements for the supplier's aggregate turnover (supplier_ato), tax math and invoice totals.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "einvoice": "<einvoice>"
    },
    "name": "validate_einvoice_tool"
  }
}

Input Schema

NameRequiredDescriptionDefault
einvoiceYes
supplier_atoNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/5

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

No annotations exist, so the description carries the full behavioral burden. It discloses the checks performed, which implies a non-mutating operation, but never states whether it fails fast on the first error or collects all errors, whether it needs network/auth for GSTIN checksum lookup, or whether the payload is persisted.

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?

A single front-loaded sentence with no filler; every clause names a distinct check. It is dense but readable, though a bulleted or clause-separated structure would make the check list easier to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a validation tool with no annotations and no output schema, the description should say what a caller gets back (boolean, error list, field paths) and how the payload should be formatted. It covers the validation surface well but leaves the input format and return shape unspecified.

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?

Schema description coverage is 0%, and the description meaningfully explains `supplier_ato`'s role in determining which HSN digit requirement applies, which is real value beyond the bare number field with a default of 0. However, the required `einvoice` string is never described — whether it is raw JSON, a base64 payload, or an IRN — leaving the most important parameter ambiguous.

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?

The description names a specific verb (validate) and resource (e-invoice payload), then enumerates exactly what is checked: IRN hash format, GSTIN format and checksum, mandatory fields, HSN digit requirements, tax math and totals. This lets an agent distinguish it from siblings like classify_hsn_sac or calc_gst_liability without opening a schema.

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?

Usage is implied rather than stated: an agent can infer this is a pre-submission check, but the description never says when to call it versus alternatives such as calc_gst_liability or classify_hsn_sac, nor does it exclude any case. No prerequisites or ordering guidance are given.

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