mcp mifosx
Integrate the MCP Server for Mifos X an Open Source Core Banking Solution for Financial Institutions. Useful for managing clients, loans, savings, shares, financial transactions and generating financial reports.
Integrate the MCP Server for Mifos X an Open Source Core Banking Solution for Financial Institutions. Useful for managing clients, loans, savings, shares, financial transactions and generating financial reports.
This project provides Model Context Protocol (MCP) servers for interacting with the Apache Fineract API, enabling AI agents to access financial data and operations. Implementations are available in Python, Java (Quarkus), and Node.js.
Use the MCP Inspector to test and debug your server:
npx @modelcontextprotocol/inspector
This starts a local web UI to connect to your MCP server via STDIO or SSE.
Prerequisites: Python 3.8+, flask
, mcp.server.fastmcp
Steps: 1. Install dependencies:
pip install mcp[cli] uv flask
2. Run the server:
mcp dev app.py
Prerequisites: JDK 17+, Maven
Steps: 1. Configure environment variables in your shell or IDE:
export MIFOSX_BASE_URL="https://your-fineract-instance"
export MIFOSX_BASIC_AUTH_TOKEN="your_api_token"
export MIFOS_TENANT_ID="default"
2. Run via JBang (for quick execution):
jbang --quiet org.mifos.community.ai:mcp-server:1.0.0-SNAPSHOT:runner
3. (Optional) Build a native executable:
./mvnw package -Dnative
./target/mcp-server-1.0.0-SNAPSHOT-runner
Prerequisites: Node.js 16+, npm
Steps: 1. Install dependencies:
cd nodejs && npm install
2. Configure environment variables in .env
:
cp .env.example .env
3. Run the server:
npm run dev
4. Test with the built-in inspect
script:
npm run inspect
All implementations require the following environment variables:
Variable | Description |
---|---|
FINERACT_BASE_URL |
Base URL of your Fineract instance |
FINERACT_BASIC_AUTH_TOKEN |
API authentication token |
FINERACT_TENANT_ID |
Tenant identifier (default: default ) |
Note: Java uses MIFOSX_
prefixed variables (e.g., MIFOSX_BASE_URL
).
The MCP server exposes these resources:
fineract://clients
fineract://clients/{clientId}
fineract://loans
fineract://loans/{loanId}
search_clients
create_client
update_loan_status
For Java (Quarkus), create a native executable:
./mvnw package -Dnative -Dquarkus.native.container-build=true
./target/mcp-server-1.0.0-SNAPSHOT-runner
npx @modelcontextprotocol/inspector
STDIO
transport.python/app.py
and server.js
for new resources.src/main/java/org/mifos/community/ai/...
for new endpoints.nodejs/src/server.js
and add Zod schemas for validation.npm run inspect
for live reloadingpython app.py
and configure .env
fineract://
URIs