mftool-mcp
🇮🇳 mftool-mcp
공개된 인도 뮤추얼 펀드 데이터를 위한 MCP 서버
mftool 기반 · Claude, Cursor 및 모든 MCP 호환 LLM 클라이언트와 작동
이것은 무엇인가요?
mftool-mcp는 모든 LLM 클라이언트가 인도 뮤추얼 펀드 데이터에 접근할 수 있도록 해주는 Model Context Protocol (MCP) 서버입니다.
AI 어시스턴트에게 다음과 같이 질문해 보세요:
"SBI Bluechip Direct Growth의 현재 NAV는 얼마인가요?"
"HDFC Midcap Opportunities Fund의 3년 수익률을 보여줘"
"Mirae Asset AMC 산하의 모든 상품을 나열해줘"
"모든 플렉시 캡(flexi cap) 펀드를 찾아서 5년 수익률을 비교해줘"
Related MCP server: Daito
사용 가능한 도구
도구 | 설명 |
| AMFI 상품 코드로 모든 상품의 실시간 NAV 조회 |
| 여러 상품의 실시간 NAV를 한 번에 조회 (동시 처리) |
| 상품의 전체 NAV 이력 (사용 가능한 모든 날짜) |
| 특정 날짜 범위(DD-MM-YYYY)로 필터링된 NAV 이력 |
| 기간 또는 날짜 범위가 포함된 BSE/YFinance 코드를 통한 NAV 이력 |
| 모든 AMFI 상품 코드 및 이름 |
| 특정 AMC 산하의 모든 상품 |
| 펀드 하우스, 유형, 카테고리, 시작일 (AMFI 코드) |
| 상세 상품 정보 — AUM, 수익률, 등급 (BSE/YFinance 코드) |
| AMFI 숫자 상품 코드 유효성 검사 |
| BSE/새로운 형식의 상품 코드 유효성 검사 |
| 관련성 순위에 따른 키워드 기반 상품 검색 |
| 특정 AMC 내 상품 검색 |
| 유형/카테고리별 상품 검색 (주식, 채권, ELSS 등) |
| 분기별 모든 AMC의 평균 AUM (국내 및 해외) |
| 모든 주식형 펀드의 일일 성과 (1년/3년/5년 수익률) |
| 모든 채권형 펀드의 일일 성과 (1년/3년/5년 수익률) |
| 모든 혼합형 펀드의 일일 성과 (1년/3년/5년 수익률) |
| 솔루션 지향 펀드의 일일 성과 (은퇴, 자녀 등) |
| 인덱스 펀드 및 재간접 펀드(Fund of Funds)의 일일 성과 |
| SIP 수익률 계산 — 절대 수익률 % 및 연환산 IRR |
| NAV 및 상품 코드 캐시의 적중/실패 통계 보기 |
| 모든 캐시된 데이터를 삭제하여 최신 데이터 강제 가져오기 |
| mftool 캐싱 전역 활성화 또는 비활성화 |
빠른 시작
uvx 사용 (권장 — 설치 불필요)
uvx mftool-mcppip 사용
pip install mftool-mcp
mftool-mcpClaude Desktop 설정
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"]
}
}
}Claude Desktop을 재시작하세요. 연결된 도구 목록에서 mftool-mcp를 확인할 수 있습니다.
Cursor / 기타 MCP 클라이언트
MCP 클라이언트 설정에 다음을 추가하세요:
{
"mftool-mcp": {
"command": "uvx",
"args": ["mftool-mcp"]
}
}대화 예시
펀드 찾기:
사용자: "모든 SBI 미드캡 뮤추얼 펀드 상품 코드를 찾아줘" Claude:
search_schemes_by_amc(amc_name='sbi', query='midcap')호출 Claude: "SBI 미드캡 상품은 다음과 같습니다: SBI Magnum Midcap Fund - Direct Growth (코드: 125497)..."
실시간 NAV:
사용자: "상품 125497의 현재 NAV는 얼마인가요?" Claude:
get_scheme_quote(scheme_code='125497')호출 Claude: "SBI Magnum Midcap Fund - Direct Growth: NAV ₹234.56 (2025년 4월 5일 기준)"
성과 비교:
사용자: "대형주 주식형 펀드의 5년 수익률을 비교해줘" Claude:
get_equity_scheme_performance()호출 Claude: "대형주 펀드의 5년 수익률 비교는 다음과 같습니다: ..."
데이터 소스
모든 데이터는 mftool 라이브러리를 통해 제공됩니다. 데이터 정확도는 게시된 수치에 따라 달라집니다. 이 도구는 정보 제공 목적으로만 사용되며 재정적 조언을 구성하지 않습니다.
개발
git clone https://github.com/NayakwadiS/mftool-mcp
cd mftool-mcp
pip install -e ".[dev]"
# Run the server locally
python -m mftool_mcp.server감사의 말
mftool — 기반 데이터 라이브러리
관련 이니셔티브
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