Skip to main content
Glama
codeterrayt

Mutual-Funds-Groww-MCP

by codeterrayt

Python Version Model Context Protocol FastMCP License

An intelligent, professional-grade Model Context Protocol (MCP) server that connects Claude (and other MCP-enabled AI assistants) directly to Groww's live API.

When you ask your AI assistant for mutual fund recommendations or analysis (e.g., "Show me the best Flexi Cap funds with high returns and moderate risk"), the AI intelligently selects and applies multi-dimensional filters, queries Groww's backend in real time, and performs deep portfolio analysis to pick the best mutual funds for your needs.


πŸ€– How the AI Uses This MCP Server

Rather than manually browsing financial portals, your AI assistant autonomously handles fund discovery and analysis for you:

  1. Intelligent Query Interpretation: You talk to Claude in plain natural language (e.g., "Find top-rated equity mutual funds managed by Quant or PPFAS sorted by 3-year returns").

  2. Autonomous Filter Application: Claude automatically translates your request into exact filter criteria defined in filters.py and invokes the search_mutual_funds tool.

  3. Live Groww API Execution: The MCP server connects directly to Groww's live production endpoints (groww.in/v1/api), fetching real-time data.

  4. Deep-Dive Fund Diagnostics: To pick and analyze the best funds, Claude invokes fetch_mutual_fund_details to examine the fund's top 10 holding companies, fund managers' experience & education, Sharpe/Sortino/Alpha/Beta risk metrics, CAGR vs category average, NAV, AUM, Expense Ratio, and Exit Load.


Related MCP server: mftool-mcp

πŸ“½οΈ Demo Video

https://github.com/user-attachments/assets/9c28dd77-0fd1-4947-a0bf-f7c50a4e5248

πŸ“Έ Screenshots

Real-Time Search & Deep-Dive Analysis

Claude executing real-time screener queries and analyzing detailed metrics, portfolio holdings, risk parameters, and CAGR.


πŸ”₯ Key Capabilities

  • Direct Live Groww API Data: Always returns real-time, production-grade financial data directly from Growwβ€”no stale datasets or mock data.

  • Top 10 Portfolio Company Holdings: Extracts the exact top companies invested in by the fund, along with sector allocation and corpus percentage (corpus_percent).

  • Fund Manager Profiling: Fetches fund managers' full names, educational background, and total career experience.

  • Advanced Volatility & Risk Metrics: Evaluates Sharpe Ratio, Sortino Ratio, Alpha, Beta, and Standard Deviation alongside scheme risk levels (Low to Very High).

  • CAGR & Benchmark Comparison: Compares 1Y, 3Y, 5Y, and since-launch CAGR against the benchmark index and category average, plus 1Y/2Y/3Y SIP return calculations.

  • Clean LLM Optimization: Raw API JSON responses are automatically pruned to remove UI clutter, saving token context while preserving essential analytical data.


βš™οΈ Filter Capabilities Available to AI

The AI dynamically applies these filter enums from filters.py according to your prompt requirements:

  • Groww Verdict (GrowwVerdict): TOP_BUY, BUY, HOLD, SELL

  • Asset Categories (AssetCategory): Equity, Debt, Hybrid, Commodities

  • Sub-Categories (SubCategory):

    • Equity: Flexi Cap, Large Cap, Mid Cap, Small Cap, Large & MidCap, Multi Cap, ELSS, Sectoral, Thematic, Value Oriented, International

    • Debt: Liquid, Corporate Bond, Banking and PSU, Credit Risk, Dynamic Bond, Gilt, Money Market, Overnight, Short Duration, Ultra Short Duration, etc.

    • Hybrid: Aggressive Hybrid, Arbitrage, Balanced Hybrid, Conservative Hybrid, Dynamic Asset Allocation, Equity Savings, Multi Asset Allocation

    • Commodities: Gold, Silver

  • Risk Profile (RiskLevel): Low, Moderately Low, Moderate, Moderately High, High, Very High

  • Sorting Options (SortOption): Popularity (3), Prime Verdict (10), 1Y Returns (4), 3Y Returns (0), 5Y Returns (5)

  • AMC / Fund Houses (FundHouse): 50+ fund houses supported (e.g., Axis Mutual Fund, HDFC Mutual Fund, SBI Mutual Fund, Quant Mutual Fund, PPFAS Mutual Fund, Mirae Asset Mutual Fund, etc.)

  • Index Only: Option to narrow results strictly to Index Funds.


πŸš€ Installation & Authentication

1. Clone the Repository

git clone https://github.com/codeterrayt/Mutual-Funds-Groww-MCP.git
cd Mutual-Funds-Groww-MCP

2. Configure Authentication in auth.py

Because live data is fetched directly from Groww's authenticated backend endpoints, you need to fill in your session credentials in auth.py.

  1. Log into your account on groww.in.

  2. Open Developer Tools in your browser (F12 or Ctrl + Shift + I) and switch to the Network tab.

  3. Search for any fund or refresh the page.

  4. Select any network request to groww.in/v1/api and check the Headers section:

    • Copy the authorization header value (e.g., Bearer eyJ...).

    • Copy the cookie header value.

  5. Open auth.py and fill in your credentials:

# auth.py
AUTHORIZATION_TOKEN = "Bearer eyJ....."
COOKIE = "dso.....;"

πŸ”Œ Registering with Claude Desktop

Register this MCP server in Claude Desktop's process configuration file so Claude can execute these tools.

Claude Desktop Configuration Location

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

claude_desktop_config.json Snippet

Option 1: Using uv (Recommended)

uv will automatically manage dependencies using pyproject.toml and run the server.

{
  "mcpServers": {
    "groww-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "d:/Projects/GROWW MCP",
        "run",
        "main.py"
      ]
    }
  }
}

Option 2: Using standard Python executable

If you prefer running using your python environment:

{
  "mcpServers": {
    "groww-mcp": {
      "command": "d:/Projects/GROWW MCP/.venv/Scripts/python.exe",
      "args": [
        "d:/Projects/GROWW MCP/main.py"
      ]
    }
  }
}

(Note: Replace d:/Projects/GROWW MCP with your local repository path, ensuring path slashes are written as /).

After editing the config, stop Claude From System Tray and restart Claude Desktop. You will see the tools active in Claude Desktop.


πŸ› οΈ MCP Tools Overview

1. search_mutual_funds

Searches and screens live mutual fund schemes from Groww based on criteria provided by the AI.

  • Parameters: groww_verdict, categories, sub_categories, index_only, fund_houses, risk_levels, sort_by, search_query, page, size.

2. fetch_mutual_fund_details

Retrieves in-depth holdings, risk metrics, returns CAGR, and fund manager profiles using the fund's search_id.

  • Parameters: search_id (e.g., quant-small-cap-fund-direct-growth).


βš–οΈ Disclaimer

This project is an open-source tool for personal research and analysis. It is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Groww (groww.in).

πŸ“„ License

This project is open-source software licensed under the MIT License.

Available Tools

2 tools
fetch_mutual_fund_detailsA

Fetch in-depth details of a specific mutual fund scheme using its search_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
search_idYesUnique search identifier for the mutual fund scheme (e.g., 'axis-silver-fof-regular-growth').

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the transparency burden. It indicates a read-only fetch operation and the required search_id, but it does not disclose what 'in-depth details' includes, potential errors, or any behavior beyond the basic retrieval.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that front-loads the action ('Fetch in-depth details') and specifies the required input. Every word earns its place; no filler or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter retrieval tool, the description is minimally adequate. It does not explain what 'in-depth details' means or how the output relates to the sibling search tool, but the schema covers the parameter and the operation is clear enough for basic use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema fully describes the single parameter with a clear description and example (e.g., 'axis-silver-fof-regular-growth'). The description's mention of 'search_id' adds no additional semantic value beyond what the schema already provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches in-depth details for a specific mutual fund scheme using a search_id. This distinguishes it from the sibling search_mutual_funds, which presumably returns a list of funds, by focusing on retrieving details for one identified fund.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: one would first search mutual funds to obtain a search_id, then call this tool for details. However, the description does not explicitly mention when to prefer this over search_mutual_funds or provide any usage exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_mutual_fundsA

Search and filter mutual funds in real-time using Groww's live API endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination.
sizeNoNumber of schemes to fetch per page.
sort_byNoSort funds by Popularity ('3'), Prime Verdict ('10'), 1Y ('4'), 3Y ('0'), or 5Y Returns ('5').3
categoriesNoBroad asset category (Equity, Debt, Hybrid, Commodities).
index_onlyNoToggle True to filter exclusively for Index Funds.
fund_housesNoFilter by one or more AMC Fund Houses.
risk_levelsNoFilter by scheme risk levels (Low to Very High).
search_queryNoOptional text query to match specific fund names.
groww_verdictNoFilter by Prime/Groww verdict ratings (TOP_BUY, BUY, HOLD, SELL).
sub_categoriesNoSpecific sub-categories (Flexi Cap, Large Cap, Liquid, Gold, etc.).

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of behavioral disclosure. It adds 'real-time' and 'live API endpoint' as useful context, but it does not mention rate limits, pagination behavior, or explicitly state that it is a read-only operation. The non-mutating nature of 'search' is implied, but additional details would strengthen transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the core purpose. It contains no fluff and earns its place by conveying both the resource and the live-data characteristic.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (10 parameters) and lack of an output schema, the description is somewhat minimal. It does not explain the return format or pagination behavior, though these are partially evident from the schema. For a search tool, the response is likely a list of funds, but this is not explicitly stated. Overall, the description is adequate but not fully comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 10 parameters with clear descriptions and defaults. The tool description adds no additional parameter-specific meaning, which is acceptable since the schema fully covers semantics. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Search and filter mutual funds in real-time using Groww's live API endpoint' clearly states the action (search and filter), the resource (mutual funds), and the specific context (real-time via Groww's live API). This distinguishes it from the sibling tool 'fetch_mutual_fund_details' by emphasizing search/filter over detail retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for finding and filtering mutual funds but does not explicitly state when to use this tool versus 'fetch_mutual_fund_details'. It lacks direct guidance on alternatives or exclusions, though the purpose is inferable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.9/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: one for searching/filtering funds and the other for fetching details of a specific fund. There is no overlap or ambiguity in their intended use.

Naming Consistency5/5

Both tool names follow the consistent verb_noun pattern in snake_case (search_mutual_funds, fetch_mutual_fund_details). The minor pluralization difference is not enough to break the overall consistent style.

Tool Count3/5

With only two tools, the server feels quite thin for a mutual funds domain. While the two tools are essential, the low count suggests a limited scope that may not cover broader investor needs.

Completeness4/5

Search and details cover the core discovery and lookup workflow for mutual funds. However, there are minor gaps such as no explicit tool for historical performance or fund comparison, though these could potentially be accessed through search and details.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that enables users to manage equity holdings, execute trades, and track market data on Groww using natural language. It supports mutual fund investments and SIP management, including a mock mode for risk-free testing.
    23
    14
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    An MCP server for the Groww trading platform. This enables LLM applications to interact with your Groww trading account.
    4
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server for screening Indian stocks and mutual funds by wrapping screener.in and Morningstar India, enabling fundamental queries from Claude or Cursor.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/codeterrayt/Mutual-Funds-Groww-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server