BharatPay MCP

BharatPay MCP

Provides AI agents with Indian fintech utilities including IFSC bank lookups, PAN/GSTIN validation, mutual fund NAVs, UPI VPA identification, pincode lookups, and INR formatting, all with zero authentication and zero cost.

Category
Visit Server

README

๐Ÿ‡ฎ๐Ÿ‡ณ BharatPay MCP

An MCP server that gives any AI agent โ€” Claude Desktop, Cursor, Windsurf โ€” instant access to Indian fintech utilities. IFSC bank lookups, PAN/GSTIN validation with checksums, mutual fund NAVs, UPI VPA identification, pincode lookups, and Indian-style INR formatting. Seven tools. Zero auth. Zero cost. Designed to complement Razorpay's official MCP server โ€” they handle execution, BharatPay handles validation and lookups.

๐ŸŽฅ Demo coming soon ยท ๐Ÿ“ฆ pip install bharatpay-mcp ยท ๐Ÿ”— PyPI


Why this exists

Razorpay shipped an official MCP server in early 2025 for executing payment operations โ€” creating orders, capturing payments, refunding. It's excellent.

But every Indian fintech project also needs a layer below that: validation and enrichment. Is this PAN's format correct? Does this GSTIN's mod-36 checksum verify? What bank does this IFSC code belong to? What's the PSP behind user@oksbi? What's today's NAV for Parag Parikh Flexi Cap?

Currently, an AI agent has to either hallucinate these answers or call seven different APIs with seven different auth schemes. BharatPay collapses all of it into a single MCP server an agent can install in 30 seconds.

Position-wise: BharatPay sits next to Razorpay's MCP, not in competition with it. They handle transactions; we handle validation. Use both together for a complete Indian-fintech AI stack.


Demo

Claude Desktop autonomously calling lookup_ifsc for an Indian bank lookup:

PyPI version Downloads Tests Python License MCP

Claude calling bharatpay's lookup_ifsc tool


What's in the box

Tool Input What it returns
lookup_ifsc KKBK0000261 Bank, branch, address, MICR/SWIFT, supported rails (NEFT/RTGS/IMPS/UPI). Source: Razorpay's open IFSC API.
validate_pan AABCT3518Q Format check, entity type (Individual/Company/HUF/Trust/...) decoded from the 4th character.
validate_gstin 29AABCT1332L1ZS Format + mod-36 checksum verification, embedded state and PAN extraction.
lookup_pincode 302001 District, state, all post offices. Source: India Post API.
get_mutual_fund_nav parag parikh flexi cap or 122639 Latest NAV from AMFI's daily file. Fuzzy name search or exact code lookup. Cached for 6h.
validate_upi_vpa angelina@oksbi PSP identification (Google Pay/PhonePe/Paytm/...) and underlying bank from the handle suffix.
format_inr 100000 or 29500 (paise mode) โ‚น1,00,000 (Indian comma style) + word form (1 Lakh, 1.5 Crore, etc.).

Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   AI Agent          โ”‚   MCP / stdio      โ”‚   BharatPay MCP      โ”‚
โ”‚   (Claude / Cursor) โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€> โ”‚   (this server)      โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                                      โ”‚
                          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                          โ”‚                           โ”‚                           โ”‚
                   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                   โ”‚  Pure-logic โ”‚         โ”‚   Live HTTP APIs   โ”‚        โ”‚   Cached file   โ”‚
                   โ”‚  validators โ”‚         โ”‚ (no auth, no cost) โ”‚        โ”‚   (refreshed 6h)โ”‚
                   โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค         โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค        โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
                   โ”‚ PAN         โ”‚         โ”‚ ifsc.razorpay.com  โ”‚        โ”‚ AMFI NAVAll.txt โ”‚
                   โ”‚ GSTIN+mod36 โ”‚         โ”‚ postalpincode.in   โ”‚        โ”‚ (~6 MB, ~30K    โ”‚
                   โ”‚ UPI VPA     โ”‚         โ”‚                    โ”‚        โ”‚  schemes)       โ”‚
                   โ”‚ INR format  โ”‚         โ”‚                    โ”‚        โ”‚                 โ”‚
                   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Design notes worth calling out:

  1. Validators are pure functions. PAN, GSTIN, UPI, and INR run entirely offline โ€” zero network, zero failures from API outages. The mod-36 GSTIN checksum is implemented from the GSTN spec (verified self-consistent: see tests/test_validators.py::test_gstin_checksum_self_consistent).
  2. Network tools are async. IFSC and pincode lookups use httpx.AsyncClient so the MCP server can handle parallel tool calls without blocking.
  3. AMFI data is cached, not re-fetched per call. A single 6 MB file covers all ~30,000 Indian mutual fund schemes; refreshing it on every NAV query would be wasteful and slow. Cache TTL: 6 hours.
  4. Tool descriptions are LLM-tuned. Each tool's docstring is written for the model to read โ€” explicit input formats, examples, and what it returns. This is what determines whether an agent successfully picks the right tool.
  5. No data leaves your machine for offline tools. PAN/GSTIN/UPI/INR validation never touches the network. Useful for compliance-sensitive contexts.

Install

Option 1: pip (recommended)

pip install bharatpay-mcp

Then add to ~/Library/Application Support/Claude/claude_desktop_config.json (Mac) or the Windows equivalent:

{
  "mcpServers": {
    "bharatpay": {
      "command": "python",
      "args": ["-m", "bharatpay_mcp"]
    }
  }
}

Restart Claude Desktop. Look for the ๐Ÿ”Œ icon โ€” bharatpay should be listed.

Option 2: From source

git clone https://github.com/angelina10504/bharatpay-mcp
cd bharatpay-mcp
pip install -e .

For Cursor

Add to .cursor/mcp.json in your project:

{
  "mcpServers": {
    "bharatpay": {
      "command": "python",
      "args": ["-m", "bharatpay_mcp"]
    }
  }
}

Try it

Once connected, try these prompts in Claude Desktop:

"Look up IFSC code KKBK0000261 and tell me what payment rails it supports."

"Is 29AAGCB7407Q1ZN a valid GSTIN? If so, what state is the entity registered in?"

"What's today's NAV for Parag Parikh Flexi Cap regular growth?"

"My friend's UPI ID is priya@oksbi โ€” which app does she use?"

"Format โ‚น12,00,000 in Indian style and tell me what it would be in paise."

The agent will autonomously pick the right tool. You'll see the tool call and its structured JSON response inline.

Tests

pip install -e ".[dev]"
pytest tests/ -v

17 unit tests cover all offline validators including a self-consistency test for the GSTIN mod-36 checksum.

What's next (V2)

  • validate_aadhaar(number) โ€” Verhoeff checksum (offline, no UIDAI API needed)
  • get_holiday_calendar() โ€” RBI bank holidays (settlement-day awareness)
  • stock_quote(symbol) โ€” NSE/BSE live quotes for RELIANCE.NS-style tickers
  • tax_slab_calculator(income, regime) โ€” Old vs new regime estimation
  • Bundle as npx @bharatpay/mcp for zero-install distribution

Open an issue on GitHub if you want any of these prioritized.

A note on "AI-first India"

When Razorpay launched their MCP server, they framed it as "designed for an AI-first world." That framing is right โ€” but transactions are only half the picture. Half the engineering effort in any Indian fintech goes into validation, enrichment, and lookups that an AI agent can't reliably hallucinate. That's the gap BharatPay fills.

If you're building AI tools for Indian fintech and you find a utility missing, open an issue or send a PR.

License

MIT โ€” see LICENSE. All upstream APIs (Razorpay IFSC, India Post, AMFI) are themselves free and publicly available under their respective terms.


Built by Angelina Gupta ยท April 2026

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured