Mifos X Fineract
STDIOMCP servers for interacting with Apache Fineract API, enabling AI agents to access financial data.
MCP servers for interacting with Apache Fineract API, enabling AI agents to access financial data.
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:
Install dependencies:
pip install mcp[cli] uv flask
Note for zsh users: If you're using zsh, be sure to quote extras to avoid shell expansion errors:
pip install 'mcp[cli]' uv flask
Run the server:
mcp dev app.py
Prerequisites: JDK 17+, Maven
Steps:
export MIFOSX_BASE_URL="https://your-fineract-instance" export MIFOSX_BASIC_AUTH_TOKEN="your_api_token" export MIFOS_TENANT_ID="default"
jbang --quiet org.mifos.community.ai:mcp-server:1.0.0-SNAPSHOT:runner
./mvnw package -Dnative ./target/mcp-server-1.0.0-SNAPSHOT-runner
Prerequisites: Node.js 16+, npm
Steps:
cd nodejs && npm install
.env
:
cp .env.example .env
npm run dev
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