accueil / serveurs / Dev & Code / io.github.ompurwar/fi-plan
io.github.ompurwar/fi-plan
serveur MCP (Model Context Protocol) · fi-plan-mcp 0.1.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.ompurwar/fi-plan est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.ompurwar/fi-plan » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 4 outils
- asset_projection≈ 938 tokens
Pure calculator for one asset (no plan needed): monthly value, invested, growth, income and TDS over duration months. Pass asset parameters (principal, growth_rate, yield_rate, income_frequency, income_mode, maturity_month, sale_month, sip) — class presets are NOT applied automatically, so pass explicit rates. TDS on FD interest follows the stored rules for the assessment_year. Returns rows plus closing value and totals.
Paramètres, retour & exemple (16)
Paramètressip· object · optionnel
Optional recurring SIP into the asset.rent· object · optionnel
Real-estate rent settings.title· string · optionnel
Display name for the asset (defaults to 'Asset').category· string · optionnel · s | e | i
Bucket: s = savings, e = expenses, i = investments (default 'i').duration· integer · optionnel
Projection length in months (default 120).principal· number · requis
Starting value/principal in rupees.sale_month· integer · optionnel
Month the asset is sold.yield_rate· number · optionnel
Annual income/yield rate in percent (interest, dividend, rent).asset_class· string · optionnel · fd | bond | savings | gold | ppf | equity | equity_foreign | mf
Asset type; affects default tax treatment (default 'fd').compounding· string · optionnel · none | simple | monthly | quarterly | yearly
Compounding mode for growth (default none).growth_rate· number · requis
Annual capital growth rate in percent.income_mode· string · optionnel · credit | reinvest
Where income goes: credit (cash) or reinvest.maturity_month· integer · optionnel
Month the asset matures; value is released then.purchase_month· integer · optionnel
Month the asset is acquired (default 1).assessment_year· string · optionnel
Assessment year for tax rules, e.g. '2025-26' (default: current).income_frequency· string · optionnel · m | q | h | y
Income payout frequency: m monthly, q quarterly, h half-yearly, y yearly.
Exemple d'appel{"name": "asset_projection", "arguments": {"principal": 1, "growth_rate": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - loan_amortization≈ 625 tokens
Pure calculation of EMI and a month-by-month amortization schedule for a loan of amount at annual interest_rate over tenure months. Returns opening/closing balance, interest, principal and running totals per month. Pass optional prepayments to model extra principal payments beyond the EMI (each {start_month, amount, frequency: 'm'|'q'|'y'|null, step_pct?} — null frequency = one-time lump, step_pct = % the amount grows by each recurrence): the EMI stays constant, the loan shortens, and the result becomes { schedule, payoff_month, total_interest_paid, total_prepaid, interest_saved } instead of a plain array. NOTE: here start_month is loan-relative (1 = the loan's first EMI month); on a persisted loan the same fields are plan-absolute months.
Paramètres, retour & exemple (4)
Paramètresamount· number · requis
Loan principal in rupees (e.g. 1500000 for ₹15,00,000).tenure· number · requis
Loan tenure in months (e.g. 240 for 20 years).prepayments· array · optionnel
Optional extra principal payments beyond the EMI: the EMI stays constant and the loan shortens.interest_rate· number · requis
Annual interest rate in percent (e.g. 8.6).
Exemple d'appel{"name": "loan_amortization", "arguments": {"amount": 1, "tenure": 1, "interest_rate": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - loan_refinance≈ 424 tokens
Pure what-if: closes the loan at refinance_month (outstanding balance settled) and restarts it at new_rate over new_tenure months. Returns outstanding balance, old vs new EMI, remaining interest vs new total interest, interest_saved, net_savings (after optional foreclosure_charge) and breakeven_months (null when the new EMI is not lower). Read-only — to persist, update the old loan's end_month and add the new loan.
Paramètres, retour & exemple (7)
Paramètresamount· number · requis
Outstanding loan principal at refinance_month, in rupees.tenure· integer · requis
Total tenure of the existing loan in months.new_rate· number · requis
Annual interest rate of the new loan in percent.new_tenure· integer · requis
Tenure of the new loan in months.interest_rate· number · requis
Current annual interest rate in percent.refinance_month· integer · requis
Loan-relative month the refinance happens (outstanding balance is settled).foreclosure_charge· number · optionnel
Foreclosure/prepayment penalty in rupees (default 0).
Exemple d'appel{"name": "loan_refinance", "arguments": {"amount": 1, "tenure": 1, "new_rate": 1, "new_tenure": 1, "interest_rate": 1, "refinance_month": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - simulate_plan≈ 528 tokens
Applies an ordered list of scenario patches to a DEEP COPY of the plan (never persisted) and returns the resulting snapshot plus applied_patches. Pass plan_id to load the plan server-side (preferred — never paste plan_json); plan_json is accepted for portability. Pass summary=true for the compact view; add milestones=true for long durations to get yearly points + totals instead of every month. Patches support add_income, add_expense, add_cashflow_change, add_loan, update_loan (loan_id plus any of title, principal_amount, interest_rate, start_month, end_month, deposit_to_bank, type, ref_id, prepayments), add_fdp (fdp: { start_month, end_month, s, e, i } with s + e + i = 100 — or the legacy { amount, interest_rate, tenure } fixed-deposit shape) and set_account_balance — nested ({"op":"add_cashflow_change","change":{...}}) and flat ({cashflow_id,value,start_month,...}) forms are both accepted; the op is inferred from the fields.
Paramètres, retour & exemple (6)
Paramètrespatches· array · optionnel
Ordered scenario patches (add_income, add_expense, add_cashflow_change, add_loan, update_loan, add_fdp, set_account_balance).plan_id· string · optionnel
Load a saved plan by id (authenticated tier only).summary· boolean · optionnel
Return the compact summary (monthly totals + balances) instead of the full snapshot.duration· number · optionnel
Projection length in months (public tier caps this).plan_json· object · optionnel
Inline plan object for anonymous use; bounded to 256 KB.milestones· boolean · optionnel
With summary, return yearly points and totals instead of every month.
Exemple d'appel{"name": "simulate_plan", "arguments": {"patches": [], "plan_id": "texte", "summary": true, "duration": 1, "plan_json": {}, "milestones": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».