Bahi Mcp

io.github.NayakwadiSPublished by GitHub account NayakwadiSv0.3.1Updated Oct 29, 2026

Indian mutual fund data and analytics, NSE/BSE market data, and financial calculators.

VerifiedSTDIODesktop onlyFinanceData & Analytics

Overview

AI-generated overview

Local MCP server giving assistants Indian mutual fund NAV data, NSE/BSE stock and index quotes, fund analytics and financial calculators.

What you can do
  • Search AMFI schemes and read scheme details, latest NAV quotes, NAV history and portfolio value, plus cache clearing
  • Run fund analytics: SIP return simulation on real NAV history, side-by-side fund comparison and rolling return distributions
  • Fetch NSE/BSE stock quotes, index quotes (Nifty 50, Sensex, Bank Nifty, India VIX) and OHLCV history
  • Compute financial figures: XIRR, CAGR, EMI, FD/RD maturity, lumpsum value, SIP projection, SWP, retirement corpus and mutual fund tax estimates
When to use it
Useful when an assistant needs to answer questions about Indian mutual funds, NSE/BSE stocks and indices, or run investment, loan, deposit and tax calculations without guessing numbers. Suited to research and planning conversations rather than trading or filing decisions.
Requirements
Runs locally as a Python package (Python 3.10+) installed with pip or run via uvx; the optional stock and index tools need the yfinance extra. Network access is required for AMFI and Yahoo Finance data. No accounts, API keys or environment variables are declared.
Before you install
Data comes from public sources and may be delayed or inaccurate; stock data via Yahoo Finance is unofficial and best-effort. Tax estimates use fixed FY 2026-27 assumptions and omit surcharge, loss set-off and older indexation rules. Projections assume constant returns. The server is not investment or tax advice, and results should be verified before decisions.

Installation

In SourceWeft

  1. Open Bahi Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

bahi-mcp

MCP server that gives AI assistants (Claude, Cursor, VS Code and others) access to Indian mutual fund data, NSE/BSE market data and financial calculators.

Bahi (बही) is the traditional Indian ledger. This server keeps the numbers straight so your assistant doesn't guess them.

Disclaimer: bahi-mcp provides information and calculations from public data sources (AMFI via the mftool library, and Yahoo Finance for stocks) and from assumptions you supply. It is not investment or tax advice and the author is not a SEBI-registered adviser. Data may be delayed or inaccurate, and tax rules change. Verify before making decisions.

What you can ask

  • "Compare these three flexi-cap funds on 3-year return, volatility and max drawdown."
  • "How often has this fund beaten 12% on rolling 3-year returns?"
  • "If I had invested ₹10,000 a month in scheme 119551 since January 2020, what would it be worth today, and what is my XIRR?"
  • "What's the Nifty at, and how has RELIANCE done over the last year?"
  • "How much tax would I pay if I sell this equity fund after 14 months with a ₹2 lakh gain?"
  • "How much corpus do I need to retire at 55 if I spend ₹60,000 a month today?"

Tools

Mutual fund data (AMFI)

ToolWhat it does
search_schemesSearch schemes by name, returns AMFI scheme codes
get_scheme_quoteLatest NAV and quote for a scheme code
get_scheme_detailsFund house, type, category, start date
get_nav_historyNAV history with optional date range (capped to keep responses small)
get_portfolio_valueCurrent value of a list of holdings (scheme code + units)
clear_cacheDrop cached AMFI data so the next call fetches fresh NAVs

Mutual fund analytics

ToolWhat it does
calculate_sip_returnsMonthly SIP simulation on a fund's real NAV history: invested, units, value, absolute return, XIRR
compare_fundsSide-by-side 1/3/5-year returns, volatility, max drawdown and Sharpe ratio for 1 to 5 funds
get_rolling_returnsDistribution of rolling returns: min, max, mean, median, how often positive or above a threshold

Stocks and market data (NSE/BSE, via Yahoo Finance; unofficial and best-effort)

ToolWhat it does
get_stock_quoteLatest price, day and 52-week range for an NSE/BSE stock
get_index_quoteNifty 50, Sensex, Bank Nifty, Nifty IT, India VIX
get_stock_historyOHLCV history for a stock or index

Calculators

ToolWhat it does
calculate_xirrXIRR for any dated cash flows
calculate_cagrCAGR between two values over a date range
calculate_emiLoan EMI, total payment, total interest
calculate_fd / calculate_rdFixed and recurring deposit maturity
calculate_lumpsum_valueFuture value of a one-time investment
project_sipSIP projection at an assumed return, with optional yearly step-up
calculate_swpDoes a corpus last under a monthly withdrawal?
plan_retirementCorpus needed and the monthly SIP to build it
estimate_mf_taxCapital gains tax estimate on a fund redemption; use purchase/sale dates for exact 12-month classification

Dates can be DD-MM-YYYY or YYYY-MM-DD.

Install

Requires Python 3.10+.

bash
pip install bahi-mcp                # mutual funds + calculatorspip install "bahi-mcp[stocks]"      # adds NSE/BSE stock and index data

Or run without installing, using uv:

bash
uvx bahi-mcpuvx --with yfinance bahi-mcp        # with stock data

Configure your MCP client

Claude Desktop

Add to claude_desktop_config.json:

json
{  "mcpServers": {    "bahi-mcp": {      "command": "uvx",      "args": ["--with", "yfinance", "bahi-mcp"]    }  }}

Drop "--with", "yfinance" if you don't need stock data. Restart Claude Desktop.

Cursor and other clients

json
{  "mcpServers": {    "bahi-mcp": {      "command": "uvx",      "args": ["--with", "yfinance", "bahi-mcp"]    }  }}

For Cursor, save this in ~/.cursor/mcp.json. Remove "--with", "yfinance" if you don't need stock data.

Notes on data and accuracy

  • Mutual fund data comes from AMFI through mftool (3.4 or newer). NAVs are published after market close, usually by about 9 PM IST. mftool caches NAVs for 24 hours, so use clear_cache after the evening update to see the latest.
  • Stock data comes from Yahoo Finance through yfinance. It is unofficial, can be delayed, rate-limited or change without notice. Don't use it for trading decisions.
  • Tax estimates follow the configured FY 2026-27 assumptions for equity funds (STCG 20%, LTCG 12.5% above the remaining ₹1.25 lakh annual exemption); provide purchase and sale dates for exact calendar 12-month classification, or holding days for an approximate 365-day cutoff. The exemption is shared across eligible gains in a financial year. Debt funds are modelled at slab rate only for units bought on/after 1 April 2023. Surcharge, loss set-off and older indexation rules are not modelled; verify current law and consult a tax professional.
  • Projections (project_sip, calculate_swp, plan_retirement) assume constant returns. Real markets don't behave that way.

Development

bash
git clone https://github.com/NayakwadiS/bahi-mcpcd bahi-mcppython -m venv .venvsource .venv/bin/activate        # Windows: .venv\Scripts\activatepip install -e ".[dev,stocks]"pytestpython -m bahi_mcp               # runs the server over stdio

Layout in src/bahi_mcp/:

  • analytics.py, fund_analytics.py, calculators.py: pure Python, no network, fully tested offline
  • data.py: AMFI access through mftool
  • market.py: stock and index access through yfinance
  • server.py: the MCP tool definitions

Roadmap

  • Portfolio overlap and fund-to-fund correlation
  • Document search over factsheets and SEBI/RBI circulars
  • Hosted version with caching

Contributing

Issues and pull requests are welcome.

License

MIT. See LICENSE.

Source: README.md at commit 77b33b2

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.3.1LatestOct 29, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts