mftool-mcp
This MCP server provides comprehensive access to Indian Mutual Funds data, enabling queries, analysis, and comparison of mutual fund schemes.
Live NAV: Get current NAV for a single scheme (
get_scheme_quote) or multiple schemes (get_bulk_quotes).Historical NAV: Fetch full NAV history (
get_scheme_historical_nav) or filter by date range in DD-MM-YYYY format (get_scheme_historical_nav_for_dates).Scheme Discovery: Retrieve all AMFI scheme codes (
get_scheme_codes), browse schemes by AMC (get_available_schemes), search by name keyword with optional AMC filtering (search_scheme_by_name), and validate scheme codes (is_valid_scheme_code).Scheme Details: Get fund house, type, category, and launch date (
get_scheme_details).Performance Reports: Daily performance with 1Y/3Y/5Y returns for equity (Large/Mid/Small Cap, Flexi Cap, Sectoral), debt (Liquid, Gilt, Corporate Bond), hybrid (Balanced Advantage, Arbitrage), and ELSS funds.
Return Calculation: Compute SIP returns with absolute return and annualised IRR (
calculate_returns).Cache Management: View stats, clear cache, and toggle caching on/off.
🇮🇳 mftool-mcp
MCP Server for publicly available Indian Mutual Funds data
Powered by mftool · Works with Claude, Cursor, and any MCP-compatible LLM client
What is this?
mftool-mcp is a Model Context Protocol (MCP) server that gives any LLM client access to Indian Mutual Fund data.
Ask your AI assistant questions like:
"What is the current NAV of SBI Bluechip Direct Growth?"
"Show me 3-year returns for HDFC Midcap Opportunities Fund"
"List all schemes under Mirae Asset AMC"
"Find all flexi cap funds and compare their 5-year returns"
Related MCP server: Daito
Tools Available
Tool | Description |
| Live NAV for any scheme by AMFI scheme code |
| Live NAV for multiple schemes at once (concurrent) |
| Full NAV history for a scheme (all available dates) |
| NAV history filtered to a specific date range (DD-MM-YYYY) |
| NAV history via BSE/YFinance code with period or date range |
| All AMFI scheme codes and names |
| All schemes under a specific AMC |
| Fund house, type, category, start date (AMFI code) |
| Rich scheme info — AUM, returns, ratings (BSE/YFinance code) |
| Validate an AMFI numeric scheme code |
| Validate a BSE/new format scheme code |
| Search schemes by name keyword with relevance ranking |
| Search schemes within a specific AMC |
| Search schemes by type/category (equity, debt, elss, etc.) |
| Average AUM (domestic & overseas) for all AMCs by quarter |
| Daily performance for all equity funds (1Y/3Y/5Y returns) |
| Daily performance for all debt funds (1Y/3Y/5Y returns) |
| Daily performance for all hybrid funds (1Y/3Y/5Y returns) |
| Daily performance for solution-oriented funds (retirement, children) |
| Daily performance for index funds and Fund of Funds |
| Calculate SIP returns — absolute return % and annualised IRR |
| View hit/miss stats for NAV and scheme code caches |
| Clear all cached data to force fresh fetches |
| Enable or disable mftool caching globally |
Quick Start
Using uvx (Recommended — no install needed)
uvx mftool-mcpUsing pip
pip install mftool-mcp
mftool-mcpClaude Desktop Setup
Add this to your claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"mftool-mcp": {
"command": "uvx",
"args": ["mftool-mcp"]
}
}
}Restart Claude Desktop. You'll see mftool-mcp listed under connected tools.
Cursor / Other MCP Clients
In your MCP client settings, add:
{
"mftool-mcp": {
"command": "uvx",
"args": ["mftool-mcp"]
}
}Example Conversations
Finding a fund:
You: "Find all SBI midcap mutual fund scheme codes"
Claude: callssearch_schemes_by_amc(amc_name='sbi', query='midcap')
Claude: "Here are the SBI midcap schemes: SBI Magnum Midcap Fund - Direct Growth (code: 125497)..."
Live NAV:
You: "What's the current NAV of scheme 125497?"
Claude: callsget_scheme_quote(scheme_code='125497')
Claude: "SBI Magnum Midcap Fund - Direct Growth: NAV ₹234.56 (as of 05-Apr-2025)"
Performance comparison:
You: "Compare 5-year returns for large cap equity funds"
Claude: callsget_equity_scheme_performance()
Claude: "Here's the 5-year return comparison for Large Cap funds: ..."
Data Source
All data is sourced via the mftool library. Data accuracy depends on published figures. This tool is for informational purposes only and does not constitute financial advice.
Development
git clone https://github.com/NayakwadiS/mftool-mcp
cd mftool-mcp
pip install -e ".[dev]"
# Run the server locally
python -m mftool_mcp.serverAcknowledgements
mftool — the underlying data library
Associated Initiatives
NSE Stock predictions NSE-Neuron
Available Tools
12 toolsget_available_schemesA
Get all mutual fund schemes available under a specific AMC (Asset Management Company).
Args: amc_name: Partial or full name of the AMC (case-insensitive). Examples: 'hdfc', 'sbi', 'axis', 'icici', 'mirae', 'parag', 'dsp'.
Returns: Dictionary mapping scheme codes (str) to scheme names (str) for the given AMC.
| Name | Required | Description | Default |
|---|---|---|---|
| amc_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden. It details the input (partial/full AMC name, case-insensitive) and output format (dictionary mapping codes to names). However, it does not mention idempotency, error handling, or potential response size for broad inputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (two sentences) and well-structured: purpose, parameter explanation with examples, and return description. No superfluous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (single parameter, no output schema, no nested objects), the description provides sufficient information for correct usage. It could optionally mention behavior for unknown AMC names, but this is not a critical gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% (only name and type), but the description adds essential semantics: it explains the parameter accepts partial/full AMC names, is case-insensitive, and provides concrete examples. This fully compensates for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves mutual fund schemes for a specific AMC, using a specific verb ('Get') and resource. It distinguishes from sibling tools like get_scheme_codes which are not AMC-specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use (when querying schemes by AMC) but does not explicitly contrast with alternatives like get_scheme_codes or search_scheme_by_name. It remains effective for its purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_debt_scheme_performanceA
Get daily performance data for all open-ended DEBT mutual fund schemes. Includes Liquid, Overnight, Short Duration, Corporate Bond, Gilt funds, etc. Shows latest NAV (Regular & Direct plans) and 1Y/3Y/5Y returns.
Returns: Dictionary categorized by debt fund type with performance metrics.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description bears the full burden. It discloses that the tool shows daily performance, latest NAV, and returns, but omits details like data freshness, authentication needs, or rate limits. It is moderately transparent but leaves gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a single sentence for purpose and a bullet list for details. All information is relevant and front-loaded, with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description explains the return value as a dictionary categorized by debt fund type with performance metrics. While not exhaustive, it provides enough context for basic usage. More detail on return structure would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters (input schema is empty with 100% coverage). The description does not need to explain parameters, and the absence of input is clearly conveyed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves daily performance data for open-ended DEBT mutual fund schemes, listing specific fund types (Liquid, Overnight, etc.). This distinguishes it from sibling tools like get_equity_scheme_performance or get_hybrid_scheme_performance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for debt fund queries by naming the fund category and examples. However, it does not explicitly state when to avoid using this tool (e.g., for equity or hybrid funds) or direct users to alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_elss_scheme_performanceA
Get daily performance data for ELSS (Equity Linked Savings Scheme) mutual funds. ELSS funds offer tax benefits under Section 80C with a 3-year lock-in period. Shows latest NAV (Regular & Direct plans) and 1Y/3Y/5Y returns.
Returns: Dictionary with ELSS fund performance metrics.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It describes the output (NAV, returns) but does not disclose any side effects, authentication needs, or rate limits. As a read-only get tool, the lack of explicit safety disclosure reduces transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: three sentences plus a return type line. It front-loads the core purpose and includes relevant background (tax benefits, lock-in) without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless tool with no output schema, the description sufficiently covers what the tool does and what it returns (NAV, returns). No additional context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, and schema description coverage is 100% (trivially). Per guidelines, baseline for zero parameters is 4. The description adds no extra parameter information because none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it retrieves daily performance data specifically for ELSS mutual funds, distinguishing it from sibling tools like get_equity_scheme_performance which cover broader categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool returns but does not explicitly state when to use it over alternatives or provide any exclusion criteria. There is no clear guidance on preferring this over sibling tools like get_equity_scheme_performance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_equity_scheme_performanceA
Get daily performance data for all open-ended EQUITY mutual fund schemes. Includes Large Cap, Mid Cap, Small Cap, Flexi Cap, ELSS, Sectoral, etc. Shows latest NAV (Regular & Direct plans) and 1Y/3Y/5Y returns.
Returns: Dictionary categorized by equity fund type with performance metrics.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden. It discloses that the tool returns daily data, covers all open-ended equity schemes, and provides latest NAV and returns. However, it does not mention rate limits or authentication needs, but these are likely minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the main purpose, and uses bullet points for categories and metrics without unnecessary words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description explains the return format (dictionary by equity fund type) and the data included (NAV, returns). It is complete enough for an agent to understand the tool's output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has zero parameters with 100% coverage, so the baseline is 4. The description adds no parameter info, which is appropriate since there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves daily performance data for open-ended EQUITY mutual fund schemes, listing specific categories and metrics (NAV, returns). It effectively distinguishes itself from siblings that target debt, hybrid, or ELSS schemes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for equity mutual funds but does not explicitly state when to use this tool versus alternatives like get_elss_scheme_performance or get_hybrid_scheme_performance. No guidance on when not to use it is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_hybrid_scheme_performanceA
Get daily performance data for all open-ended HYBRID mutual fund schemes. Includes Balanced Advantage, Aggressive Hybrid, Conservative Hybrid, Arbitrage, etc. Shows latest NAV (Regular & Direct plans) and 1Y/3Y/5Y returns.
Returns: Dictionary categorized by hybrid fund type with performance metrics.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. The verb 'Get' and the description of returning data strongly imply a read-only operation. However, it could explicitly state that no modifications occur. The return format is described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is short (two paragraphs), front-loaded with purpose, lists included types, details output metrics, and describes return format. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description fully specifies the tool's scope (open-ended hybrid schemes), examples, metrics (NAV, returns), and return structure (dictionary categorized by fund type). Complete for its simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has zero parameters with 100% coverage, so description does not need to add parameter info. The description adds no parameter semantics beyond schema, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it retrieves daily performance data for hybrid mutual fund schemes, with explicit examples of hybrid types. This distinguishes it from siblings like get_equity_scheme_performance and get_debt_scheme_performance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The tool is clearly intended for hybrid funds, as indicated by the name and description. However, no explicit when-to-use or when-not-to-use guidance is given, though context from sibling tools implies the distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scheme_codesA
Get a dictionary of ALL mutual fund scheme codes and names available on AMFI. Returns a large dataset with scheme_code -> scheme_name mappings. Use this to discover scheme codes for funds you want to query.
Returns: Dictionary mapping scheme codes (str) to scheme names (str).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral information. It mentions 'large dataset' hinting at size but lacks details on performance, limits, or whether the data is cached. More transparency would improve this score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with four sentences, front-loading the purpose. Every sentence adds value, and there is no redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description adequately explains the return format and usage. However, it does not reference sibling tools or provide context about when to use alternatives, which could be improved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so schema description coverage is 100%. The description does not need to add parameter semantics; the baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and identifies the resource as a dictionary of ALL mutual fund scheme codes and names. It clearly distinguishes from siblings like search_scheme_by_name and is_valid_scheme_code, which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states to use this tool to discover scheme codes for funds to query. It does not explicitly mention when not to use it or compare to siblings, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scheme_detailsA
Get detailed metadata for a mutual fund scheme including fund house, type, category, and scheme start date.
Args: scheme_code: AMFI numeric scheme code (e.g., '119597').
Returns: Dictionary with fund_house, scheme_type, scheme_category, scheme_code, scheme_name, scheme_start_date.
| Name | Required | Description | Default |
|---|---|---|---|
| scheme_code | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only describes the return format but does not disclose that it is a read-only operation, nor does it address error handling, required permissions, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a clear structure: purpose, Args, and Returns. Every sentence adds value without unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter and no output schema, the description covers the main functionality and return fields. However, it lacks information on behavior when the scheme code is invalid or not found, which is important for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides a clear semantic explanation of the scheme_code parameter, specifying it as an AMFI numeric code with an example ('119597'). This adds meaning beyond the input schema, which lacks parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves detailed metadata for a mutual fund scheme, listing specific fields like fund house, type, category, and start date. It distinguishes from sibling tools that focus on quotes, historical NAV, or available schemes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when you have a scheme_code and want metadata, but it does not explicitly state when to prefer this tool over alternatives like get_scheme_quote or search_scheme_by_name, nor does it mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scheme_quoteA
Get the latest NAV (Net Asset Value) quote for a mutual fund scheme.
Args: scheme_code: AMFI numeric scheme code (e.g., '119597' for an SBI fund). Use get_scheme_codes or search_scheme_by_name to find codes.
Returns: Dictionary with scheme_code, scheme_name, last_updated, nav.
| Name | Required | Description | Default |
|---|---|---|---|
| scheme_code | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool returns a dictionary with specific keys (scheme_code, scheme_name, last_updated, nav) but does not mention potential failure modes (e.g., invalid scheme code), rate limits, or update frequency. Adequate given the simple read-only nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a clear first sentence stating the purpose followed by Args and Returns sections. Every sentence adds value, and the structure is easily scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, no output schema). The description explains the parameter and output sufficiently. Minor gap: does not clarify whether the NAV is real-time or end-of-day, but this is not critical for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description fully compensates. It explains that scheme_code is an AMFI numeric code, provides a concrete example, and directs users to sibling tools for finding codes. This adds meaningful context beyond the schema's title.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states that the tool retrieves the latest NAV quote for a mutual fund scheme, specifying the return fields. The description uses a specific verb ("Get") and resource ("NAV quote"), distinguishing it from sibling tools like get_scheme_details or get_scheme_historical_nav.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides guidance on how to find the required scheme code using sibling tools (get_scheme_codes or search_scheme_by_name). However, it does not explicitly state when to prefer this tool over other quote-related siblings (e.g., get_scheme_details).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
is_valid_scheme_codeA
Check whether a given scheme code is a valid AMFI scheme code.
Args: scheme_code: Numeric scheme code to validate (e.g., '119597').
Returns: Dictionary with 'valid' (bool) and 'scheme_code' fields.
| Name | Required | Description | Default |
|---|---|---|---|
| scheme_code | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description adds value by disclosing the return structure (dictionary with 'valid' and 'scheme_code' fields). It could further mention that the operation is read-only and idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the main purpose. The Args/Returns format is slightly more verbose than needed but still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple boolean validation tool, the description covers the return fields. However, it does not explain exactly what constitutes a valid AMFI code, which might be inferred but is not explicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates by explaining the parameter 'scheme_code' is numeric as a string and provides an example ('e.g., 119597'), adding meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'check', the resource 'scheme code', and specifies it's a valid AMFI scheme code, which distinguishes it from sibling tools that fetch or list schemes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for validation but provides no explicit guidance on when to use it versus alternatives like get_scheme_codes or search_scheme_by_name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_scheme_by_nameA
Search for mutual fund schemes by name keyword. Optionally filter by AMC. Use this when you know a fund name but not its scheme code.
Args: query: Keyword to search in scheme names (e.g., 'midcap', 'bluechip', 'flexi'). amc_name: Optional AMC filter (e.g., 'hdfc', 'sbi'). Leave empty to search all.
Returns: Dictionary mapping scheme codes to matching scheme names.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| amc_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, but the description discloses the return format (dictionary mapping scheme codes to names) and implies no side effects (search operation). It is transparent about the tool's behavior, though it could mention that it is read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with three sentences plus an Args/Returns section. It is front-loaded with the main purpose and contains no unnecessary words. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description provides essential return information ('Dictionary mapping scheme codes to matching scheme names'). For a search tool with two simple parameters, this is complete and sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema lacks descriptions, but the description fully compensates by explaining 'query' (keyword to search in scheme names with examples) and 'amc_name' (optional AMC filter with examples). This adds significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search for mutual fund schemes by name keyword. Optionally filter by AMC.' It also specifies the use case: 'Use this when you know a fund name but not its scheme code.' This distinguishes it from sibling tools that likely require scheme codes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly guides when to use the tool: 'Use this when you know a fund name but not its scheme code.' It does not explicitly mention when not to use it or provide alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have distinct purposes, but get_available_schemes and get_scheme_codes both return scheme codes and names, causing potential confusion. The rest are clearly differentiated by function.
All tool names follow a consistent snake_case verb_noun pattern (e.g., get_equity_scheme_performance, search_scheme_by_name), making it predictable for an agent.
12 tools cover the essential operations for a mutual fund data server—discovery, details, NAV history, performance categories, and validation—without being excessive.
Covers core CRUD-like operations and performance data by category. Minor gaps include lack of direct scheme comparison or expense ratio details, but overall the surface is sufficient for typical queries.
Maintenance
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
MFAPI.in MCP — Indian mutual-fund NAV (net asset value) data.
Open-source MCP server for Zerodha Kite Connect. Portfolio, market data, backtesting, alerts.
MCP server for Product Management
Related MCP Servers
- ISC
- FlicenseNot gradedqualityDmaintenanceMCP server for screening Indian stocks and mutual funds by wrapping screener.in and Morningstar India, enabling fundamental queries from Claude or Cursor.
- AlicenseNot gradedqualityBmaintenanceAn MCP server exposing Indian market and regulatory data from official sources (NSE, NIFTY, AMFI, SEBI), providing tools for end-of-day quotes, index constituents, mutual fund NAVs, and SEBI order searches with a focus on primary sources and no fabricated data.MIT
- AlicenseAqualityAmaintenanceMCP server that lets AI assistants search and analyze live Indian mutual funds via Groww's API, supporting filters and detailed fund diagnostics.21MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/NayakwadiS/mftool-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server