Nova MFI – Mifos System Doctor MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Nova MFI – Mifos System Doctor MCP Serverlist all overdue loans with balances"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Nova MFI – Mifos System Doctor MCP Server
A fully independent, deployable Model Context Protocol (MCP) server built for Nova Microfinance Uganda's Helaplus / Mifos X platform. Provides 50+ tools for audit, repair, notifications, GL posting, reporting, and complete Fineract administration — all accessible from any MCP-compatible AI client (Claude Desktop, Cursor, etc.) and from the bundled Next.js control dashboard.
Contents
Mifos-MCP-Server/
├── src/
│ ├── index.ts # MCP server – 50+ tools over stdio
│ ├── types/index.ts # Shared TypeScript types
│ ├── utils/
│ │ ├── fineract-client.ts # Fineract REST client (paginated)
│ │ └── formatter.ts # Table + date helpers
│ ├── tools/
│ │ ├── deposit-breakdown.ts # Deposit fee calculator + GL posting
│ │ ├── notification-engine.ts # Africa's Talking SMS/WhatsApp + Twilio
│ │ ├── action-queue.ts # Officer action queue + bulk notify
│ │ ├── customer-journey.ts # Full loan lifecycle reconstruction
│ │ ├── fineract-admin.ts # Full CRUD for all Fineract entities
│ │ ├── portfolio-snapshot.ts # PAR, aging, collection efficiency
│ │ ├── audit-gl-mapping.ts # GL mapping audit
│ │ ├── validate-topup.ts # Top-up loan validator
│ │ └── issue-tracker.ts # Issues register tracker
│ ├── webhook-server/
│ │ └── index.ts # Express webhook receiver + REST API bridge
│ └── config/
│ ├── product-fee-schedules.json # Fee schedules: HAOJUE, SIMBA BOSS, SIMBA RAPTOR, TVS, HONDA
│ └── issues-register.json # 17 tracked system issues
├── dashboard/ # Next.js 14 control panel
│ ├── app/
│ │ ├── page.tsx # Portfolio overview + KPIs
│ │ ├── deposit-calculator/ # Deposit breakdown UI + GL post
│ │ ├── notifications/ # Manual/bulk SMS+WhatsApp
│ │ ├── workflow/ # Officer action queue
│ │ ├── reports/ # Report runner (CSV export)
│ │ ├── issues/ # Issue tracker
│ │ ├── admin/ # Fineract entity management
│ │ └── api/ # Next.js API routes (breakdown, post-gl)
│ └── ...
├── Dockerfile # MCP + webhook server image
├── docker-compose.yml # 3-service stack
├── .env.example # All environment variables documented
└── package.jsonRelated MCP server: Snowdrop MCP
Quick Start
1. Clone and configure
git clone https://github.com/Chrl3y/Mifos-MCP-Server.git
cd Mifos-MCP-Server
cp .env.example .env
# Edit .env with your Fineract URL, tenant, and Africa's Talking credentials2. Install and build
npm install
npm run build3. Run with Docker Compose (recommended)
docker-compose up -dServices started:
Service | Port | Description |
| stdio | MCP server (connect from Claude Desktop) |
| 4000 | Fineract event receiver + REST API bridge |
| 3001 | Next.js control panel |
Open the dashboard: http://localhost:3001
4. Connect to Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"nova-mfis": {
"command": "node",
"args": ["/path/to/Mifos-MCP-Server/dist/index.js"],
"env": {
"FINERACT_BASE_URL": "https://your-helaplus.com/fineract-provider/api/v1",
"FINERACT_TENANT_ID": "default",
"FINERACT_USERNAME": "mifos",
"FINERACT_PASSWORD": "your-password",
"AT_API_KEY": "your-africas-talking-api-key",
"AT_USERNAME": "your-at-username",
"AT_SENDER_ID": "NovaLoan"
}
}
}
}Environment Variables
Variable | Required | Description |
| Yes | Base URL e.g. |
| Yes | Tenant ID (usually |
| Yes | Mifos admin username |
| Yes | Mifos admin password |
| Yes* | Africa's Talking API key |
| Yes* | Africa's Talking username |
| No | SMS sender ID (default: |
| No | AT WhatsApp business number |
| No | Twilio SID (WhatsApp fallback) |
| No | Twilio auth token |
| No |
|
| No | Webhook server port (default: 4000) |
| No | Dashboard port (default: 3001) |
*Required for notification features.
MCP Tools Reference
Deposit & GL
Tool | Description |
| Compute DR/CR lines for a client deposit by product |
| Post a calculated breakdown as a Fineract journal entry |
Notifications
Tool | Description |
| Send SMS or WhatsApp to one or more phone numbers |
| Scan loan notes for pending officer actions |
| Bulk-notify all officers with outstanding actions |
| List loans waiting for checker approval |
Customer Journey
Tool | Description |
| Full lifecycle reconstruction for a loan ID |
| Return Nova Microfinance standard operating procedure document |
Portfolio Health
Tool | Description |
| PAR, aging, collection efficiency |
| PAR bucketed by overdue day ranges |
Audit & Validation
Tool | Description |
| Check GL account assignments on all loan products |
| Validate top-up using principalOutstanding only |
| Check for standing instructions firing on book balance |
| Reconcile Fineract vs external payment records |
Issue Tracker
Tool | Description |
| List all tracked issues with optional filters |
| Get full details for one issue by ID |
| Update status / assignee for an issue |
Fineract Admin
Tool | Description |
| Loan product CRUD |
| GL account management |
| User management |
| Staff management |
| Charge configuration |
| Office management |
| Payment type configuration |
| Reporting |
| Webhook management |
| Fineract audit trail |
| Loan lifecycle actions |
| Add note + auto-notify assigned officer via WhatsApp |
| Retrieve all notes for a loan |
Deposit Breakdown – Product Fee Schedules
Pre-configured products in src/config/product-fee-schedules.json:
Product Key | Label | Example Loan | Down Payment % |
| Haojue Motorcycle | 630,000 UGX | varies |
| Simba Boss 110cc | 450,000 UGX | varies |
| Simba Raptor | 510,000 UGX | varies |
| TVS Motorcycle | configurable | varies |
| Honda Motorcycle | configurable | varies |
Fee components per product: Tracking (fixed), Insurance (% loan), Processing Fee (% loan), Arrangement Fee (% loan), App Fee (fixed), Form Fee (fixed), CRB (fixed), Loan Repayment Wallet (remainder).
To add a new product, edit src/config/product-fee-schedules.json — no code changes needed.
Issues Register
17 tracked issues covering:
ISS-001 – Top-up loan deducts principal + future interest (CRITICAL)
ISS-004 – GL misalignment: wallet vs revenue vs liability accounts
ISS-006 – Standing instructions firing on book balance not confirmed deposits
ISS-010 – Frozen/stuck loans with no lifecycle transition path
ISS-011 – Data migration mismatches (legacy → Fineract)
ISS-013 – Repayment date misalignment after restructure
ISS-HUB-001 through ISS-HUB-006 – Pipeline feedback loops, uncaptured payments
MF-001, MF-002 – GL account structure issues
RPT-001 through RPT-008 – Reporting gaps and inaccuracies
Development
# Run MCP server in dev mode
npm run dev
# Run webhook server
npm run webhook
# Run dashboard
cd dashboard && npm install && npm run devArchitecture
Claude Desktop / AI Client
│
│ stdio (MCP protocol)
▼
MCP Server (src/index.ts)
│
├─── Fineract REST API (your Helaplus instance)
├─── Africa's Talking (SMS / WhatsApp)
└─── Twilio (WhatsApp fallback)
Fineract Webhooks ──► Webhook Server (port 4000)
│
├─── Notification Engine (auto-notify officers)
└─── REST API bridge (dashboard ↔ MCP tools)
Next.js Dashboard (port 3001)
├── Portfolio Overview
├── Deposit Calculator
├── Notifications
├── Action Queue
├── Reports
├── Issue Tracker
└── Fineract AdminLicense
Internal use — Nova Microfinance Uganda. Not for public distribution.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Chrl3y/Mifos-MCP-Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server