mftool-mcp
🇮🇳 mftool-mcp
Servidor MCP para datos de fondos de inversión indios disponibles públicamente
Desarrollado por mftool · Funciona con Claude, Cursor y cualquier cliente LLM compatible con MCP
¿Qué es esto?
mftool-mcp es un servidor del Protocolo de Contexto de Modelo (MCP) que proporciona a cualquier cliente LLM acceso a datos de fondos de inversión indios.
Hazle preguntas a tu asistente de IA como:
"¿Cuál es el NAV actual de SBI Bluechip Direct Growth?"
"Muéstrame los rendimientos a 3 años del HDFC Midcap Opportunities Fund"
"Enumera todos los esquemas bajo Mirae Asset AMC"
"Encuentra todos los fondos flexi cap y compara sus rendimientos a 5 años"
Related MCP server: Daito
Herramientas disponibles
Herramienta | Descripción |
| NAV en vivo para cualquier esquema por código de esquema AMFI |
| NAV en vivo para múltiples esquemas a la vez (concurrente) |
| Historial completo de NAV para un esquema (todas las fechas disponibles) |
| Historial de NAV filtrado a un rango de fechas específico (DD-MM-AAAA) |
| Historial de NAV mediante código BSE/YFinance con período o rango de fechas |
| Todos los códigos y nombres de esquemas AMFI |
| Todos los esquemas bajo un AMC específico |
| Casa de fondos, tipo, categoría, fecha de inicio (código AMFI) |
| Información detallada del esquema: AUM, rendimientos, calificaciones (código BSE/YFinance) |
| Validar un código de esquema numérico AMFI |
| Validar un código de esquema BSE/nuevo formato |
| Buscar esquemas por palabra clave de nombre con clasificación de relevancia |
| Buscar esquemas dentro de un AMC específico |
| Buscar esquemas por tipo/categoría (renta variable, deuda, ELSS, etc.) |
| AUM promedio (nacional y extranjero) para todos los AMC por trimestre |
| Rendimiento diario para todos los fondos de renta variable (rendimientos a 1A/3A/5A) |
| Rendimiento diario para todos los fondos de deuda (rendimientos a 1A/3A/5A) |
| Rendimiento diario para todos los fondos híbridos (rendimientos a 1A/3A/5A) |
| Rendimiento diario para fondos orientados a soluciones (jubilación, niños) |
| Rendimiento diario para fondos indexados y fondos de fondos |
| Calcular rendimientos de SIP: % de rendimiento absoluto y TIR anualizada |
| Ver estadísticas de aciertos/fallos para cachés de NAV y códigos de esquema |
| Borrar todos los datos en caché para forzar nuevas recuperaciones |
| Habilitar o deshabilitar el almacenamiento en caché de mftool globalmente |
Inicio rápido
Usando uvx (Recomendado: no requiere instalación)
uvx mftool-mcpUsando pip
pip install mftool-mcp
mftool-mcpConfiguración de Claude Desktop
Agrega esto a tu 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"]
}
}
}Reinicia Claude Desktop. Verás mftool-mcp listado bajo las herramientas conectadas.
Cursor / Otros clientes MCP
En la configuración de tu cliente MCP, agrega:
{
"mftool-mcp": {
"command": "uvx",
"args": ["mftool-mcp"]
}
}Ejemplos de conversaciones
Encontrar un fondo:
Tú: "Encuentra todos los códigos de esquema de fondos de inversión midcap de SBI" Claude: llama a
search_schemes_by_amc(amc_name='sbi', query='midcap')Claude: "Aquí están los esquemas midcap de SBI: SBI Magnum Midcap Fund - Direct Growth (código: 125497)..."
NAV en vivo:
Tú: "¿Cuál es el NAV actual del esquema 125497?" Claude: llama a
get_scheme_quote(scheme_code='125497')Claude: "SBI Magnum Midcap Fund - Direct Growth: NAV ₹234.56 (al 05-Abr-2025)"
Comparación de rendimiento:
Tú: "Compara los rendimientos a 5 años para fondos de renta variable de gran capitalización" Claude: llama a
get_equity_scheme_performance()Claude: "Aquí está la comparación de rendimiento a 5 años para fondos de gran capitalización: ..."
Fuente de datos
Todos los datos se obtienen a través de la biblioteca mftool. La precisión de los datos depende de las cifras publicadas. Esta herramienta es solo para fines informativos y no constituye asesoramiento financiero.
Desarrollo
git clone https://github.com/NayakwadiS/mftool-mcp
cd mftool-mcp
pip install -e ".[dev]"
# Run the server locally
python -m mftool_mcp.serverAgradecimientos
mftool — la biblioteca de datos subyacente
Iniciativas asociadas
Predicciones de acciones de NSE 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
12 tool updates
v0.2.0- First observed
get_available_schemes - First observed
get_debt_scheme_performance - First observed
get_elss_scheme_performance - First observed
get_equity_scheme_performance - First observed
get_hybrid_scheme_performance - First observed
get_scheme_codes - First observed
get_scheme_details - First observed
get_scheme_historical_nav - First observed
get_scheme_historical_nav_for_dates - First observed
get_scheme_quote - First observed
is_valid_scheme_code - First observed
search_scheme_by_name
TDQS
Scored across 12 tools
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
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.-
- AlicenseAqualityBmaintenanceAn 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.8MIT
- AlicenseAqualityAmaintenanceMCP server that lets AI assistants search and analyze live Indian mutual funds via Groww's API, supporting filters and detailed fund diagnostics.21MIT