beprith/Finance-personal-assistant
If you are the rightful owner of Finance-personal-assistant and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
This project provides a local implementation of the Model Context Protocol (MCP) server for simulating financial-data interactions.
Local Financial MCP Mock Server
This project provides a lightweight, local implementation of the Model Context Protocol (MCP) server for simulating financialâdata interactions. It is intended for developers who need a secure, simplified environment for testing applications without connecting to live financial systems or user data.
See README_UI for UI guide
⨠Features
Capability | Description |
---|---|
Dummy Authentication | Login succeeds if the phone number exists as a directory in test_data_dir/ . |
Preâcanned Financial Data | Static JSON files for netâworth, credit report, bank & MF transactions, EPF. |
PlugâandâPlay Tools | Each JSON dataset is exposed as an MCP tool (see list below). |
Quick setup | Zero external integrationsâjust clone, install, run. |
đ Directory Layout
.
âââ main_mcp.py # MCP server implementation (Python)
âââ test_data_dir # Dummy data grouped by phone number
âââ 1111111111
â âââ fetch_net_worth.json
â âââ ...
âââ 2222222222
âââ fetch_credit_report.json
âââ ...
đ§ Installation & Run
Prerequisites
- Python 3.9+
Install dependencies
pip install mcp mcp-inspector
Start the server
python main_mcp.py
The server runs using stdio transport by default.
đ Dummy Authentication
- Login is successful if the supplied phone number matches a folder in
test_data_dir/
. - Example valid numbers:
1111111111
,2222222222
,3333333333
, ⌠(see folders).
đ ď¸ Available MCP Tools
Tool Name | Purpose |
---|---|
authenticate_user | Dummy login check |
fetch_net_worth | Netâworth summary + assets/liabilities |
fetch_credit_report | Credit score & account details |
fetch_bank_transactions | Full bankâstatement style transaction list |
fetch_epf_details | EPF balance & employment history |
fetch_mf_transactions | Mutualâfund buy/sell history |
All tools accept phone_number
as their sole argument.
đ FastMCPÂ Dev Environment UI
FastMCP ships with a lightweight developer UI that lets you explore any local MCP server, run tools, and inspect raw responsesâall from the browser.
1. Install the FastMCP CLI (oneâtime)
pip install fastmcp
2. Launch the Dev UI
From your project root:
fastmcp dev main_mcp.py
âď¸Â This spins up main_mcp.py
and the web UI in one command.
Already registered the server in mcp_servers.json
? Simply run:
fastmcp dev
FastMCP will autoâdetect local-financial-mcp
and start it.
The UI opens at http://localhost:4400 where you can:
- Authenticate with any test phone number (e.g.,Â
2222222222
). - Invoke tools like
fetch_net_worth
,fetch_credit_report
, etc. - Inspect request/response JSON in real time for quick debugging.
3. Use alongside other FastMCPâaware apps
The Dev UI acts purely as a clientâyou can keep it open while calling the same server from Langflow or the FastMCP CLI.
âď¸ FastMCP Serverâside Entry
If you want another FastMCPâaware application (or CLI) to autoâlaunch this mock server, add the following stanza to its mcp_servers.json
(or similar) file:
{
"servers": {
"local-financial-mcp": {
"transport": "stdio", // or "sse" if you expose an HTTP endpoint
"command": "python",
"args": ["main_mcp.py"],
"cwd": "<path-to-project-root>" // folder containing main_mcp.py & test_data_dir/
}
}
}
- transport â Use
stdio
for the default pipe transport (fastest). Switch tosse
if you wrap the server with an HTTP layer and expose/mcp/stream
. - cwd â Ensures relative paths (like
test_data_dir/
) resolve correctly.
Once registered, you can invoke tools directly via FastMCP CLI:
mcp call local-financial-mcp authenticate_user --phone_number 2222222222
mcp call local-financial-mcp fetch_net_worth --phone_number 2222222222
đ§âđť Example Workflow
mcp.call("authenticate_user", phone_number="2222222222")
print(mcp.call("fetch_net_worth", phone_number="2222222222"))
đ¤ Contributing
Pull requests are welcomeâwhether itâs extra dummy scenarios, bug fixes, or new tools.
𪪠License
This project is provided asâis for educational and testing purposes.