MCP-India-Stack
MCP-сервер для индийских API — GSTIN, IFSC, PAN, UPI, пин-код, HSN/SAC. Без авторизации. Офлайн-первый. Для AI-агентов.
Документация
🇮🇳 MCP India Stack
A high-performance, offline-first Model Context Protocol (MCP) server equipping AI agents with Indian financial, tax, and government APIs. Zero authentication required.
📑 Table of Contents
- Problem Statement
- Tech Stack
- Architecture Diagram
- Demo & Links
- Key Features
- Authenticity System
- Quick Start
- Tool Catalog
- Agent Workflows & Resources
- Data Architecture & Freshness
- Limitations
- Legal & Attribution
- Launch Notes
📌 Problem Statement
- Fragmented Access: Indian fintech, identity, and tax APIs are heavily siloed, requiring multiple disjointed integrations.
- High Barriers to Entry: Existing solutions are plagued by paid subscriptions, strict rate limits, and complex API key management.
- No Native AI Integration: There is no MCP-native standard designed specifically for autonomous AI agents to validate GSTIN, PAN, IFSC, or compute tax data.
- Latency & Reliability Issues: Depending on remote third-party APIs for static/slow-moving datasets introduces unnecessary network delays and potential points of failure for AI workflows.
🛠️ Tech Stack
| Layer | Technology |
|---|---|
| Protocol | MCP (FastMCP) |
| Runtime | Python |
| Distribution | PyPI / Smithery |
| Hosting | Render |
| Datasets | Offline-bundled (jsDelivr CDN sync) |
🏗️ Architecture Diagram
+-----------------------------------------------------------+
| MCP Clients |
| (Claude Desktop, Cursor, Custom Agent Frameworks) |
+-----------------------------+-----------------------------+
|
STDIO / SSE Protocol
|
+-----------------------------v-----------------------------+
| MCP India Stack |
| (FastMCP Server) |
+-----------------------------+-----------------------------+
|
+-----------------------+-----------------------+
| | |
+-----v-------------+ +------v------------+ +-------v-----+
| Pure Offline (71) | | Offline + CDN | | Market |
| Format Validators | | Refresh (5) | | Data (2) |
| Tax Calculators | | IFSC, HSN, Pin | | yfinance |
| Legal Reference | | Bundled Datasets | | Delayed |
+-------------------+ +-------------------+ +-------------+
MCP Client ↔ FastMCP Server ↔ 78 modular tool endpoints
🔗 Links
- Deployment: docs/deployment.md
- PPT: https://gamma.app/docs/Problem-India-lacks-native-fintech-primitives-for-AI-agents-d1izzfemlvfvkf0?mode=doc
- GitHub: https://github.com/rehan1020/MCP-India-Stack
- PyPI: https://pypi.org/project/mcp-india-stack/
✨ Key Features
- Offline-First Architecture: Bundles compressed datasets for zero-latency lookups (IFSC, Pincodes, HSN/SAC). No API rate limits.
- Zero Authentication: No API keys, secrets, or subscriptions required. All logic runs locally.
- Background Auto-Updates: Non-blocking CDN fetching ensures your datasets never go stale without impacting request latency.
- Comprehensive Coverage: 80 dedicated tools for identity validation (PAN, Aadhaar, GSTIN, TAN, PRAN), tax calculation (Income Tax, TDS, GST), savings calculators (EPF, PPF, SIP), and master data lookups.
- Enterprise-Ready: Thread-pool accelerated bulk validation tools for processing large batches of vendor or customer data.
🛡️ Authenticity System
Every verifying tool states how strongly an identifier is attested through standard levels (A0 to A4) instead of a simplistic binary flag:
A0(Format & Checksum): Structural syntax and checksum algorithms pass offline (e.g. Luhn mod-36 for GSTIN, Verhoeff for Aadhaar).A1(Cross-Field Consistency): Cross-field rules pass offline (e.g. embedded PAN in GSTIN, ROC jurisdiction in CIN, RTO code in DL).A2(Authoritative Dataset Match): Record matched in a bundled authoritative dataset (e.g. RBI IFSC directory, India Post pincode list, NSDL ISIN list).A3(Cryptographic Artifact Verification): Digital signature on a supplied artifact verified offline (e.g. NIC e-invoice QR code, UIDAI offline XML).A4(Live Registry Attestation): Confirmed via an opt-in live registry provider.
Every response includes an additive authenticity object with verified checks, authority source, evaluation date, and explicit limitations (e.g. "active registration status not verified"). See docs/authenticity.md and docs/writing_a_provider.md for complete details.
🚀 Quick Start
Installation
pip install mcp-india-stack
Claude Desktop Configuration
Add the following to your claude_desktop_config.json file to enable the India Stack in Claude Desktop:
Windows (%APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"mcp-india-stack": {
"command": "python",
"args": ["-m", "mcp_india_stack"]
}
}
}
macOS/Linux (~/Library/Application Support/Claude/claude_desktop_config.json or ~/.config/Claude/claude_desktop_config.json):
{
"mcpServers": {
"mcp-india-stack": {
"command": "python3",
"args": ["-m", "mcp_india_stack"]
}
}
}
🛠️ Tool Catalog
🔍 Lookup Tools
lookup_ifsc— Bank branch details from IFSC codelookup_pincode— India pincode details and post officeslookup_hsn_code— HSN/SAC code lookup by code or keyworddecode_state_code— GST state code metadatalookup_bbps_biller— BBPS biller directory lookuplookup_bank— Basic bank master lookup by name or code
✅ Validation Tools
validate_gstin— GSTIN structure and checksumvalidate_pan— PAN format and entity type decodevalidate_upi_vpa— UPI VPA structure and provider decodevalidate_aadhaar— Aadhaar number with Verhoeff checksum (masked output)validate_voter_id— Voter ID (EPIC) format with legacy detectionvalidate_driving_license— DL format with state/RTO/year decodevalidate_passport— Indian passport number formatvalidate_cin— Company Identification Number with full field decodevalidate_din— Director Identification Number formatvalidate_fssai— FSSAI license number validation and decodevalidate_epf_code— EPF establishment code validatorvalidate_esic_code— ESIC employer code validatorvalidate_tan— TAN validatorvalidate_pran— PRAN validator for NPSvalidate_llpin— LLPIN validatordecode_isin— ISIN decoder with Luhn validationdecode_digilocker_uri— DigiLocker URI decoder and validator mapperdecode_pan_type— Decode PAN entity type from the 4th characterverify_einvoice_qr— Cryptographically verify NIC B2B e-invoice signed QR codes (A3 Authenticity)verify_aadhaar_offline_artifact— Cryptographically verify UIDAI Paperless Offline e-KYC XML/ZIP (A3 Authenticity)
📱 Identity & Contact
validate_mobile_number— Mobile number with operator/circle detection
⚡ Bulk Operations
bulk_validate_gstin— Parallel GSTIN batch validationbulk_validate_pan— Parallel PAN batch validationbulk_validate_ifsc— Parallel IFSC batch validationbulk_validate_aadhaar— Parallel Aadhaar batch validation
🧮 Tax & Financial Calculators (FY2025-26)
calculate_income_tax— Old vs new regime comparison with surcharge, rebate, cesscalculate_tds— TDS rate lookup and computation for 15+ sectionscalculate_gst— GST breakdown (CGST/SGST/IGST/cess) with HSN lookupcalculate_surcharge— Surcharge and marginal relief calculatorcalculate_hra_exemption— HRA exemption calculator for salary planningcalculate_capital_gains— Capital gains with Section 54/54F exemptioncalculate_advance_tax— Advance tax estimatorcalculate_gst_late_fee— GST late filing penaltycalculate_income_tax_interest— Sections 234A/B/C interestcalculate_presumptive_tax— 44AD/44ADA presumptive taxget_regulatory_deadlines— Tax & regulatory compliance calendar
💰 Savings & Investment Calculators
calculate_epf_esic— EPF/ESIC contribution calculatorcalculate_emi— Loan EMI with amortization schedulecalculate_gratuity— Gratuity under Payment of Gratuity Actcalculate_ppf_maturity— PPF maturity projectionscalculate_fd_maturity— Fixed Deposit maturitycalculate_rd_maturity— Recurring Deposit maturitycalculate_sip_returns— SIP returns with inflation adjustmentcalculate_step_up_sip— Step-up SIP comparisoncalculate_nps_projection— NPS corpus and pensioncalculate_sukanya_samriddhi— SSY and SCSS calculator
🏠 Real Estate
calculate_home_vs_rent— Buy vs rent financial comparisoncalculate_leave_encashment_tax— Section 10(10AA) leave encashment
💼 HR & Payroll
calculate_professional_tax— State-wise professional taxcalculate_salary_restructuring— Tax-optimized salary restructuring
🏦 Banking & Payments
calculate_neft_rtgs_imps_charges— Transaction charges
📈 Stock Market
get_stock_quote— Fetch live/delayed Indian stock quotes and summaries (NSE/BSE) using yfinance.get_stock_history— Fetch historical end-of-day data for Indian stocks using yfinance.
⚖️ Legal Reference
decode_cnr_number— CNR (Case Number Record) decoder and validatorlookup_court_establishment_code— Court establishment code directory lookuplookup_ipc_section— IPC section lookup with BNS crosswalklookup_bns_section— BNS section lookup with IPC crosswalklookup_crpc_section— CrPC section lookup with BNSS crosswalklookup_bnss_section— BNSS section lookup with CrPC crosswalklookup_evidence_act_section— Indian Evidence Act section lookuplookup_bsa_section— BSA section lookup with IEA crosswalkdecode_ipc_bns_crosswalk— Bidirectional IPC↔BNS section crosswalkcalculate_limitation_deadline— Limitation Act 1963 deadline calculatorcalculate_court_fee— State-wise court fee calculatorcalculate_stamp_duty— State-wise stamp duty and registration fee calculator
📋 RTI Toolkit
calculate_rti_fee— RTI application fee calculator (central + state)calculate_rti_deadline— RTI response and appeal deadline calculatorcalculate_rti_penalty_estimate— RTI penalty estimator (Section 20)draft_rti_application— RTI application drafter (Section 6)draft_first_appeal— First appeal template generator (Section 19)draft_second_appeal— Second appeal template generator (Section 19)
🔐 Account Aggregator (Offline)
build_aa_consent_request— AA consent request buildervalidate_aa_consent_artifact— AA consent validatordecode_aa_fi_type— AA FI type decoder
🔄 Agent Workflows & Resources
Prompt Workflows (Overview)
Built-in prompt templates to guide AI agents through complex multi-step tasks:
vendor_kyc— GSTIN, PAN, and IFSC verification sequence.salary_planner— Income, HRA, and optimized take-home salary planning.invoice_audit— Cross-referencing GSTINs, HSN codes, and applicable GST rates.
Server Resources (Overview)
Dynamic JSON resources provided directly to the LLM context:
india://status— Version, DB connectivity, and runtime flagsindia://changelog— Structured changelog resourceindia://schema/*— JSON schemas for all tool outputs
📡 Data Architecture & Freshness
This package bundles static datasets for offline-first workflows (approx. 10-11MB compressed footprint), covering IFSCs, Pincodes, HSN/SAC masters, and curated UPI handles.
All datasets are bundled directly within the package and checksum-verified at build time:
- Offline First: Zero runtime network calls for dataset queries. No external CDN dependency or cache shadowing.
- Deterministic: Data freshness is tied to package releases. To receive updated datasets, upgrade
mcp-india-stack. - Integrity: Bundled dataset integrity is verified against a build-time SHA-256 manifest.
⚠️ Limitations
- Stateless Validation: GSTIN, Aadhaar, Voter ID, DL, Passport, CIN, and DIN validators check structural formatting and checksums only. They do not verify active registration status with government issuing authorities.
- Algorithmic Constraints: PAN validation is structural; the PAN check character logic is not publicly verifiable.
- Tax Estimates: All tax calculations are algorithmic estimates based on FY2025-26 rules. Actual liability may differ. Always consult a Chartered Accountant.
- Static Rates: HSN/SAC rates are static references and may vary based on specific conditions or new government notifications.
⚖️ Legal & Attribution
See NOTICES for detailed dataset attribution, licensing details, and third-party acknowledgments.
See LEGAL_NOTICE.md for important legal disclaimers including:
- No Government Affiliation — This project is not affiliated with NIC, eCourts, MeitY, or any government body.
- Not Legal Advice — All outputs (bare-act lookups, limitation calculations, court fee estimates, stamp duty estimates, RTI deadline/penalty calculations) are algorithmic estimates, not legal advice.
- Data Accuracy — State-subject data (court fees, stamp duty) carries
as_of/last_verifiedfields and is not live-verified against issuing authorities. - Personal Data — Identity validation (Aadhaar, PAN, etc.) is structural/checksum only. Users are responsible for DPDP Act compliance.
🚀 Launch Notes
This repository is release-ready for GitHub launch with:
0.8.0package metadata and changelog coverage.- A complete MCP server-card under
docs/.well-known/mcp/server-card.json. - Local setup and publishing steps in
SETUP.md. - Contribution guidance and versioning policy in
CONTRIBUTING.md.
What's New in v0.8.0 — Authenticity System (A0-A4), Signed Datasets & Cryptographic Verification
- Multi-Tier Authenticity System (8a): Every verifying tool outputs an additive
authenticityenvelope (A0toA4) enforcing rules R1–R6. - Signed Dataset Manifests (8b): Detached Ed25519 dataset verification, key ring with rotation/revocation, monotonic anti-rollback checks, and
--verify-dataCLI command. - Cryptographic Artifact Verification (8c): Signed NIC B2B e-invoice QR code verification and UIDAI secure offline XML/ZIP e-KYC attestation with XXE/bomb defense.
- Opt-In Registry Provider Interface (8d): Pluggable
BaseRegistryProvider(ABC)with entry points discovery,FixtureProvider, circuit breaker, rate limiting, and SSRF defense.
Previous Releases
- v0.6.0: Legal Reference (CNR decoder, court establishment lookup, bare-act section lookups for IPC/BNS/CrPC/BNSS/IEA/BSA, IPC↔BNS crosswalk, limitation period calculator, court fee, stamp duty) and RTI Toolkit (fee calculator, deadline tracker, penalty estimator, templates). Added yfinance-based market data tools.
- v0.4.x: Deep statutory audit across capital gains thresholds, EPF wage ceilings, metro HRA rules, 7-slab presumptive tax, and GST late fee caps. See CHANGELOG.md for detailed history.
Offline-First Guarantee
The package classifies every tool under an authoritative network access attribute (none, optional, or required), surfaced programmatically in the india://status MCP resource (tools_network):
| Network Tier | Policy | Tool Count | Tools Included |
|---|---|---|---|
none (Network: None) | Pure offline execution. Zero network calls, zero external endpoints, no sockets opened. Computations, format checks, checksum algorithms, and tax rules execute entirely in-process using local logic. | 73 | validate_gstin, bulk_validate_gstin, validate_pan, bulk_validate_pan, decode_pan_type, validate_upi_vpa, decode_state_code, validate_aadhaar, bulk_validate_aadhaar, validate_voter_id, validate_driving_license, validate_passport, validate_cin, validate_din, validate_fssai, validate_tan, validate_mobile_number, validate_pran, validate_llpin, decode_isin, lookup_bank, lookup_bbps_biller, validate_epf_code, validate_esic_code, decode_digilocker_uri, verify_einvoice_qr, verify_aadhaar_offline_artifact, build_aa_consent_request, validate_aa_consent_artifact, decode_aa_fi_type, calculate_income_tax, calculate_tds, calculate_surcharge, calculate_hra_exemption, calculate_capital_gains, calculate_advance_tax, calculate_epf_esic, calculate_emi, calculate_gratuity, calculate_ppf_maturity, calculate_fd_maturity, calculate_rd_maturity, calculate_sip_returns, calculate_step_up_sip, calculate_nps_projection, calculate_sukanya_samriddhi, calculate_home_vs_rent, calculate_gst_late_fee, calculate_income_tax_interest, calculate_presumptive_tax, calculate_professional_tax, calculate_leave_encashment_tax, calculate_salary_restructuring, calculate_neft_rtgs_imps_charges, get_regulatory_deadlines, decode_cnr_number, lookup_court_establishment_code, lookup_ipc_section, lookup_bns_section, lookup_crpc_section, lookup_bnss_section, lookup_evidence_act_section, lookup_bsa_section, decode_ipc_bns_crosswalk, calculate_limitation_deadline, calculate_court_fee, calculate_stamp_duty, calculate_rti_fee, calculate_rti_deadline, calculate_rti_penalty_estimate, draft_rti_application, draft_first_appeal, draft_second_appeal |
optional (Network: Optional) | Datasets are bundled locally offline (IFSC master, postal pincodes, HSN/SAC master). When enabled, background non-blocking CDN refresh or optional live lookup enriches local data. If network is unavailable or blocked, falls back seamlessly to bundled local datasets without blocking or error. | 5 | lookup_ifsc, bulk_validate_ifsc, lookup_pincode, lookup_hsn_code, calculate_gst |
required (Network: Required) | Live financial market data feeds. Must reach market upstream endpoints (e.g. Yahoo Finance) to retrieve current quotes or historical prices. If network is blocked or unavailable, returns structured error envelopes without unhandled exceptions. | 2 | get_stock_quote, get_stock_history |
