Skip to main content
Glama
vishnu27597

Sandbox GSTR-1 MCP Server

by vishnu27597

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LOG_LEVELNoLogging levelINFO
SANDBOX_API_KEYYesYour Sandbox API key
SANDBOX_API_URLNoBase URL for the Sandbox APIhttps://api.sandbox.co.in
SANDBOX_API_SECRETYesYour Sandbox API secret
SANDBOX_API_VERSIONNoAPI version1.0.0

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
generate_taxpayer_sessionA

Generate a taxpayer session (access token) valid for 6 hours.

This is Step 1 of the GSTR-1 filing workflow. The returned access_token must be passed to all subsequent tool calls.

Args: gstin: 15-digit GST Identification Number (e.g. "29AAACQ3770E000") username: GST portal username of the taxpayer

Returns: Dict with access_token and session metadata, or an error dict.

save_gstr1_dataA

Upload GSTR-1 data to the GST portal for validation (Step 2).

After calling this tool, use check_return_status() with the returned reference_id to poll until the status is COMPLETED before proceeding.

Args: access_token: Taxpayer session token from generate_taxpayer_session() gstin: 15-digit GST Identification Number ret_period: Return period in MMYYYY format (e.g. "032026" for March 2026) gstr1_data: Complete GSTR-1 payload dict containing b2b, b2cl, b2cs, hsn, docs sections etc.

Returns: Dict with reference_id for status polling, or an error dict.

check_return_statusA

Poll the status of a save or proceed operation (Step 3).

Call this repeatedly (every 5 seconds) until status == "COMPLETED".

Args: access_token: Taxpayer session token gstin: 15-digit GST Identification Number ret_period: Return period in MMYYYY format reference_id: The reference_id returned by save_gstr1_data() or proceed_to_file()

Returns: Dict with status field ("PENDING", "PROCESSING", "COMPLETED", "ERROR").

proceed_to_fileA

Initialise the filing process after data validation is complete (Step 4).

Poll check_return_status() with the returned reference_id until COMPLETED before calling get_gstr1_summary().

Args: access_token: Taxpayer session token gstin: 15-digit GST Identification Number ret_period: Return period in MMYYYY format is_nil: "Y" for a nil return, "N" for a regular return (default "N")

Returns: Dict with reference_id for status polling, or an error dict.

get_gstr1_summaryA

Retrieve the GSTR-1 summary including sec_sum and chksum needed for filing (Step 5).

The sec_sum and chksum values returned here must be passed directly to file_gstr1().

Args: access_token: Taxpayer session token gstin: 15-digit GST Identification Number ret_period: Return period in MMYYYY format summary_type: "long" for full section detail (default), "short" for totals only

Returns: Dict with sec_sum array and chksum string, or an error dict.

generate_evc_otpA

Generate an Electronic Verification Code (EVC) OTP for filing (Step 6).

The OTP is sent to the mobile number and email registered with the GST portal. Pass the received OTP to file_gstr1().

Args: access_token: Taxpayer session token pan: Permanent Account Number associated with the GSTIN (e.g. "ABCCQ3123E")

Returns: Dict with OTP generation status, or an error dict.

file_gstr1A

Submit the final GSTR-1 return with EVC OTP verification (Step 7 — final step).

Args: access_token: Taxpayer session token gstin: 15-digit GST Identification Number ret_period: Return period in MMYYYY format pan: Permanent Account Number otp: EVC OTP received after calling generate_evc_otp() sec_sum: Section summaries array from get_gstr1_summary() chksum: Checksum string from get_gstr1_summary()

Returns: Dict with filing acknowledgement number (ARN) and status, or an error dict.

convert_excel_to_sandbox_payloadA

Convert a GSTR-1 Excel file (output of the unified-gstr1 skill) into the JSON payload format required by the Sandbox.co save_gstr1_data() API.

Reads the b2b, b2cl, b2cs, and hsn sheets from the Excel file and maps each row to the corresponding Sandbox.co API structure.

Args: excel_path: Absolute path to the GSTR-1 Excel file

Returns: Dict with the formatted payload ready to pass to save_gstr1_data(), or an error dict.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.5/5.0

Scored across 8 tools

Disambiguation5/5

Each tool maps to a distinct step in the GSTR-1 filing workflow. Even the two filing-related tools are clearly separated by validation, polling, and EVC OTP phases, and the only polling tool is explicitly scoped to operation status.

Naming Consistency5/5

All tool names use a consistent snake_case verb_led pattern: generate_, save_, check_, proceed_to_, get_, file_, convert_. The naming reliably communicates what each tool does without mixing conventions.

Tool Count5/5

Eight tools is well-scoped for this server: seven correspond directly to the filing workflow steps, plus one Excel-to-payload converter. There is no redundant or filler tool.

Completeness5/5

The surface covers the full end-to-end filing lifecycle: session generation, data upload, status polling, filing initiation, summary retrieval, EVC OTP generation, and final submission. No workflow step is missing, and every flow ends in a usable result or explicit error.

Maintenance

ActivityInactive
ResponsivenessNo issues