India GST API Client and MCP Server for AI Agents (HSN/SAC Rates)
Project description
Lightning-fast, async-first HSN/SAC rate lookups and GSTIN validation for enterprise Indian B2B platforms. Features native Model Context Protocol (MCP) compliance to instantly connect your AI agents to live Indian tax data.
⚡ Key Features
Built for the scale and reliability required by modern fintech platforms and high-throughput enterprise systems.
- 🚀 Lightning-Fast & Async-First: Non-blocking API requests designed for extreme concurrency and low-latency environments.
- 🛡️ Enterprise Reliability: Built-in connection pooling, exponential backoff, and robust error handling for rate limits or inactive/blocked GSTINs.
- 🤖 Zero-Config MCP Server: Native integration for AI agents (Claude Desktop, Cursor, Windsurf). Give your LLMs secure access to live tax rate intelligence instantly.
- 🇮🇳 Fully Compliant: Always updated with the latest CBIC rate notifications (including GST 2.0).
- 🧩 Dual SDK: Available simultaneously for both Python (PyPI) and Node.js/TypeScript (npm).
📦 Installation
Install the library in your preferred environment:
Python 3.10+
pip install gstaccelerator
Node.js (TypeScript Ready)
npm install gstaccelerator
🚀 Dual-Mode Usage Quickstart
1. Standard SDK Usage
Fetch precise tax details or validate business identity via a GSTIN seamlessly in your application.
Python (asyncio)
import asyncio
from gstaccelerator import GSTClient
async def check_gstin():
# Initialize client with your API key
client = GSTClient(api_key="your_api_key_here")
try:
# Fetch high-speed GSTIN details
business = await client.get_gstin_details("27AADCB2230M1Z2")
print(f"Business Name: {business.legal_name}")
print(f"Status: {business.status}") # e.g., 'Active'
finally:
await client.close()
asyncio.run(check_gstin())
TypeScript / Node.js
import { GSTClient } from 'gstaccelerator';
async function checkGstin() {
// Initialize client with your API key
const client = new GSTClient({ apiKey: "your_api_key_here" });
try:
// Fetch high-speed GSTIN details
const business = await client.getGstinDetails("27AADCB2230M1Z2");
console.log(`Business Name: ${business.legalName}`);
console.log(`Status: ${business.status}`);
} finally {
await client.close();
}
}
checkGstin();
2. MCP Server Configuration (For AI Agents)
You can mount gstaccelerator as a native MCP server to allow AI models to query GST and HSN rates directly during agentic workflows.
Add the following block to your claude_desktop_config.json (or Cursor/Windsurf configuration):
{
"mcpServers": {
"gstaccelerator": {
"command": "npx",
"args": [
"-y",
"gstaccelerator",
"mcp"
],
"env": {
"GST_API_KEY": "your_api_key_here"
}
}
}
}
(Python equivalent command: "command": "gstaccelerator-mcp")
🛑 Error Handling
Enterprise systems require structured, predictable failures. The SDK bubbles up clean, typed exceptions for edge cases rather than silent failures or raw HTTP dumps.
from gstaccelerator.exceptions import InvalidGSTINError, RateLimitError
try:
data = await client.get_gstin_details("INVALID123")
except InvalidGSTINError as e:
print(f"Validation failed: {e.message}") # The GSTIN format is invalid
except RateLimitError as e:
print(f"Throttled! Retry after {e.retry_after} seconds.")
except Exception as e:
print("An unexpected network error occurred.")
🔗 Links
- Website & Dashboard: gstaccelerator.in
- Documentation: docs.gstaccelerator.in
- Python Repo: github.com/thedivine1/gstaccelerator-python
- Node Repo: github.com/thedivine1/gstaccelerator-js
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gstaccelerator-0.3.2.tar.gz.
File metadata
- Download URL: gstaccelerator-0.3.2.tar.gz
- Upload date:
- Size: 9.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6bf0170aa9c7a06b205c60fda761f9a5b61e35943464d544b8abd8ba663b0f0c
|
|
| MD5 |
8f4d217a543f0dfaacab4299f8951204
|
|
| BLAKE2b-256 |
68a0b1f1a021b27aa10db66a0bab9edb35ecd18a8e52ebc3a57d29d5064c1b8e
|
File details
Details for the file gstaccelerator-0.3.2-py3-none-any.whl.
File metadata
- Download URL: gstaccelerator-0.3.2-py3-none-any.whl
- Upload date:
- Size: 9.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
feb919b82db3a95375b25642bd960b34a2971c35155990f08fab9eb2ebc8fad0
|
|
| MD5 |
9b78d02b4ea9d2133e19d5795b9daaaa
|
|
| BLAKE2b-256 |
8da71908b9cf44e2f7ff85d8b3bd798a7f2709e7e12aff3adeaa38c26d72a577
|