JUHE API Marketplace
openMF avatar
MCP Server

mcp-mifosx

A core banking integration for managing clients, loans, savings, shares, financial transactions and generating financial reports.

14
GitHub Stars
8/23/2025
Last Updated
No Configuration
Please check the documentation below.

README Documentation

Mifos MCP - Model Context Protocol (MCP)

This project provides Model Context Protocol (MCP) for the Mifos X Ecosystem, enabling AI agents to access financial data and operations. Implementations is available in Java (Quarkus).


MCP Developer Tools

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.


Getting Started

1. Choose Your Implementation

Java (Quarkus)

Prerequisites: JDK 21+, 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
    

Configuration

All implementations require the following environment variables:

VariableDescription
FINERACT_BASE_URLBase URL of your Fineract instance
FINERACT_BASIC_AUTH_TOKENAPI authentication token
FINERACT_TENANT_IDTenant identifier (default: default)

Note: Java uses MIFOSX_ prefixed variables (e.g., MIFOSX_BASE_URL).


Building Native Executables (Java Only)

For Java (Quarkus), create a native executable:

./mvnw package -Dnative -Dquarkus.native.container-build=true
./target/mcp-server-1.0.0-SNAPSHOT-runner

Testing with MCP Inspector

  1. Start your MCP server (Python/Java/Node.js).
  2. Run the inspector:
    npx @modelcontextprotocol/inspector
    
  3. Connect to the server using the STDIO transport.

Examples - Backoffice Agent

Video URLTitlePrompt
https://youtu.be/MDQKRoz5GKw?si=69X77C58nFhy6IohJoin and Try the Mifos MCP. Go to https://ai.mifos.communityN/A
https://youtu.be/y5MR3j8EGM4?si=zXTurBNql4xF5CGYCreate ClientCreate the client using first name: OCTAVIO, last name: PAZ, email address: octaviopaz@mifos.org, mobile number: 5518098299 and external id: OCPZ99
https://youtu.be/qJsC25cd-1g?si=qQzX8DeOe0_2qhfrActivate ClientActivate the client OCTAVIO PAZ
https://youtu.be/X1g_nVDsRnM?si=K7vsAN7gOLEC2OG0Add Address to ClientAdd the address to the client OCTAVIO PAZ. Fields: address type: HOME, address: PLAZA DE LORETO, neighborhood: DOCTOR ALFONZO, number: NUMBER 10, city: CDMX, country: MÉXICO, postal code: 54440, state province: CDMX.
https://youtu.be/xeL9_sycwA8?si=AtV6F4WhTvcDspSpAdd Personal Reference to ClientAdd the family member to the client OCTAVIO PAZ. First name: Maria, middle name: Elena, last name: Ramírez, age: 27, relationship: Sister, gender: FEMALE, date of birth: 15 March 1998, qualification: Bachelor’s Degree, is dependent, profession: STUDENT, marital status: SINGLE.
https://youtu.be/IKGMeAJBAOk?si=N27rE64dn7qxmMBkCreate a Loan ProductCreate a default loan product named "SILVER" with short name "ST01", principal 10000, 5 repayments, nominal interest rate 10.0%, repayment frequency 2 MONTHS, currency USD.
https://youtu.be/5EdgUyLyP0w?si=L0UdYjXlyYF6faL5Create Loan ApplicationApply for an individual loan account for the client OCTAVIO PAZ using loan product SILVER.
https://youtu.be/2ioN_8z_uaY?si=ZTB5rCrgS2jTpC4-Approve Loan ApplicationApprove the loan account
https://youtu.be/dDebmrn4lB0?si=0GTf4asCBHnsu27fDisbursement of LoanDisburse the loan account using payment type Money Transfer.
https://youtu.be/N3wnyJCh_Ik?si=gSy5LrJdFF2kfzHdMake Loan RepaymentMake a repayment for loan account 6 using Money Transfer. Set the amount to 6687.59, the date to 06 AUGUST 2025, and use external ID RT33. Add the note “FYI” and include payment account number 100, check number 101, routing code 102, receipt number 103, and bank number 1
https://youtu.be/bOuTj97hyqU?si=9bpno4Kp0II1IfPYCreate Savings ProductCreate a default savings product with the name "WALLET", short name "TSWL", description "WALLET PRODUCT", and currency code "USD".
https://youtu.be/l-Z7LlE3AnM?si=yQM4lloJL8Hu6yv8Create a Savings Account ApplicationApply for a savings account for the client OCTAVIO PAZ using savings product WALLET and external ID STP1.
https://youtu.be/Q5ExlhalG8U?si=TwbsUZX30G3JeNJyApprove Savings ApplicationApprove the savings account and include the note: "MY FIRST APPROVAL".
https://youtu.be/DJgUiRYK-rE?si=YatfVgOgpbP4wV91Activate Savings AccountActivate the savings account
https://youtu.be/Od7KFqktUtI?si=gPJNlLOB_7D74QdSMake a Deposit TransactionCreate a savings transaction for client with the account number 1. It's a DEPOSIT of 5000 using Money Transfer. The note should be "Monthly saving".
https://youtu.be/9OL6N5wKG7c?si=R50RjTK6GI_ODuUsMake a Withdrawal TransactionCreate a savings transaction for client with the account number 1. It's a WITHDRAWAL of 2000 using Money Transfer. Add the note "Emergency expense".

Contact


Key Features:

  • MCP-compliant with STDIO/SSE transports
  • Environment-agnostic configuration

Quick Actions

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source