Skip to main content
Glama

eco-policy-mcp

PyPI MCP Registry License: MIT GitHub release

An MCP server for Indian finance data — mutual-fund NAVs, GST & income-tax calculators, RBI policy rates and NSE market data — built for any MCP client (Claude, Cursor, Gemini CLI, VS Code, Cline, custom agents...), not just one.

Every successful response carries a provenance block (source, as_of, reference), so AI agents can cite where each number came from instead of hallucinating it.

Related MCP server: Upstox MCP Server

Install & run

# Run with any MCP client via uvx (installs automatically from PyPI):
uvx eco-policy-mcp

# Or pin the version:
uvx eco-policy-mcp@0.1.0

# From a clone:
uv sync
uv run eco-policy-mcp            # stdio (default, local clients)
uv run eco-policy-mcp --http --port 8000   # streamable-HTTP (remote clients)

See examples/ for client configs (Claude Desktop, Cursor, Gemini CLI, VS Code, remote HTTP).

Tools

Domain

Tool

What it does

GST

gst_split

CGST/SGST vs IGST breakup for an amount + slab rate

GST

gst_from_inclusive

Extract GST from a tax-inclusive amount

GST

gst_reverse_charge

Reverse-charge (RCM) tax payable

GST

gstin_validate

GSTIN mod-36 checksum validation + state code

Income tax

income_tax_new_regime

FY 2026-27 new-regime estimate (std deduction + 87A rebate)

Income tax

income_tax_old_regime

Old-regime estimate (80C, age-based exemption)

Income tax

income_tax_compare_regimes

New vs old with recommendation

Mutual funds

mf_search_schemes

Search all AMFI schemes by name

Mutual funds

mf_get_nav

Latest NAV for a scheme code

Mutual funds

mf_get_nav_history

Historical NAVs between dates

Mutual funds

mf_compute_returns

Absolute return + CAGR between dates

Mutual funds

mf_sip_calculator

SIP simulation on real NAVs with XIRR

RBI

rbi_get_policy_rates

Repo, SDF, MSF, bank rate, CRR, SLR (as-of dated)

NSE

nse_get_quote

Equity quote (unofficial public endpoint)

NSE

nse_get_index_quote

Index snapshot (NIFTY 50, BANK, IT...)

NSE

nse_get_historical

Daily OHLCV (max 1y window)

Server

eco_server_info

Version, tool list, cache health

Also exposes resources (eco-policy://amfi/freshness, eco-policy://rbi/policy-rates) and prompts (compare_mutual_funds, gst_invoice_breakup).

Data sources & disclaimers

  • AMFI (NAVAll.txt) — official daily NAV dump; parsed and cached 6h.

  • mfapi.in — community mirror of AMFI's NAV archive (history, returns, SIP).

  • RBI — curated policy-rate snapshot stamped with its as-of date; verify at rbi.org.in before acting on it.

  • NSE — unofficial public endpoints; quotes may be delayed and endpoints can change without notice. Failures return structured errors, never raw HTML.

  • Tax computations are estimators (excludes surcharge, capital-gains special rates); nothing here is investment or tax advice.

Configuration

All settings via env vars (prefix ECO_): ECO_TTL_AMFI_INDEX, ECO_TTL_NSE_QUOTE, ECO_NSE_MIN_INTERVAL, ECO_HTTP_TIMEOUT, ECO_MFAPI_BASE, ECO_NSE_BASE, ECO_AMFI_NAV_URL, ... — see src/eco_policy_mcp/config.py.

Development

uv sync --dev          # install with dev tools
uv run pytest          # run the test suite (no network needed)

License

MIT — see LICENSE.

Available Tools

17 tools
eco_server_infoEco Server InfoA

Server version, registered tools and cache health - useful for debugging connectivity.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden. The terms 'info' and the enumerated read-only data (version, tools, cache health) strongly imply a non-destructive read, but it never explicitly states that it is read-only, has no side effects, or whether it requires a live connection.

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

Conciseness5/5

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

A single tight sentence that leads with what is returned and closes with the use case. Every clause earns its place and nothing is padded.

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

Completeness4/5

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

An output schema exists, so return values need not be re-described, and the zero-parameter signature removes input ambiguity. For a simple diagnostic tool this is nearly complete; the only gap is the absence of an explicit read-only/no-side-effect statement given there are no annotations.

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

Parameters4/5

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

The tool takes zero parameters, so the schema's 100% coverage is trivially complete and no parameter explanation is required. Baseline 4 applies since there is nothing for the description to clarify or compensate for.

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

Purpose4/5

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

The description names the concrete outputs (server version, registered tools, cache health), which is specific enough to distinguish this diagnostic tool from every financial sibling in the list. It lacks an explicit verb like 'returns' or 'reports', but the resource and scope are unambiguous.

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

Usage Guidelines4/5

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

'useful for debugging connectivity' gives a clear context for when to reach for it. There are no near-alternative siblings to route against, so no exclusions are needed, though it could state that it takes no arguments and is safe to call anytime.

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

gst_from_inclusiveGst From InclusiveB

Extract GST out of a tax-inclusive (MRP-style) amount.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesGross amount that already includes GST.
rate_percentYesGST slab rate - one of 0.25, 3, 5, 12, 18, 28.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full disclosure burden. For a stateless arithmetic helper there is little risk to disclose, and 'tax-inclusive (MRP-style)' usefully characterizes the operation, but nothing is said about output shape, rounding, or precondition on the tax slab.

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

Conciseness5/5

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

A single, fully front-loaded sentence with no filler. The qualifying phrase is placed immediately after the noun it qualifies, so nothing needs re-reading.

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

Completeness4/5

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

An output schema exists, so return values need not be explained, and with only two required scalar parameters the description is nearly sufficient. The remaining gap is routing guidance relative to gst_split and any rounding/precision expectation.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already documented in the schema and the baseline is 3. The 'tax-inclusive (MRP-style)' phrasing marginally reinforces the meaning of 'amount' but adds no new semantics beyond the existing schema text.

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

Purpose4/5

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

States a specific verb ('Extract') and resource ('GST out of a tax-inclusive amount'), and the parenthetical 'MRP-style' pins down the exact scenario. It does not, however, distinguish itself from the sibling gst_split, which an agent would plausibly confuse it with.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance and no named alternative. The description implies the input is already inclusive of tax, but an agent is left to infer which of the sibling GST tools (e.g. gst_split) handles the exclusive-side case.

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

gstin_validateGstin ValidateA

Validate an Indian GSTIN using its mod-36 checksum and extract the state code.

ParametersJSON Schema
NameRequiredDescriptionDefault
gstinYes15-character GSTIN to validate.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

No annotations are provided, so the description carries full behavioral burden. It discloses the validation method (mod-36 checksum) and an additional output (state code extraction), which goes beyond basic validation. However, it doesn't specify error behavior for invalid GSTINs or return format details (though output schema exists).

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

Conciseness5/5

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

Single sentence, front-loaded with the core action (Validate) and key detail (mod-36 checksum), plus secondary benefit (extract state code). Zero waste.

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

Completeness4/5

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

Given the tool has one parameter, full schema coverage, and an output schema, the description is sufficient. It adds value by disclosing the validation algorithm and state code extraction. Minor gap: no error handling details or alternative routing, but not critical for a simple validation tool.

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

Parameters3/5

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

Schema description coverage is 100%, and the description adds no parameter-specific information beyond what the schema provides. The single parameter 'gstin' is fully documented in the schema. Baseline 3 is appropriate when schema does the heavy lifting.

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

Purpose5/5

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

States a specific verb (Validate) and resource (Indian GSTIN), plus secondary action (extract state code). Clearly distinguishable from siblings like gst_split or gst_from_inclusive which perform different GST operations.

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

Usage Guidelines3/5

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

The description implies this tool is for validating GSTINs, but provides no explicit when-to-use guidance or mentions of alternatives. For a domain with multiple GST-related siblings, more routing guidance would help.

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

gst_reverse_chargeGst Reverse ChargeA

Compute tax payable under reverse charge mechanism (Section 9(3)/9(4)).

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesTaxable base amount in INR.
rate_percentYesGST slab rate - one of 0.25, 3, 5, 12, 18, 28.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the legal basis for the calculation, which adds useful context, but does not describe rounding, treatment of the base amount, or other behavioral details beyond the basic operation.

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

Conciseness5/5

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

A single, tightly worded sentence that front-loads the core purpose. No wasted words or unnecessary repetition.

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

Completeness4/5

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

Given the low complexity, full schema coverage, and the presence of an output schema, the description is nearly complete for calling the tool correctly. The only gap is the lack of usage guidance relative to sibling GST tools.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already documented in the input schema. The description adds no further meaning about 'amount' or 'rate_percent' beyond what the schema provides, making the baseline score of 3 appropriate.

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

Purpose5/5

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

States a specific computational verb ('Compute') and a precise resource ('tax payable under reverse charge mechanism'), with legal section references that distinguish it from sibling GST calculators like gst_split and gst_from_inclusive.

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

Usage Guidelines2/5

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

No explicit when-to-use, when-not-to-use, or alternative guidance is given. The description does not mention sibling tools or conditions that select this tool over other GST calculators, leaving usage entirely implied by the tool name.

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

gst_splitGst SplitB

Split GST into CGST+SGST (intra-state) or IGST (inter-state).

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesTaxable base amount in INR.
intra_stateYesTrue if supplier and place of supply are in the same state.
rate_percentYesGST slab rate - one of 0.25, 3, 5, 12, 18, 28.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses the conditional output behavior (CGST+SGST vs IGST), which is the key trait, but says nothing about rounding/precision, validation of the rate against legal slabs, or whether the tool is a pure side-effect-free computation.

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

Conciseness5/5

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

A single tight sentence that front-loads the two output branches. Every clause earns its place and there is no filler.

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

Completeness4/5

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

An output schema exists and parameters are fully documented, so the description's main job is to explain the intra-state/inter-state branching, which it does. It is nearly complete, though a note on rounding or invalid-rate handling would close the remaining gap for a tax calculation tool.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters (amount in INR, intra_state semantics, legal rate slabs) are already fully documented. The description adds no syntax, unit, or constraint detail beyond what the schema provides, so baseline 3 is warranted.

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

Purpose4/5

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

States a specific verb (Split) and resource (GST) plus the two possible output shapes, so an agent immediately knows it decomposes a tax rate into components. It does not, however, contrast itself with sibling tools like gst_from_inclusive or gst_reverse_charge, which also perform GST math.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance and names no alternatives, even though siblings such as gst_from_inclusive (tax-inclusive amounts) and gst_reverse_charge are the obvious competing choices. The only selection cue is the positional 'intra_state' concept, which is left for the agent to infer.

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

income_tax_compare_regimesIncome Tax Compare RegimesA

Compare NEW vs OLD regime tax for FY 2026-27 and recommend the cheaper one.

ParametersJSON Schema
NameRequiredDescriptionDefault
ageNoAge of the taxpayer.
gross_salaryYesAnnual gross salary in INR.
deductions_80cNo80C investments (old regime only, capped at Rs 1.5 lakh).
other_deductionsNoOther old-regime deductions.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full behavioral burden. It discloses that the tool compares two regimes and recommends the cheaper one, which is useful, but it says nothing about calculation assumptions, whether deductions are ignored in the new regime, or the output format. Given the presence of an output schema that likely documents the return shape, the remaining gap is moderate.

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

Conciseness5/5

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

A single, front-loaded sentence that states action, scope, and outcome without any filler. Every word earns its place.

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

Completeness4/5

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

For a comparison tool with a fully documented parameter schema and an output schema, the description covers the essential purpose and the recommendation behavior. It could be more complete by noting that 80C and other deductions apply only to the old regime, but that is already covered in the schema descriptions, so the description is largely adequate.

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

Parameters3/5

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

Schema description coverage is 100%, and each parameter (age, gross_salary, deductions_80c, other_deductions) is already well described in the schema, including the old-regime-only restriction for 80C. The description adds no parameter-level detail beyond what the schema provides, so the baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb (compare) with two named resources (NEW vs OLD regime) for a specific period (FY 2026-27), and adds a recommendation action. Clearly distinguishes from siblings income_tax_new_regime and income_tax_old_regime, which each only compute one regime.

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

Usage Guidelines4/5

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

The description implies this is the tool to use when the user wants a regime comparison or recommendation, which naturally differentiates it from the single-regime siblings. However, it doesn't explicitly say 'use this when deciding between regimes; use income_tax_new_regime instead if you only need one side', so it stops just short of explicit alternatives.

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

income_tax_new_regimeIncome Tax New RegimeA

Estimate income tax for FY 2026-27 (AY 2027-28) under the NEW regime.

Applies the standard deduction (Rs 75,000) and the Section 87A rebate (taxable income up to Rs 12,00,000 effectively tax-free). Excludes surcharge and capital-gains special rates.

ParametersJSON Schema
NameRequiredDescriptionDefault
ageNoAge of the taxpayer (no slab effect in the new regime; kept for parity).
gross_salaryYesAnnual gross salary in INR.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose the actual computation rules — standard deduction of Rs 75,000 and the Section 87A rebate making taxable income up to Rs 12,00,000 effectively tax-free — plus explicit exclusions. That is meaningful behavioral context beyond a bare calculator label, though it says nothing about rounding, output currency, or rounding-edge treatment.

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

Conciseness5/5

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

Three short sentences, front-loaded with purpose, followed by inclusions and exclusions. Every sentence carries distinct information and none is redundant.

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

Completeness4/5

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

The tool is a simple two-parameter calculation, and an output schema exists so return-value explanation is unnecessary. The description covers scope, inclusions, and exclusions adequately; only the relation to the old-regime/comparison siblings is left implicit.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already documented in the schema, including the note that age has no slab effect in the new regime. The description adds no parameter-level detail beyond that, so the baseline of 3 applies.

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

Purpose5/5

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

Specific verb ("Estimate") + resource ("income tax") + explicit regime and assessment-year scope. The regime qualifier in the name/description cleanly separates it from sibling income_tax_old_regime and income_tax_compare_regimes.

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

Usage Guidelines4/5

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

States applicability precisely (FY 2026-27, new regime) and gives a clear when-not-to-rely-on-it caveat: surcharge and capital-gains special rates are excluded. It does not explicitly route the agent to income_tax_old_regime or income_tax_compare_regimes, so it stops short of full alternative coverage.

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

income_tax_old_regimeIncome Tax Old RegimeB

Estimate income tax for FY 2026-27 (AY 2027-28) under the OLD regime.

ParametersJSON Schema
NameRequiredDescriptionDefault
ageNoAge of the taxpayer (senior/super-senior exemption limits apply).
gross_salaryYesAnnual gross salary in INR.
deductions_80cNoChapter VI-A 80C investments (capped at Rs 1.5 lakh).
other_deductionsNoOther deductions (80D, HRA, etc.) - pass the eligible amount.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are present, so the description carries the full behavioral burden and does not meet it. It never says the tool is a side-effect-free calculation, discloses which statutory components are modeled (cess, surcharge, rebate), or states that deduction inputs are capped internally — the schema mentions an 80C cap but the description adds nothing about output assumptions.

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

Conciseness5/5

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

A single front-loaded sentence with the assessment-year context included and no filler. Every clause earns its place.

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

Completeness3/5

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

An output schema exists, so return values need not be explained. However, with no annotations the description should confirm this is a pure, non-mutating calculation and clarify its relationship to the new-regime and compare-regimes siblings — neither is addressed.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters (age, gross_salary, deductions_80c, other_deductions) are already documented with defaults and caps. Baseline 3 applies; the description contributes no additional parameter meaning beyond what the schema already provides.

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

Purpose4/5

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

States a specific verb ('Estimate'), resource ('income tax') and scope ('FY 2026-27 (AY 2027-28) under the OLD regime'). The regime qualifier implicitly separates it from income_tax_new_regime, but the description never names that sibling explicitly, so the differentiation is left to inference.

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

Usage Guidelines3/5

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

Usage is only implied by the 'OLD regime' phrasing; there is no statement of when to choose this over income_tax_new_regime or income_tax_compare_regimes. No prerequisites, no exclusions, no pointer to the comparison tool that would obviously be relevant.

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

mf_compute_returnsMf Compute ReturnsB

Compute absolute return and CAGR for a scheme between two dates.

ParametersJSON Schema
NameRequiredDescriptionDefault
to_dateNoEnd date YYYY-MM-DD (defaults to the latest NAV date).
from_dateYesStart date YYYY-MM-DD.
scheme_codeYesAMFI scheme code.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the behavioral burden. It implies a safe, read-only calculation with no side effects, but does not explicitly say so, nor does it mention edge-case behavior such as missing NAV dates or whether from_date must precede to_date. Output format is covered by the output schema, so that omission is acceptable.

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

Conciseness5/5

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

A single front-loaded sentence with no filler; the core computation is stated immediately.

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

Completeness4/5

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

For a simple three-parameter calculator with full schema coverage and an output schema, the description covers what is needed to invoke it correctly. It is marginally thin on edge cases, but nothing essential is missing.

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

Parameters3/5

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

Schema coverage is 100%, so each parameter's meaning and default are already documented in the schema. The description adds only 'between two dates', adding no syntax or constraint detail beyond the schema.

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

Purpose4/5

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

States a specific verb (compute) and resource (absolute return and CAGR for a scheme) over a date range, which an agent can distinguish from data-fetching siblings like mf_get_nav or mf_get_nav_history. It does not explicitly contrast itself with mf_sip_calculator, so it falls short of full sibling differentiation.

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

Usage Guidelines2/5

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

There is no guidance on when to prefer this over alternatives such as mf_get_nav_history or mf_sip_calculator, and no statement of preconditions. Usage is only weakly implied by the two-date input.

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

mf_get_navMf Get NavB

Get the latest published NAV for a mutual fund scheme (AMFI official data).

ParametersJSON Schema
NameRequiredDescriptionDefault
scheme_codeYesAMFI scheme code (find via mf_search_schemes).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses that the data is the latest 'published' NAV from AMFI official data, which signals freshness/authority semantics, but it says nothing about update cadence, staleness, or error behavior for unknown scheme codes.

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

Conciseness5/5

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

A single front-loaded sentence with zero filler that names verb, resource, and data source. Nothing to trim.

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

Completeness4/5

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

An output schema exists so return values needn't be explained, and the single parameter is fully documented in the schema. The description is nearly complete for a simple lookup, lacking only timing/refresh behavior.

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

Parameters3/5

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

Schema coverage is 100% for the single scheme_code parameter, and the description adds no format or syntax detail beyond what the schema already provides. Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose4/5

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

The description states a specific verb and resource ('Get the latest published NAV for a mutual fund scheme') and the word 'latest' implicitly distinguishes it from mf_get_nav_history. It stops short of naming the sibling alternative explicitly, so it is clear but not fully differentiated.

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

Usage Guidelines2/5

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

The description text offers no when-to-use or when-not-to-use guidance and never mentions the related mf_get_nav_history or mf_search_schemes tools. The only workflow hint ('find via mf_search_schemes') lives in the schema, not the description, so the description itself leaves usage entirely to inference.

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

mf_get_nav_historyMf Get Nav HistoryB

Get historical NAVs for a scheme between dates (ISO YYYY-MM-DD, inclusive).

ParametersJSON Schema
NameRequiredDescriptionDefault
to_dateNoEnd date YYYY-MM-DD (optional).
from_dateNoStart date YYYY-MM-DD (optional).
scheme_codeYesAMFI scheme code.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden. It usefully states the date format and that the range is inclusive, but says nothing about default behavior when from_date/to_date are null, result volume, or ordering.

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

Conciseness5/5

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

One sentence, front-loaded with the verb and resource, with the format and inclusivity detail attached where it matters. No filler.

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

Completeness3/5

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

An output schema exists, so return-value explanation is not required. However, with two optional nullable date parameters, the description omits the most consequential behavior for an agent — what the defaults do (e.g. return full NAV history) — leaving a real gap.

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

Parameters4/5

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

Schema description coverage is already 100%, so the baseline is 3. The description adds boundary semantics the schema does not state — that the range is inclusive and uses ISO YYYY-MM-DD — which is meaningful for a date-range tool.

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

Purpose4/5

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

States a specific verb (get), resource (historical NAVs), and scope (for a scheme between dates), so the purpose is unambiguous. It does not explicitly name the sibling it differs from (mf_get_nav for a single/latest NAV), so the differentiation from that neighbor is left to inference.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance, no mention of the alternative mf_get_nav, and no note on what happens when the optional dates are omitted. Usage is only vaguely implied by the word 'historical' in the name.

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

mf_search_schemesMf Search SchemesB

Search all Indian mutual fund schemes by name (AMFI official directory).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results to return (1-100).
queryYesSubstring to search in scheme names (min 2 chars), e.g. 'nifty 50' or 'hdfc balanced'.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses the authoritative data source (AMFI official directory) and implies a read-only lookup, but does not explicitly state side effects, permissions, or rate limits. For a low-risk search tool with an output schema, this is adequate but not thorough.

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

Conciseness5/5

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

The description is a single efficient sentence with no wasted words. The core purpose and scope are front-loaded, and the parenthetical source adds useful context without bloating the text.

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

Completeness4/5

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

An output schema exists and the input schema is fully described, so the description need not explain return values or parameter formats. It gives enough context to correctly invoke the tool, though it could briefly mention the read-only nature given the absence of annotations.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents both the query substring behavior and the limit range. The description adds no syntax or format details beyond what the schema provides, so the baseline of 3 applies.

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

Purpose4/5

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

The description states a specific verb and resource: search Indian mutual fund schemes by name. The added scope 'AMFI official directory' clarifies the data source. It does not explicitly distinguish itself from sibling mutual-fund tools, but the search purpose is unambiguous.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives such as mf_get_nav or mf_get_nav_history. The use case is implied by the word 'search', but no exclusions, prerequisites, or alternative routing are provided.

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

mf_sip_calculatorMf Sip CalculatorB

Simulate a monthly SIP in a scheme using actual historical NAVs (XIRR included).

ParametersJSON Schema
NameRequiredDescriptionDefault
to_dateNoLast valuation date YYYY-MM-DD (defaults to latest NAV date).
from_dateYesFirst instalment month YYYY-MM-DD.
scheme_codeYesAMFI scheme code.
monthly_amountYesSIP instalment in INR.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, but it does disclose two real behavioral traits: it computes from actual historical NAVs (not assumed returns) and it returns XIRR. It says nothing about whether the operation is side-effect-free, how missing/partial NAV data is handled, or any 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.

Conciseness5/5

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

A single dense sentence with the action front-loaded and the two most distinctive attributes (historical NAVs, XIRR) appended. No filler and nothing to trim.

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

Completeness4/5

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

An output schema exists, so return values need not be described, and all four parameters are fully documented in the schema. The only meaningful omission is routing guidance against the nearest sibling mf_compute_returns; otherwise an agent has enough to call this correctly.

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

Parameters3/5

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

Schema description coverage is 100%, and each parameter (scheme_code, monthly_amount, from_date, to_date with its default) is already documented in the schema. The description adds no syntax, unit, or edge-case detail beyond what the schema provides, so the baseline of 3 applies.

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

Purpose4/5

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

The description names a specific verb and resource ('Simulate a monthly SIP in a scheme') plus the data basis ('actual historical NAVs') and an output detail ('XIRR included'). It implicitly separates itself from mf_compute_returns, but never names or contrasts that sibling explicitly.

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

Usage Guidelines2/5

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

There is no guidance on when to choose this over mf_compute_returns or mf_get_nav_history, no stated prerequisites (e.g. that scheme_code must come from mf_search_schemes), and no exclusions. The agent must infer usage entirely from the one-line summary.

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

nse_get_historicalNse Get HistoricalA

Get NSE daily OHLCV history for a symbol (max 1 year window per call).

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesNSE trading symbol.
to_dateNoEnd date YYYY-MM-DD (defaults to today).
from_dateYesStart date YYYY-MM-DD.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It usefully discloses the 1-year-per-call window limit, a real behavioral constraint not present anywhere else, but says nothing about rate limits, authentication, market-holiday gaps, or what happens when a requested range exceeds a year.

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

Conciseness5/5

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

A single front-loaded sentence that names the resource first and appends the key constraint in parentheses. Every clause earns its place with no filler.

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

Completeness4/5

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

An output schema exists, so return-value shape need not be explained, and all parameters are documented in the schema. For a simple three-parameter read tool the description is nearly complete; the only real omission is what to expect when the window or pagination limits are hit.

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

Parameters3/5

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

Schema coverage is 100%, so all three parameters already carry their own descriptions and the baseline is 3. The description adds one useful piece of meaning not in the schema, the 1-year window cap, but contributes nothing about symbol format expectations or the interaction between from_date and to_date.

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

Purpose4/5

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

The description states a specific verb and resource ('Get NSE daily OHLCV history for a symbol') and specifies the data granularity (daily OHLCV), which is far more specific than the title. It does not, however, name or contrast itself with the obvious sibling nse_get_quote, so an agent must infer the historical-vs-live distinction on its own.

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

Usage Guidelines3/5

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

Usage is only implied: the word 'history' suggests this is for past data rather than live quotes, but no alternative tool is named and no when-not condition is given. The '(max 1 year window per call)' note hints at the need to chunk long ranges but stops short of instructing how.

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

nse_get_index_quoteNse Get Index QuoteB

Get a live NSE index snapshot (NIFTY 50, NIFTY BANK, NIFTY IT, ...).

ParametersJSON Schema
NameRequiredDescriptionDefault
index_nameNoIndex name, e.g. 'NIFTY 50', 'NIFTY BANK', 'NIFTY MIDCAP 100'.NIFTY 50

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations exist, so the description carries the full burden. 'Live' hints at real-time data, but it says nothing about market-hours behavior, data staleness, rate limits, or whether the index_name must match an exact symbol — all material for a market-data call.

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

Conciseness5/5

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

One sentence, front-loaded with the verb and resource, zero filler. Appropriately sized for a single-parameter lookup.

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

Completeness4/5

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

An output schema exists, so return values need not be explained, and the lone parameter is fully documented. The remaining gap is the unstated relationship to nse_get_quote and the lack of any market-data caveats.

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

Parameters3/5

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

Schema description coverage is 100% and the single parameter is fully documented with a default and examples, so the baseline is 3. The description's parenthetical examples duplicate what the schema already lists rather than adding new meaning.

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

Purpose4/5

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

Clear verb+resource: 'Get a live NSE index snapshot', with concrete index examples. It implies an index-level feed versus the sibling nse_get_quote (a security-level quote), but never states that distinction explicitly, so an agent must infer which to call.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of the closest alternative (nse_get_quote for stocks vs this for indices). Usage is only implied by the word 'index'.

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

nse_get_quoteNse Get QuoteB

Get a live NSE equity quote (unofficial public endpoint).

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesNSE trading symbol, e.g. 'INFY', 'RELIANCE', 'TCS'.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

No annotations, so the description carries the full burden. 'Unofficial public endpoint' is a valuable disclosure about reliability and support, but it doesn't state whether this requires authentication, rate limits, whether quotes are delayed, or what the freshness/latency profile is. With no annotations and an output schema (which covers returns), a 3 reflects partial behavioral coverage.

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

Conciseness5/5

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

A single, well-formed sentence that front-loads the core action and resource, with no padding. Every word earns its place.

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

Completeness3/5

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

An output schema exists so return values needn't be described. However, for a real-time market-data tool with no annotations, the description omits critical context: authentication needs, rate limits, and latency/delay. The endpoint reliability note is present but incomplete.

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

Parameters4/5

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

Schema coverage is 100%; the single 'symbol' parameter is fully documented in the schema with examples. The description adds no parameter details beyond what the schema provides, but since there is only 1 param and schema coverage is complete, the baseline is high.

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

Purpose4/5

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

States a specific verb (get) and resource (live NSE equity quote), distinguishing it from nse_get_index_quote (index) and nse_get_historical (historical). The '(unofficial public endpoint)' qualifier adds useful scoping but the core purpose is clear enough to select it over siblings.

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

Usage Guidelines2/5

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

No guidance on when to use this versus nse_get_historical (which presumably also returns quotes but at historical points) or contextual siblings. The phrase 'live' implies realtime, but no explicit when-to-use or when-not-to-use is provided.

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

rbi_get_policy_ratesRbi Get Policy RatesA

Get current RBI policy rates (repo, SDF, MSF, bank rate, CRR, SLR) with as-of date.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does state that the result includes an as-of date, which is useful behavioral context. However, it does not disclose whether the data is cached, how frequently it updates, or any rate limits—modest behavioral detail overall.

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

Conciseness5/5

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

A single, front-loaded sentence with zero filler. Every word contributes to understanding the tool's scope.

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

Completeness4/5

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

The description is complete for a simple, no-parameter tool; together with the output schema it gives the agent enough to invoke and interpret results. It could be improved by noting data sources or update frequency, but nothing essential is missing.

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

Parameters4/5

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

The tool has no parameters and no schema to document them, so the baseline is 4. The description mentions the set of rates returned, which is somewhat informative about the output, though the output schema already covers return values.

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

Purpose5/5

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

The description states a specific verb (Get) and resource (current RBI policy rates), and enumerates the exact rate types (repo, SDF, MSF, bank rate, CRR, SLR), which clearly distinguishes this tool from all GST, income tax, MF, and NSE siblings.

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

Usage Guidelines3/5

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

Usage is implied by the name and description, but there is no explicit when-to-use or when-not-to-use guidance, nor mention of alternatives. For a zero-parameter, single-purpose tool this is acceptable but not ideal.

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.

  1. 17 tool updatesv0.1.0
    • First observedeco_server_info
    • First observedgst_from_inclusive
    • First observedgst_reverse_charge
    • First observedgst_split
    • First observedgstin_validate
    • First observedincome_tax_compare_regimes
    • First observedincome_tax_new_regime
    • First observedincome_tax_old_regime
    • First observedmf_compute_returns
    • First observedmf_get_nav
    • First observedmf_get_nav_history
    • First observedmf_search_schemes
    • First observedmf_sip_calculator
    • First observednse_get_historical
    • First observednse_get_index_quote
    • First observednse_get_quote
    • First observedrbi_get_policy_rates

TDQS

A3.5/5.0

Scored across 17 tools

Disambiguation4/5

Most tools have clearly distinct purposes: GST splitting, inclusive-GST extraction, reverse charge, GSTIN validation, old/new/compare income tax, mutual fund NAV/history/returns/SIP, NSE quote/index/history, and RBI policy rates. A few calculation tools within the same domain (e.g. mf_compute_returns vs mf_sip_calculator) could be confused at a glance, but descriptions clarify their boundaries.

Naming Consistency4/5

The set mostly follows a consistent snake_case domain-prefix pattern (gst_, income_tax_, mf_, nse_, rbi_), with action or object suffixes indicating purpose. Minor deviations exist, such as gst_from_inclusive and income_tax_new_regime, where the suffix is less verb-like, but the naming remains predictable overall.

Tool Count4/5

Seventeen tools is slightly above the ideal 3-15 range, but the server spans several distinct subdomains (GST, income tax, RBI, mutual funds, NSE, diagnostics), and each tool appears to earn its place. The count is reasonable for the broad Indian economic-policy and personal-finance scope.

Completeness3/5

Each represented subdomain has useful core operations: GST calculations and validation, income tax regime comparison, mutual fund search/NAV/history/returns/SIP, NSE quotes and history, and RBI policy rates. However, the broader eco-policy surface is incomplete, missing areas such as GST rate lookup, TDS/corporate tax, inflation/GDP indicators, and other policy data that the server name might imply.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

  • India's financial MCP — cards, loans, FDs, insurance, MFs; EMI/SIP/tax calcs; NAV lookup; RAG.

  • Your agent needs markets — prices and fundamentals for listed companies, the filings behind them, crypto, and what the prediction markets put the odds at. **What you can ask for** • "Pull this company's income statement, cash flow and balance sheet for the last 8 quarters." • "What did insiders buy or sell, and when?" • "Snapshot prices for these 50 tickers, then the OHLC history for the three that moved." • "What are the current odds on this event across Kalshi and Polymarket?" • "Screen for companies matching these financial criteria." **How to use it** Point any MCP client at https://mcp.aisa.one/finance/mcp and sign in with OAuth — there is no key to create or paste. 49 tools: prices and snapshots, income statements, balance sheets and cash flows, metrics and ratios, earnings and analyst estimates, filings and line-item search, insider trades, macro interest rates, news, a screener; CoinGecko spot prices, market tables, OHLC, per-venue tickers and trending; Kalshi and Polymarket markets and trades; plus EDINET filings for Japan. **Why this rather than the source** Equities, crypto and event markets behind one account, so a cross-asset question is one conversation. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Read the number here, then ask the same agent what X is saying about the ticker today — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/marketpulse/mcp · /crypto-market-data/mcp · /prediction-market-data/mcp · /stock-pulse/mcp for one slice each.

  • Real SEC, 13F, insider, congress & macro data your AI agent can cite. Hosted MCP, 24 tools.

  • SmartMoney77 MCP v0.6.0 — 14 public tools that turn financial questions into exact numbers and citable links. New: historical_investment_return and compare_investments, which compute "what if I had invested" results from real yearly price data. Also compound interest, FIRE number, credit-card payoff, emergency fund, inflation, latte factor, investment fees, cost of waiting, plus discovery/deep-link/share-pack tools for a catalog of calculators in 6 languages (he/en/ar/es/pt/in). Public, no login. Endpoint: https://smartmoney77.com/mcp

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides access to real-time and historical Indian stock data via Yahoo Finance API, enabling local LLMs to retrieve stock information through MCP-compatible agents like Claude Desktop and Cursor.
    2
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A MCP server exposing Upstox market, technical, and account data as MCP tools for AI agents.
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Provides live financial data for any LLM agent, including stock quotes, crypto prices, SEC filings, XBRL financials, FX rates, and macro indicators, through ten MCP tools.
    11
    75 npm
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that exposes personal financial data — transaction ledger, portfolio holdings, live/historical market prices, and quantitative risk metrics — as standardized tools, resources, and prompts, enabling natural language reasoning over real computed numbers.
    -