mcp-india-stack
Use this MCP server as a zero-auth, offline-first toolkit for Indian identity validation, master-data lookup, tax/financial calculations, legal/RTI reference, and market data.
Validate Indian identifiers such as GSTIN, PAN, Aadhaar, UPI VPA, voter ID, driving license, passport, CIN, DIN, FSSAI, TAN, PRAN, LLPIN, ISIN, mobile numbers, and e-invoice/Aadhaar offline artifacts.
Look up IFSC/bank branches, pincodes, HSN/SAC codes, GST state codes, BBPS billers, banks, court establishment codes, and legal section crosswalks.
Calculate income tax, TDS, GST, surcharge, HRA, capital gains, advance tax, GST late fees, presumptive tax, professional tax, salary restructuring, EPF/ESIC, EMI, gratuity, PPF/FD/RD/SIP/NPS/SSY, home-vs-rent, and transfer charges.
Run bulk validations for GSTIN, PAN, IFSC, and Aadhaar; use workflows/resources for schemas and agent prompts.
Handle legal-reference and RTI tasks: CNR decoding, IPC/BNS/CrPC/BNSS/IEA/BSA lookups, limitation/court-fee/stamp-duty calculations, and RTI fee/deadline/penalty/drafting.
Work with Account Aggregator consent artifacts and FI type decoding.
Fetch Indian stock quotes and historical EOD data via yfinance, which requires network access.
Provide authenticity levels A0–A4 indicating format/checksum, cross-field, dataset, cryptographic, or live-registry confidence.
Uses jsDelivr as a CDN to sync and refresh the server's bundled offline datasets in the background, supporting low-latency lookups for Indian master data such as IFSC, pincode, and HSN/SAC without relying on live APIs.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-india-stack validate PAN ABCDE1234F"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🇮🇳 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
Related MCP server: taxbrainai-mcp
📌 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
✨ 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-stackClaude 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 |
| 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 |
|
| 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 |
|
| 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 |
|
Available Tools
76 toolsbulk_validate_aadhaarARead-onlyIdempotent
Validate multiple Aadhaar numbers in parallel using ThreadPoolExecutor.
Use when batch-validating Aadhaar numbers for KYC, onboarding, or compliance workflows.
Args: numbers: List of Aadhaar numbers (with or without spaces/hyphens).
Returns: Standard envelope with per-Aadhaar results and valid/invalid counts.
Notes: Max 500 Aadhaars per call. Uses same Verhoeff validation as single tool. Not connected to UIDAI. In compliance with DPDP Act 2023, results are masked and raw numbers are never stored or logged.
Inputs: numbers (required). Returns: object
bulk_validate_gstinARead-onlyIdempotent
Validate multiple GSTINs in parallel using ThreadPoolExecutor.
Use when batch-validating vendor GSTINs for onboarding or reconciliation. Reduces N serial calls to ~N/10 parallel batches.
Args: gstins: List of 15-character GSTIN strings.
Returns: Standard envelope with per-GSTIN results, valid/invalid counts.
Notes: Max 500 GSTINs per call. Configurable via MCP_INDIA_STACK_BULK_WORKERS. Individual validation errors don't fail the entire batch.
Inputs: gstins (required). Returns: object
bulk_validate_ifscARead-onlyIdempotent
Validate multiple IFSC codes in parallel.
Inputs: ifscs (required). Returns: object
bulk_validate_panARead-onlyIdempotent
Validate multiple PANs in parallel.
Inputs: pans (required). Returns: object
calculate_advance_taxARead-onlyIdempotent
Calculate quarterly advance tax installment schedule per Sections 234B and 234C.
Use when planning quarterly tax payments to avoid interest penalties. Provides due dates and amounts for each installment.
Args: estimated_income: Estimated annual income for FY2025-26. regime: Tax regime for calculation. taxpayer_type: Category for slab selection. existing_tds: TDS already likely to be deducted.
Returns: Standard envelope with quarterly breakdown and interest rules.
Notes: Due dates: June 15 (15%), Sept 15 (45%), Dec 15 (75%), Mar 15 (100%). Interest 1% per month for delay under Section 234C.
Inputs: estimated_income (required), regime, existing_tds, taxpayer_type, +1 more. Returns: object
calculate_capital_gainsARead-onlyIdempotent
Calculate capital gains tax for various asset types (FY2025-26).
Use when computing tax liability on sale of equity, mutual funds, real estate, gold, or other capital assets.
Args: sale_price: Sale proceeds after expenses. purchase_price: Original purchase price. asset_type: Type of asset sold. holding_period_days: Days held before sale. inflation_index_purchase: Cost Inflation Index for purchase year. inflation_index_sale: Cost Inflation Index for sale year. expenses_on_sale: Expenses incurred during sale. improvements: Cost of improvements (for real estate).
Returns: Standard envelope with STCG/LTCG breakdown, tax rates, and liability.
Notes: Budget 2024 rates: STCG 20% (equity/MF), LTCG 12.5% (equity/MF threshold 100K). Real estate without indexation taxed at 20%.
Inputs: sale_price (required), purchase_price (required), asset_type, improvements, +5 more. Returns: object
calculate_court_feeARead-onlyIdempotent
Calculate ad valorem court fees for a specific state.
Use when you need to estimate the court fee required to be paid for filing a suit.
Args: state_code: State code (e.g., 'MH', 'DL', 'KA'). suit_value: Value of the suit. suit_type: Type of suit.
Returns: Standard envelope with calculated court fee and computation details.
Notes: Not legal advice. Consult a qualified advocate.
Inputs: state_code (required), suit_value (required), suit_type. Returns: object
calculate_emiARead-onlyIdempotent
Calculate EMI for a loan with year-by-year amortization schedule.
Use when computing loan EMIs, comparing loan options, or planning prepayment strategies.
Args: principal: Loan amount in INR. annual_interest_rate: Annual rate as percentage. tenure_months: Loan tenure in months (max 360). loan_type: Label for the loan type.
Returns: Standard envelope with EMI, total payment, interest, and amortization.
Notes: Uses standard reducing balance formula. Actual EMI may vary by lender.
Inputs: principal (required), tenure_months (required), annual_interest_rate (required), loan_type, +1 more. Returns: object
calculate_epf_esicARead-onlyIdempotent
Calculate EPF and ESIC contributions for employer and employee.
Use when computing payroll costs, employee deductions, or comparing CTC structures across different salary levels.
Args: basic_wages: Basic salary + DA per month in INR. gross_wages: Total gross monthly salary in INR. include_employer_share: If True, return employer costs.
Returns: Standard envelope with EPF breakdown, ESIC applicability, and totals.
Notes: EPF ceiling is ₹15,000/month for statutory computation. ESIC applicable when gross wages ≤ ₹21,000/month.
Inputs: basic_wages (required), gross_wages (required), financial_year, include_employer_share. Returns: object
calculate_fd_maturityARead-onlyIdempotent
Calculate Fixed Deposit maturity amount.
Use when projecting FD returns or comparing deposit options.
Args: principal: Deposit amount in INR annual_interest_rate: Rate as percentage tenure_days: Deposit tenure in days compounding: Compounding frequency is_senior_citizen: Senior citizen flag (0.25% extra rate) tds_applicable: Apply TDS if interest > ₹40,000/yr
Returns: Maturity amount with interest breakdown and TDS if applicable.
Inputs: principal (required), tenure_days (required), annual_interest_rate (required), compounding, +3 more. Returns: object
calculate_gratuityARead-onlyIdempotent
Calculate gratuity under the Payment of Gratuity Act, 1972.
Use when computing terminal benefits, comparing CTC packages, or planning retirement benefits.
Args: last_drawn_salary: Basic + DA per month. years_of_service: Total service duration. is_covered_under_act: True for establishments with 10+ employees.
Returns: Standard envelope with gratuity amount, tax-exempt limit, and breakdown.
Notes: Minimum 5 years service required (except death/disablement). Tax-exempt ceiling is ₹20,00,000.
Inputs: years_of_service (required), last_drawn_salary (required), financial_year, is_covered_under_act. Returns: object
calculate_gstARead-onlyIdempotent
Calculate GST breakdown with CGST/SGST/IGST split and optional cess.
Use when computing tax for invoices, quotations, or GST compliance.
Args: amount: Base amount or GST-inclusive amount in rupees. gst_rate: Valid GST rate percentage. transaction_type: 'intra_state' or 'inter_state'. amount_includes_gst: Set True to back-calculate base. cess_category: For 28% items, specify applicable cess.
Returns: Standard envelope with base amount, CGST/SGST/IGST breakdown, cess amount, total GST, and total payable amount.
Notes: Rates are for general reference. Actual classification may vary.
Inputs: amount (required), gst_rate (required), transaction_type (required), cess_category, +2 more. Returns: object
calculate_gst_late_feeBRead-onlyIdempotent
Calculate GST late filing penalty.
Use when estimating late filing fees or planning compliance.
Args: return_type: "GSTR1", "GSTR3B", or "GSTR9" days_delayed: Number of days delayed annual_turnover: Annual turnover for cap calculation has_nil_liability: True if nil return
Returns: Late fee breakdown with CGST/SGST split.
Inputs: return_type (required), days_delayed (required), annual_turnover (required), financial_year, +1 more. Returns: object
calculate_home_vs_rentARead-onlyIdempotent
Compare buying vs renting financial outcome.
Use when deciding between buying a home or renting.
Args: home_price: Property price in INR down_payment_percent: Down payment as % loan_interest_rate: Home loan interest rate % loan_tenure_years: Loan tenure monthly_rent: Current monthly rent annual_rent_increase: Expected rent increase %/year expected_property_appreciation: Property appreciation %/year investment_return: Return on invested down payment % analysis_years: Years to compare
Returns: Buy/rent comparison with yearly breakdown and break-even analysis.
Inputs: home_price (required), monthly_rent, analysis_years, financial_year, +6 more. Returns: object
calculate_hra_exemptionARead-onlyIdempotent
Calculate House Rent Allowance (HRA) exemption under Section 10(13A).
Use when computing tax-exempt HRA component for salary structuring or income tax filing. Compares three conditions and takes minimum.
Args: basic_salary: Monthly basic salary. hra_received: Annual HRA received from employer. rent_paid: Annual rent paid. city_type: 'metro' (50% of salary) or 'non_metro' (40% of salary). is_government_employee: Use simplified formula for government employees.
Returns: Standard envelope with exemption amount, taxable HRA, and breakdown.
Notes: The actual exemption is the minimum of: 1. HRA received 2. Rent paid minus 10% of salary 3. 50% of salary (metro) or 40% (non_metro)
Inputs: rent_paid (required), basic_salary (required), hra_received (required), city_type, +2 more. Returns: object
calculate_income_taxARead-onlyIdempotent
Calculate Indian income tax for FY2025-26 under old, new, or both regimes.
Use when computing tax liability, comparing regimes, or planning deductions. Includes slab computation, Section 87A rebate, surcharge with marginal relief, and health & education cess.
Args: gross_income: Annual gross income in rupees. regime: 'new', 'old', or 'both' for side-by-side comparison. taxpayer_type: Category for slab selection. deduction_80c: Old regime only — Section 80C amount. deduction_80d_self: Old regime only — medical insurance self. deduction_80d_parents: Old regime only — medical insurance parents. deduction_80d_senior_parents: Old regime only — senior parent flag. deduction_80ccd_nps: Old regime only — NPS additional. deduction_24b: Old regime only — home loan interest. other_deductions: Old regime only — other amounts.
Returns: Standard envelope with per-regime breakdown, effective rate, monthly tax, take-home, and regime recommendation when both requested.
Notes: FY2025-26 rates. Estimate only — consult a CA for filing.
Inputs: gross_income (required), regime, deduction_24b, deduction_80c, +7 more. Returns: object
calculate_income_tax_interestARead-onlyIdempotent
Calculate interest under Sections 234A, 234B, 234C.
Use when computing penalty interest for late tax filing or short advance tax payments.
Args: total_tax_liability: Total tax liability tds_deducted: TDS already deducted advance_tax_paid: Dict with q1,q2,q3,q4 quarterly payments filing_date: YYYY-MM-DD when return filed (None if not filed) due_date: Due date for filing
Returns: Interest breakdown for Sections 234A, 234B, 234C.
Inputs: total_tax_liability (required), due_date, filing_date, tds_deducted, +2 more. Returns: object
calculate_leave_encashment_taxARead-onlyIdempotent
Calculate tax-exempt portion of leave encashment under Section 10(10AA).
Use when computing leave encashment tax exemption or planning retirement benefits.
Args: leave_encashment_amount: Actual amount received average_monthly_salary: Average of last 10 months basic + DA earned_leave_balance_days: Days of earned leave years_of_service: Total years of service is_government_employee: Government employee flag
Returns: Exemption amount and taxable portion breakdown.
Inputs: years_of_service (required), average_monthly_salary (required), leave_encashment_amount (required), earned_leave_balance_… Returns: object
calculate_limitation_deadlineARead-onlyIdempotent
Calculate the deadline under the Limitation Act.
Use when computing the last date to file a suit, appeal, or application based on cause of action.
Args: suit_type: Type of suit/appeal/application. cause_of_action_date: Date the cause of action arose (YYYY-MM-DD). exclusion_days: Days excluded under Section 12. court_closed_on_deadline: Whether court is closed on deadline date. court_reopen_date: Date court reopens if closed on deadline.
Returns: Standard envelope with deadline date and limitation period.
Notes: Not legal advice. Consult a qualified advocate.
Inputs: suit_type (required), cause_of_action_date (required), exclusion_days, court_reopen_date, +1 more. Returns: object
calculate_neft_rtgs_imps_chargesARead-onlyIdempotent
Calculate NEFT/RTGS/IMPS/UPI transaction charges.
Use when estimating bank transfer costs or comparing payment modes.
Args: transfer_mode: "NEFT", "RTGS", "IMPS", or "UPI" amount: Transfer amount in INR account_type: "savings" or "current" is_online: True if done via online banking
Returns: Charge breakdown with base charge, GST, and total.
Inputs: amount (required), transfer_mode (required), is_online, account_type, +1 more. Returns: object
calculate_nps_projectionARead-onlyIdempotent
Calculate NPS corpus and monthly pension at retirement.
Use when planning retirement with NPS or projecting pension.
Args: monthly_contribution: Monthly NPS contribution current_age: Current age retirement_age: Retirement age (default 60) expected_annual_return: Expected annual return % annuity_rate: Annuity rate % annuity_percent: % of corpus to buy annuity (min 40%)
Returns: Projected corpus, lump sum, and monthly pension estimate.
Inputs: current_age (required), monthly_contribution (required), annuity_rate, financial_year, +3 more. Returns: object
calculate_ppf_maturityARead-onlyIdempotent
Calculate PPF maturity amount with year-by-year breakdown.
Use when planning long-term savings, comparing investment options, or calculating retirement corpus.
Args: annual_investment: Amount invested per year (max ₹1,50,000). tenure_years: PPF tenure (15, 20, 25, or 30 years). annual_interest_rate: PPF rate (default 7.1% for FY2025-26).
Returns: Standard envelope with maturity amount, total invested, interest earned.
Notes: EEE tax status: exempt at investment, accumulation, and maturity. Rate is government-administered and revised quarterly.
Inputs: annual_investment (required), tenure_years, financial_year, annual_interest_rate. Returns: object
calculate_presumptive_taxARead-onlyIdempotent
Calculate tax under presumptive scheme (Sections 44AD, 44ADA).
Use when computing tax for small businesses or professionals under presumptive taxation.
Args: scheme: "44AD" or "44ADA" gross_receipts: Total gross receipts digital_receipt_percent: % of receipts via digital mode regime: "new" or "old" age: Assessee age deductions_80c: Section 80C deductions (old regime)
Returns: Presumptive income and total tax payable.
Inputs: scheme (required), gross_receipts (required), age, regime, +3 more. Returns: object
calculate_professional_taxARead-onlyIdempotent
Calculate state-wise professional tax.
Use when computing total tax liability including professional tax deductions.
Args: gross_salary_monthly: Monthly gross salary state_code: 2-char state code (e.g., "MH", "KA", "TN")
Returns: Monthly and annual professional tax amount.
Inputs: state_code (required), gross_salary_monthly (required), financial_year. Returns: object
calculate_rd_maturityARead-onlyIdempotent
Calculate Recurring Deposit maturity amount.
Use when projecting RD returns or planning recurring deposits.
Args: monthly_installment: Monthly deposit amount annual_interest_rate: Annual rate as percentage tenure_months: Deposit tenure in months
Returns: Maturity amount with total interest earned.
Inputs: tenure_months (required), monthly_installment (required), annual_interest_rate (required), financial_year. Returns: object
calculate_rti_deadlineARead-onlyIdempotent
Calculate standard, life/liberty, or APIO-routed RTI response deadlines.
Use when determining the due date for receiving a response to an RTI application.
Args: filed_date: Date filed (YYYY-MM-DD). concerns_life_or_liberty: True if information concerns life or liberty. routed_through_apio: True if submitted via Assistant PIO.
Returns: Standard envelope with the calculated deadline date.
Notes: Not legal advice. Consult a qualified advocate.
Inputs: filed_date (required), routed_through_apio, concerns_life_or_liberty. Returns: object
calculate_rti_feeARead-onlyIdempotent
Calculate the required RTI application fee for central or state authorities.
Use when determining the application fee required to file an RTI request.
Args: state_code: State code or 'central'. applicant_category: 'general' or 'bpl' (Below Poverty Line).
Returns: Standard envelope with the applicable fee amount and mode of payment.
Notes: Not legal advice. Consult a qualified advocate.
Inputs: state_code, applicant_category. Returns: object
calculate_rti_penalty_estimateARead-onlyIdempotent
Estimate potential penalties for delayed RTI responses under Section 20.
Use when computing the estimated penalty that may be imposed on a PIO for delay.
Args: due_date: Due date of the response (YYYY-MM-DD). response_received_date: Actual response date (YYYY-MM-DD) or None if still pending.
Returns: Standard envelope with penalty estimate and days delayed.
Notes: Not legal advice. Consult a qualified advocate.
Inputs: due_date (required), response_received_date. Returns: object
calculate_salary_restructuringARead-onlyIdempotent
Calculate salary restructuring options for tax optimization.
Use when advising employees on tax-efficient salary structures, comparing restructuring options, or planning CTC optimization.
Args: current_gross: Current gross annual salary in INR current_basic_ratio: Current basic salary as ratio of gross structure_type: Structure option (standard, optimized, startup) include_meal_card: Include Sodexo/Food card allowance include_wallet_allowance: Include flexible wallet allowance has_hra: Employee receives HRA rent_in_metro: Rent paid in metro city (higher HRA) family_medical: Include family medical insurance parents_medical: Include parents medical insurance
Returns: Standard envelope with tax-optimized structure, deductions, and estimated tax
Inputs: current_gross (required), has_hra, rent_in_metro, family_medical, +6 more. Returns: object
calculate_sip_returnsARead-onlyIdempotent
Calculate SIP maturity with inflation-adjusted returns.
Use when projecting mutual fund SIP returns or planning systematic investments.
Args: monthly_investment: Monthly SIP amount expected_annual_return: Expected CAGR % tenure_years: Investment tenure inflation_rate: Expected inflation %
Returns: Corpus with wealth gained and inflation-adjusted value.
Inputs: tenure_years (required), monthly_investment (required), expected_annual_return (required), financial_year, +1 more. Returns: object
calculate_stamp_dutyARead-onlyIdempotent
Calculate state stamp duty for various instruments.
Use when estimating the stamp duty payable on legal documents like conveyance or lease.
Args: state_code: State code (e.g., 'MH', 'DL', 'KA'). instrument_type: Type of instrument. transaction_value: Value of the transaction.
Returns: Standard envelope with stamp duty amount and surcharge components.
Notes: Not legal advice. Consult a qualified advocate.
Inputs: state_code (required), instrument_type (required), transaction_value (required). Returns: object
calculate_step_up_sipARead-onlyIdempotent
Calculate SIP with annual step-up increment.
Use when comparing step-up SIP vs flat SIP or planning salary-linked investments.
Args: initial_monthly_investment: Starting SIP amount annual_step_up_percent: % increase each year expected_annual_return: Expected CAGR % tenure_years: Investment tenure
Returns: Corpus comparison between step-up and flat SIP.
Inputs: tenure_years (required), annual_step_up_percent (required), expected_annual_return (required), initial_monthly_investment… Returns: object
calculate_sukanya_samriddhiARead-onlyIdempotent
Calculate SSY or SCSS maturity amount.
Use when planning long-term savings for girl child (SSY) or retirement (SCSS).
Args: scheme: "ssy" or "scss" annual_investment: Annual deposit amount annual_interest_rate: Interest rate (default 8.2%)
Returns: Maturity amount with interest breakdown and tax status.
Inputs: scheme (required), annual_investment (required), financial_year, annual_interest_rate. Returns: object
calculate_surchargeARead-onlyIdempotent
Calculate surcharge and marginal relief for a given income and base tax.
Use when computing surcharge as a standalone calculation, separate from the full income tax tool. The income tax tool uses this logic internally.
Args: total_income: Total income in rupees. base_tax: Base tax amount before surcharge. regime: 'new' (capped at 25%) or 'old' (up to 37%).
Returns: Standard envelope with surcharge rate, before/after marginal relief, and cess base.
Notes: FY2025-26 rates. New regime surcharge capped at 25%.
Inputs: regime (required), base_tax (required), total_income (required), financial_year. Returns: object
calculate_tdsARead-onlyIdempotent
Calculate TDS for a given section and payment amount (FY2025-26).
Use when computing withholding tax on contractor payments, professional fees, interest, rent, commissions, or purchase of goods.
Args: section: TDS section key from supported sections. payment_amount: Gross payment in rupees. pan_available: Whether payee PAN is available (affects rate). is_senior_citizen: For 194A bank interest threshold. aggregate_payments_ytd: Prior payments to same payee in current FY. payee_type: 'individual_huf' or 'other' - affects 194C rate.
Returns: Standard envelope with TDS applicability, rate, amount, net payment.
Notes: FY2025-26 rates. Actual rates may vary by DTAA or Form 15G/15H.
Inputs: section (required), pan_available (required), payment_amount (required), payee_type, +3 more. Returns: object
decode_aa_fi_typeARead-onlyIdempotent
Decode AA Financial Information type and get MCP tool pairings.
Use when mapping FI types to validation/calculation tools.
Args: fi_type: FI type code (e.g., "DEPOSIT", "MUTUAL_FUNDS")
Returns: FI type description, typical fields, and MCP tool pairings.
Inputs: fi_type (required). Returns: object
decode_cnr_numberARead-onlyIdempotent
Decode and validate a 16-character CNR.
Use when extracting state, district, establishment, case type, year, and serial from a CNR number.
Args: cnr: 16-character CNR string.
Returns: Standard envelope containing decoded fields.
Notes: Format validation with field decoding. Not legal advice. Consult a qualified advocate.
Inputs: cnr (required). Returns: object
decode_digilocker_uriARead-onlyIdempotent
Decode DigiLocker document URI and map to validator.
Inputs: uri (required). Returns: object
decode_ipc_bns_crosswalkARead-onlyIdempotent
Provide a bidirectional crosswalk between IPC and BNS sections.
Use when you need to find the equivalent section in BNS from IPC or vice versa.
Args: section: Section number to map. from_act: Source Act ("IPC" or "BNS").
Returns: Standard envelope with crosswalk mapping details.
Notes: Not legal advice. Consult a qualified advocate.
Inputs: section (required), from_act. Returns: object
decode_isinARead-onlyIdempotent
Decode ISIN (International Securities Identification Number) with Luhn check.
Use when validating ISIN for Indian securities.
Args: isin: 12-character ISIN
Returns: Decoded fields with country, NSIN, security type, and Luhn validation.
Inputs: isin (required). Returns: object
decode_pan_typeARead-onlyIdempotent
Decode PAN entity type from 4th character.
Inputs: pan (required). Returns: object
decode_state_codeARead-onlyIdempotent
Decode Indian GST state code metadata from a code or GSTIN prefix.
Use when you need canonical state name, abbreviation, capital, and GST zone mapping.
Args: value: Two-digit code like 27 or GSTIN like 27AAPFU0939F1ZV.
Returns: Standard envelope containing decoded state metadata.
Inputs: value (required). Returns: object
get_regulatory_deadlinesARead-onlyIdempotent
Get India's tax & regulatory compliance calendar for FY2025-26.
Use when planning tax compliance schedules, setting reminders for deadlines, or building financial compliance dashboards.
Args: category: Filter by category (Income Tax, TDS, GST, PF/ESIC, ROC, etc.) from_date: Start date filter (YYYY-MM-DD) to_date: End date filter (YYYY-MM-DD)
Returns: Standard envelope with deadlines grouped by month for FY2025-26
Notes: Covers ITR filing, TDS deposits, GST returns, PF/ESIC, ROC filings, advance tax, and professional tax deadlines.
Inputs: to_date, category, from_date. Returns: object
get_stock_historyBRead-onlyIdempotent
[Experimental] Fetch historical end-of-day data for a given Indian stock ticker.
Inputs: symbol (required), period. Returns: object
get_stock_quoteARead-onlyIdempotent
[Experimental] Fetch current (delayed) price and summary for a given Indian stock ticker.
Inputs: symbol (required). Returns: object
lookup_bankARead-onlyIdempotent
Look up bank details from RBI master list.
Inputs: name_or_code (required). Returns: object
lookup_bbps_billerARead-onlyIdempotent
Look up BBPS (Bharat Bill Payment System) biller details.
Use when setting up bill payments for electricity, gas, DTH, water, broadband, FASTag, insurance, or mobile recharges.
Args: category: Category of biller to filter by. state: State to filter by (or 'all' for pan-India). biller_id: Direct biller ID for specific lookup.
Returns: Standard envelope with matching billers and parameter schemas.
Notes: Data is bundled offline. For real-time directory, check NPCI BBPS.
Inputs: state, category, biller_id. Returns: object
lookup_bns_sectionARead-onlyIdempotent
Look up a BNS section detail.
Use when you need the title and description of a section in the Bharatiya Nyaya Sanhita.
Args: section: BNS section number.
Returns: Standard envelope with section details.
Notes: Not legal advice. Consult a qualified advocate.
Inputs: section (required). Returns: object
lookup_bnss_sectionARead-onlyIdempotent
Look up a BNSS section detail.
Use when you need the title and description of a section in the Bharatiya Nagarik Suraksha Sanhita.
Args: section: BNSS section number.
Returns: Standard envelope with section details.
Notes: Not legal advice. Consult a qualified advocate.
Inputs: section (required). Returns: object
lookup_bsa_sectionBRead-onlyIdempotent
Look up a BSA section detail.
Use when you need the title and description of a section in the Bharatiya Sakshya Adhiniyam.
Args: section: BSA section number.
Returns: Standard envelope with section details.
Notes: Not legal advice. Consult a qualified advocate.
Inputs: section (required). Returns: object
lookup_court_establishment_codeARead-onlyIdempotent
Look up court establishment codes for states, districts, and complexes.
Use when you need to decode the state and district court location from a code.
Args: code: Court establishment code.
Returns: Standard envelope containing location metadata.
Notes: Returns static master data. Not legal advice. Consult a qualified advocate.
Inputs: code (required). Returns: object
lookup_crpc_sectionARead-onlyIdempotent
Look up a CrPC section detail.
Use when you need the title and description of a section in the Code of Criminal Procedure.
Args: section: CrPC section number.
Returns: Standard envelope with section details.
Notes: Not legal advice. Consult a qualified advocate.
Inputs: section (required). Returns: object
lookup_evidence_act_sectionARead-onlyIdempotent
Look up an Indian Evidence Act section detail.
Use when you need the title and description of a section in the Indian Evidence Act.
Args: section: Indian Evidence Act section number.
Returns: Standard envelope with section details.
Notes: Not legal advice. Consult a qualified advocate.
Inputs: section (required). Returns: object
lookup_hsn_codeARead-onlyIdempotent
Lookup HSN/SAC by exact code or search by keyword in code descriptions.
Use for GST classification workflows where users provide a code or only a product keyword.
Args: code: Optional exact HSN/SAC code (2, 4, 6, or 8 digits). keyword: Optional plain-text search token over description field.
Returns: Standard envelope with exact match data or top 5 keyword matches.
Notes: Returns static master data; GST applicability can vary by conditions.
Inputs: code, keyword. Returns: object
lookup_ifscARead-onlyIdempotent
Look up an Indian IFSC code from bundled dataset with live fallback support.
Use this when you need bank branch details from an IFSC code in invoices, onboarding forms, or payment validation workflows.
Args: ifsc_code: IFSC string to validate and lookup. Case-insensitive; whitespace is trimmed.
Returns: Standard envelope containing found flag, branch details, payment rails, and source.
Notes: If not found locally, attempts live lookup at ifsc.razorpay.com with 3s timeout.
Inputs: ifsc_code (required). Returns: object
lookup_ipc_sectionBRead-onlyIdempotent
Look up an IPC section detail.
Use when you need the title and description of a section in the Indian Penal Code.
Args: section: IPC section number.
Returns: Standard envelope with section details.
Notes: Not legal advice. Consult a qualified advocate.
Inputs: section (required). Returns: object
lookup_pincodeARead-onlyIdempotent
Look up India pincode details and return all post offices for that code.
Use for address normalization, district/state extraction, and GST state crosswalk use-cases.
Args: pincode: 6-digit pincode; spaces/hyphens are accepted and normalized.
Returns: Standard envelope with location hierarchy and post_offices array.
Notes: One pincode may map to multiple post offices and all are returned.
Inputs: pincode (required). Returns: object
validate_aa_consent_artifactARead-onlyIdempotent
Validate AA consent artifact structure and flags.
Use when verifying consent artifacts received from AA before processing.
Args: artifact: Consent artifact JSON from AA response
Returns: Validation result with consent details.
Inputs: artifact (required). Returns: object
validate_aadhaarARead-onlyIdempotent
Validate an Indian Aadhaar number with Verhoeff checksum verification.
Use when checking Aadhaar format and checksum in KYC, identity verification, or government benefit workflows.
Args: aadhaar: 12-digit Aadhaar number. Spaces and hyphens are stripped.
Returns: Standard envelope containing validity, checksum result, formatted display, and first-digit check.
Notes: Validates format and Verhoeff checksum only. Not connected to UIDAI. In compliance with the Digital Personal Data Protection Act, 2023 (DPDP Act) and UIDAI guidelines, raw Aadhaar numbers are never stored, logged, or exposed.
Inputs: aadhaar (required). Returns: object
validate_cinARead-onlyIdempotent
Validate and decode an Indian CIN (Company Identification Number).
Use when verifying company registration data, extracting listing status, NIC code, state, year, and company type from a CIN.
Args: cin: 21-character CIN string. Spaces and hyphens stripped automatically. verify_online: Optional opt-in online registry attestation (A4 level).
Returns: Standard envelope containing decoded fields: listing status, NIC code, state, year of incorporation, company type, and serial number.
Notes: Format validation with field decoding. No public checksum.
Inputs: cin (required), verify_online. Returns: object
validate_dinARead-onlyIdempotent
Validate an Indian DIN (Director Identification Number) format.
Use when verifying director identity numbers in MCA compliance workflows.
Args: din: 8-digit numeric DIN string. Shorter inputs zero-padded. Spaces stripped.
Returns: Standard envelope containing validity and normalized DIN.
Notes: Format validation only. Cannot verify director status with MCA.
Inputs: din (required). Returns: object
validate_driving_licenseARead-onlyIdempotent
Validate an Indian driving license number format and decode segments.
Use when verifying DL format, extracting state/RTO/year in KYC workflows.
Args: dl_number: Driving license number. Hyphens/spaces stripped automatically.
Returns: Standard envelope containing validity, state code, state name, RTO code, year of issue, and serial number.
Notes: Format validation only. Handles non-standard pre-Sarathi formats gracefully.
Inputs: dl_number (required). Returns: object
validate_epf_codeARead-onlyIdempotent
Validate EPF establishment code.
Inputs: code (required). Returns: object
validate_esic_codeBRead-onlyIdempotent
Validate ESIC employer code.
Inputs: code (required). Returns: object
validate_fssaiARead-onlyIdempotent
Validate FSSAI (Food Safety) license number format and decode details.
Use when verifying food business operator licenses in compliance checks.
Args: license_number: 14-digit FSSAI license. Spaces/hyphens stripped.
Returns: Standard envelope with validation, state, license type, year decoded.
Notes: The 14-digit format encodes: state(2) + year(2) + type(1) + sequence(9). Type: 1=Central, 2=State, 3=State (turnover-based).
Inputs: license_number (required). Returns: object
validate_gstinARead-onlyIdempotent
Validate and decode an Indian GSTIN with checksum verification.
Use when checking supplier/customer GSTINs before invoicing, reconciliation, or compliance workflows.
Args: gstin: 15-character GSTIN (e.g., 27AAPFU0939F1ZV). Spaces/hyphens stripped. expected_entity_type: Optional expected entity char to match PAN 4th char. verify_online: Optional opt-in online registry attestation (A4 level).
Returns: Standard envelope containing validity, state decode, embedded PAN, entity number, category, and checksum information.
Notes: Validates structure and checksum only; does not verify active GSTN registration status.
Inputs: gstin (required), verify_online, expected_entity_type. Returns: object
validate_llpinARead-onlyIdempotent
Validate LLPIN (Limited Liability Partnership Identification Number).
Use when verifying LLP registration numbers.
Args: llpin: LLPIN in format AAA-XXXX
Returns: Validation result with decoded segments.
Inputs: llpin (required). Returns: object
validate_mobile_numberARead-onlyIdempotent
Validate Indian mobile number and detect operator/circle.
Use when validating mobile numbers for KYC or contact verification.
Args: mobile: Mobile number with or without +91/0
Returns: Validation result with operator and telecom circle.
Inputs: mobile (required). Returns: object
validate_panARead-onlyIdempotent
Validate Indian PAN format and decode entity type from the 4th character.
Use when normalizing tax identity records in KYC, invoicing, or vendor onboarding.
Args: pan: PAN string, example: AAAPL1234C. Spaces and hyphens stripped automatically. verify_online: Optional opt-in online registry attestation (A4 level).
Returns: Standard envelope containing format validity, entity type, and decoded segments.
Notes: PAN check character is not publicly verifiable algorithmically.
Inputs: pan (required), verify_online. Returns: object
validate_passportARead-onlyIdempotent
Validate an Indian passport number format.
Use when verifying passport format in KYC, travel, or identity workflows.
Args: passport_number: 1 letter + 7 digits. Spaces and hyphens stripped automatically.
Returns: Standard envelope containing validity, series letter, and serial number.
Notes: Format validation only. No public checksum algorithm exists.
Inputs: passport_number (required). Returns: object
validate_pranARead-onlyIdempotent
Validate PRAN (Permanent Retirement Account Number) for NPS.
Use when verifying NPS account numbers.
Args: pran: 12-digit PRAN
Returns: Validation result with subscriber category.
Inputs: pran (required). Returns: object
validate_tanARead-onlyIdempotent
Validate TAN (Tax Deduction Account Number) format.
Use when verifying TAN format for TDS compliance.
Args: tan: 10-character TAN
Returns: Validation result with decoded segments.
Inputs: tan (required). Returns: object
validate_upi_vpaARead-onlyIdempotent
Validate UPI VPA structure and decode known provider handles.
Use when checking whether a UPI address is structurally valid before payment routing.
Args: vpa: UPI virtual payment address in username@handle format.
Returns: Standard envelope containing normalized VPA, known_provider flag, and provider metadata.
Notes: Unknown handles are not auto-invalidated because NPCI handle lists evolve over time.
Inputs: vpa (required). Returns: object
validate_voter_idARead-onlyIdempotent
Validate an Indian Voter ID (EPIC) number format.
Use when verifying voter ID format in KYC, identity, or electoral workflows.
Args: voter_id: EPIC number (3 letters + 7 digits). Spaces/hyphens stripped.
Returns: Standard envelope containing validity, prefix, serial, and format type.
Notes: Format validation only. Detects possible legacy EPIC formats.
Inputs: voter_id (required). Returns: object
verify_aadhaar_offline_artifactARead-onlyIdempotent
Verify UIDAI Paperless Offline e-KYC XML/ZIP artifact (A3 Authenticity).
Defends against XXE and expansion bombs via defusedxml. Verifies UIDAI RSA digital signature against bundled trust anchor. DPDP Act compliant: extracts only masked Aadhaar (last 4 digits) and demographic attributes; never outputs raw identifiers.
Inputs: xml_or_zip_bytes_base64 (required), share_code. Returns: object
verify_einvoice_qrARead-onlyIdempotent
Verify cryptographically signed QR code from Indian GST B2B e-invoices (A3 Authenticity).
Validates the NIC RSA digital signature against bundled public trust anchors, verifies internal claims, and cross-checks the 64-char Invoice Reference Number (IRN) against SHA-256(SupplierGSTIN + DocTyp + DocNo + FinYr).
Inputs: qr_text (required), expected_irn, expected_gstin. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 76 tools
Most tools are clearly separated by document type, tax/finance domain, or legal act, so an agent can usually select the right one from the name. There are a few redundant or overlapping tools, such as validate_pan versus decode_pan_type, and standalone calculate_surcharge versus its internal use in calculate_income_tax.
The tool set consistently uses snake_case verb_noun names such as validate_gstin, calculate_emi, lookup_ifsc, decode_cnr_number, and bulk_validate_aadhaar. Minor verb variation between lookup_*, get_*, and decode_* is still predictable and readable.
At 76 tools, the server is far beyond a well-scoped MCP surface and creates a heavy tool-selection burden for an agent. Even though the India compliance domain is broad, this count is extreme and many tools could be grouped or deferred.
Coverage is broad across identity validation, tax calculation, finance, legal lookups, banking, GST, and regulatory deadlines. Some common India-stack utilities are still missing or thin, such as vehicle registration validation, bank account validation, and PAN-Aadhaar link status, but agents can work around many gaps.
Maintenance
Related MCP Connectors
Identity resolution MCP server for phone/email lookups across 31+ services. Global + India coverage.
380+ live data, validation and utility APIs in one MCP server: IP, DNS, email, FX, weather and more.
MCP server for Quaderno — tax-rate calculation, invoices, contacts, products, receipts & expenses.
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
Related MCP Servers
- AlicenseAqualityBmaintenanceLocal-first MCP server for Indian income tax computation, enabling users to compute taxes, compare regimes, plan advance tax, and parse Form 26AS without sending data to the cloud.128 npm10MIT
- AlicenseNot gradedqualityDmaintenanceA standalone MCP server for Indian personal income-tax work (ITR-1/2/3/4 + post-filing notices) with 8 deterministic tools, running fully offline with no API keys.63 PyPIMIT
- AlicenseAqualityCmaintenanceEnables live GSTIN verification, GST return and compliance history lookup, HSN/SAC code searches, and MCA company registry queries through MCP clients.1050 npmMIT
- AlicenseAqualityBmaintenanceEnables agents to search and look up companies in a local mirror of India's MCA master data, decode CINs offline, and validate GSTIN structure and checksums. Every field carries provenance and explicitly flags missing or stale data instead of fabricating it.41MIT