Financial MCP Server
Mock Financial Data MCP Server for Finarrator application.
Local Development
Setup
- Install dependencies:
npm install
- Set up environment variables in
.env:
PORT=10000
NODE_ENV=development
CREDENTIALS_FILE=./credentials.json
- Run the server:
npm run dev
The server will run on http://localhost:10000
Deployment on Render
Prerequisites
- Render account (render.com)
- GitHub repository with this code
Deployment Steps
-
Push to GitHub
- Ensure your MCP server code is in a GitHub repository
- Make sure
.gitignoreis properly configured
-
Connect to Render
- Go to render.com
- Click "New +" → "Web Service"
- Connect your GitHub repository
- Select the branch (usually
main)
-
Configure Settings
- Name:
financial-mcp-server - Environment:
Node - Build Command:
npm install - Start Command:
npm start - Plan: Free or Paid (based on your needs)
- Name:
-
Set Environment Variables In Render dashboard, add:
PORT:10000NODE_ENV:productionCREDENTIALS_FILE:./credentials.json
-
Deploy
- Click "Create Web Service"
- Render will automatically deploy on every push to your selected branch
Environment Variables for Production
Update these in Render dashboard:
PORT=10000
NODE_ENV=production
CREDENTIALS_FILE=./credentials.json
ALLOWED_ORIGINS=https://your-backend-domain.onrender.com,https://your-frontend-domain.vercel.app
API Endpoints
Health Check
GET /- Returns server status
Login
POST /api/login- Body:
{ mobile: string, password: string } - Returns: User financial data (bank transactions, credit report, EPF details, etc.)
- Body:
File Structure
.
├── server.js # Main server file
├── package.json # Dependencies and scripts
├── .env # Environment variables
├── .gitignore # Git ignore rules
├── credentials.json # User credentials (mock data)
├── render.yaml # Render deployment config
├── data/ # Mock financial data
│ ├── 1010101010/ # User directories
│ └── ...
└── views/ # EJS templates
Troubleshooting
Port Issues
- If port 10000 is already in use locally, change the PORT in
.env - Render automatically handles port assignment
Credentials Not Loading
- Ensure
credentials.jsonis in the root directory - Check that the path in
.envis correct
CORS Issues
- Update
ALLOWED_ORIGINSin environment variables - Restart the service after updating
Support
For issues or questions, check the main Finarrator documentation.