Complete Financial Planning MVP MCP Server
Project description
๐ฐ Personal Finance MCP Server
mcp-name: io.github.sarveshtalele/personal-finance
Deterministic personal finance calculator powered by Model Context Protocol โ based on the Core Financial Principles.
โจ What It Does
Connect this server to Claude Desktop, Claude Code, or any MCP client to get 54 financial calculation tools with:
- ๐ข Deterministic outputs โ same inputs โ same results, always
- ๐ Theory-grounded โ every formula traced to core financial concepts
- ๐ Full formula display โ shows the exact calculation, not just the answer
- ๐ฎ๐ณ Indian finance context โ โน formatting, SIP planning, EMI calculations
- ๐ Zero external APIs โ works fully offline, no LLM dependency for math
๐ฆ Quick Start
1. Install
cd personal-finance-mcp
# Using uv (recommended)
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"
# Or using pip
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
2. Connect to Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"personal-finance": {
"command": "uv",
"args": [
"run",
"--directory",
"/ABSOLUTE/PATH/TO/personal-finance-mcp",
"personal-finance-mcp"
]
}
}
}
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:%APPDATA%/Claude/claude_desktop_config.json
3. Test
pytest tests/ -v # Run all 100+ tests
python -m src # Start the server manually
๐ Tool Categories (54 Tools)
๐ Time Value of Money โ 10 tools
| Tool | Description |
|---|---|
calculate_future_value |
FV with any compounding frequency |
calculate_present_value |
Discount future cash flows to today |
calculate_annuity_fv |
Future value of regular payments (SIP) |
calculate_annuity_pv |
Present value of regular payments |
calculate_perpetuity |
Value of infinite periodic payments |
calculate_rule_of_72 |
Quick doubling time estimate |
calculate_effective_rate |
Nominal โ Effective Annual Rate |
calculate_real_return |
Inflation-adjusted return (Fisher) |
calculate_inflation_impact |
Future cost after inflation |
calculate_savings_needed |
Monthly savings for a target corpus |
๐ณ Debt Management โ 6 tools
| Tool | Description |
|---|---|
calculate_emi |
EMI for any loan |
loan_amortization |
Month-wise principal/interest split |
compare_loans |
Side-by-side loan comparison |
calculate_prepayment_savings |
Interest saved by prepaying |
invest_or_prepay_loan |
Should you invest or prepay? |
analyze_debt_consolidation |
Should you consolidate debts? |
๐ Financial Planning โ 9 tools
| Tool | Description |
|---|---|
calculate_net_worth |
Assets - Liabilities statement |
analyze_financial_ratios |
Savings, DTI, liquidity, solvency |
calculate_emergency_fund |
Recommended buffer size |
analyze_budget |
50/30/20 rule analysis |
plan_financial_goal |
Goal setting with inflation adjustment |
plan_retirement |
Retirement corpus & SIP calculator |
plan_education |
Child education fund planner |
calculate_insurance_need |
Human Life Value method |
financial_health_check |
0-100 health score with rating |
๐ Bond Analysis โ 6 tools
| Tool | Description |
|---|---|
calculate_bond_price |
DCF bond pricing |
calculate_ytm |
Yield to Maturity (Newton-Raphson) |
calculate_current_yield |
Annual coupon / market price |
calculate_bond_duration |
Macaulay & Modified Duration |
calculate_bond_convexity |
Second-order interest rate risk |
calculate_zero_coupon_bond |
Zero-coupon bond pricing |
๐ Stock Valuation โ 5 tools
| Tool | Description |
|---|---|
value_stock_ddm |
Gordon Growth Model |
value_stock_two_stage_ddm |
Two-stage DDM |
value_stock_pe |
P/E relative valuation + PEG |
value_stock_dcf |
Discounted Cash Flow |
calculate_dividend_yield |
Dividend yield % |
๐ฆ Mutual Funds โ 7 tools
| Tool | Description |
|---|---|
calculate_sip_returns |
SIP calculator with step-up |
calculate_sip_needed |
Monthly SIP for a target corpus |
compare_lumpsum_vs_sip |
Lump sum vs SIP comparison |
analyze_expense_ratio_impact |
How expense ratio erodes returns |
calculate_swp |
Systematic Withdrawal Plan duration |
calculate_cagr |
Compound Annual Growth Rate |
calculate_nav |
Net Asset Value calculation |
๐ Portfolio Analytics โ 11 tools
| Tool | Description |
|---|---|
calculate_portfolio_return |
Weighted expected return |
calculate_portfolio_risk |
Portfolio variance & std deviation |
analyze_two_asset_portfolio |
Two-asset analysis + min variance |
calculate_capm_return |
CAPM expected return |
calculate_sharpe_ratio |
Risk-adjusted return (total risk) |
calculate_treynor_ratio |
Risk-adjusted return (systematic) |
calculate_jensens_alpha |
Manager skill measurement |
calculate_information_ratio |
Consistency vs benchmark |
calculate_sortino_ratio |
Downside-risk-adjusted return |
suggest_asset_allocation |
Age & risk-based allocation |
rebalance_portfolio |
Trades needed for target allocation |
๐ฌ Example Usage in Claude
"Calculate EMI for a 50 lakh home loan at 8.5% for 20 years"
Output:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
EMI Calculation
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Emi: โน43,391.16
Total Payment: โน1,04,13,878.40
Total Interest: โน54,13,878.40
Interest To Principal Ratio: 1.0828
Principal: โน50,00,000.00
Annual Rate: 8.5%
Tenure Months: 240
Formula: EMI = 50,00,000.00 ร 0.007083 ร (1+0.007083)^240 / ((1+0.007083)^240 - 1)
๐ Architecture
Tools Layer โ Calculators Layer โ Models Layer
โ โ โ
MCP interface Pure math Pydantic validation
+ formatting functions + enums
- Calculators: Pure functions, no side effects, deterministic
- Tools: MCP wrappers with formatting
- Models: Pydantic schemas for input validation
See Architecture.md for full details.
๐ Project Structure
personal-finance-mcp/
โโโ src/
โ โโโ server.py # MCP server entry point
โ โโโ __main__.py # python -m src entry point
โ โโโ calculators/ # Pure math functions (7 modules)
โ โ โโโ tvm.py # Time Value of Money
โ โ โโโ debt.py # EMI, amortization
โ โ โโโ ratios.py # Financial ratios, health score
โ โ โโโ bonds.py # Bond pricing, YTM, duration
โ โ โโโ stocks.py # DDM, DCF, P/E valuation
โ โ โโโ mutual_funds.py # SIP, SWP, CAGR, NAV
โ โ โโโ portfolio.py # MPT, CAPM, Sharpe, alpha
โ โโโ tools/ # MCP tool definitions (7 modules)
โ โโโ models/ # Pydantic schemas & enums
โ โโโ utils/ # Formatters & helpers
โโโ tests/ # 100+ unit & integration tests
โโโ docs/ # setup, testing, deployment, documentation
โโโ config/ # Claude Desktop config example
โโโ Plan.md # Project roadmap
โโโ Architecture.md # System design
โโโ log.md # Development changelog
โโโ Dockerfile # Container deployment
โโโ run_production.py # SSE server launcher
โโโ pyproject.toml # Package configuration
โโโ LICENSE # MIT License
๐ Deployment Options
| Method | Transport | Use Case |
|---|---|---|
| Claude Desktop | stdio | Personal use โ simplest |
| Claude Code | stdio | Development / coding |
| SSE Server | HTTP | Remote clients, team use |
| Docker | HTTP | Production deployment |
See docs/deployment.md for full instructions.
๐ Documentation
| Document | Description |
|---|---|
| docs/documentation.md | Full tool reference with formulas |
| docs/setup.md | Installation & connection guide |
| docs/testing.md | Test structure & running tests |
| docs/deployment.md | Local, SSE, Docker deployment |
| Architecture.md | System design & data flow |
| Plan.md | Roadmap & module breakdown |
| log.md | Development changelog |
๐ Key Design Decisions
- Stateless โ No database, no sessions. Every tool call is self-contained.
- Deterministic โ Pure math, no randomness, no AI inference for numbers.
- Layered โ Tools โ Calculators โ Models, each with single responsibility.
- Offline-first โ Zero external API calls. Works without internet.
- Theory-grounded โ Every formula is mathematically deterministic.
๐ License
MIT โ free to use, modify, and distribute.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file personal_finance_mcp-1.0.1.tar.gz.
File metadata
- Download URL: personal_finance_mcp-1.0.1.tar.gz
- Upload date:
- Size: 120.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6732819b8903ce421eda2fe82f400fb7b58448e01a15d2ba2235e8367bf934b8
|
|
| MD5 |
434be419d22084616ce652d28d9bb023
|
|
| BLAKE2b-256 |
346d2d4657fdbac6dbf7264831a65cbeb30fdc874a4c5ee1844aad88c97bd38f
|
File details
Details for the file personal_finance_mcp-1.0.1-py3-none-any.whl.
File metadata
- Download URL: personal_finance_mcp-1.0.1-py3-none-any.whl
- Upload date:
- Size: 36.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09adaccab40600dad73b52b6d6584debe400c175a745484304756eb1e1017e70
|
|
| MD5 |
1f18e3d8072baec9f79f1eeac304ed20
|
|
| BLAKE2b-256 |
c198148ea6328a05aaeb0f1354dc248c9f43dc3565aefaf5571abb87d367695a
|