mcp-mifosx-self-service

openMF/mcp-mifosx-self-service

3.3

If you are the rightful owner of mcp-mifosx-self-service and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

MCP Server for Mifos X - Self Service is designed to facilitate seamless integration and communication between Mifos X and self-service applications.

MifosX Self Service MCP

MifosX Self Service MCP is a Model Context Protocol (MCP) server built using FastMCP (Python). It exposes a set of AI-callable tools that allow MCP-compatible clients (such as Claude Desktop or DeepChat) to securely interact with the Apache Fineract / MifosX Self-Service APIs.

This project enables AI-driven banking workflows such as authentication, account access, beneficiary management, and transfers — while keeping all sensitive logic on the server side.

Features

  • Register new self-service users.
  • Confirm user registration.
  • User login and authentication.
  • Manage client information.
  • Manage beneficiaries (add, list, update, delete).
  • View client accounts and transactions.
  • Perform third-party account transfers.

Project Structure

The codebase is organized into a modular, maintainable structure:

mcp-mifosx-self-service/
├── main.py              # MCP server entry point
├── mcp_app.py           # FastMCP app initialization
├── config/
│   └── config.py        # Environment-based configuration
├── routers/             # MCP tools grouped by domain
│   ├── auth_tools.py
│   ├── client_tools.py
│   ├── beneficiary_tools.py
│   └── transfer_tools.py
├── schemas/             # Pydantic request/response models
│   ├── registration.py
│   ├── authentication.py
│   ├── confirm.py
│   ├── beneficiary.py
│   └── transfer.py
├── utils/               # Shared helpers
│   ├── http.py          # Centralized HTTP client
│   └── auth.py          # Auth helpers (Basic Auth)
├── resources/           # MCP resources (context & docs)
│   ├── overview.py
│   ├── endpoints.py
│   └── workflows.py
├── requirements.txt
└── README.md

Installation

  1. Clone the repository:

    git clone https://github.com/openMF/mcp-mifosx-self-service.git
    cd mcp-mifosx-self-service
    
  2. Create and activate a virtual environment (recommended):

    python3 -m venv venv
    source venv/bin/activate
    
  3. Install the required dependencies:

    pip install -r requirements.txt
    

Configuration

The application connects to a Fineract API. The base URL and tenant ID are hardcoded in main.py:

  • FINERACT_BASE_URL: https://tt.mifos.community/fineract-provider/api/v1
  • FINERACT_TENANT_ID: default

Using with Claude Desktop (MCP)

  • In Claude Desktop → Settings → Developer → Local MCP servers → Edit Config, add:

For authentication, the application uses default credentials (maria/password), but these can be overridden using environment variables for better security and flexibility.

Use this configuration file with Claude Desktop or any other IDE where you use MCP

{
  "mcpServers": {
    "tt-mobile-banking": {
      "command": "/home/keshav/mcp-mifosx-self-service/venv/bin/python3", #your path
      "args": [
        "/home/keshav/mcp-mifosx-self-service/main.py" #directory where you have cloned
      ],
      "env": {
        "MIFOS_BASE_URL": "https://tt.mifos.community",
        "MIFOS_TENANT": "default"
      }
    }
  }
}

Restart Claude Desktop after saving.

Running the Server

To run the MCP server, execute the following command from the project's root directory:

python3 main.py

Example Usage (Natural Language) on Claude

Once the MCP server is connected, Claude can invoke the available tools automatically. You can paste the following prompts in Claude Desktop to verify that your configuration is working correctly:

  • Login using username maria and password password
  • Get my client information
  • Show my client accounts
  • List my beneficiaries

If these commands return valid responses, your MCP server is successfully connected and operational.

Available MCP Tools

The MCP server exposes the following AI-callable tools. Each tool internally maps to a Fineract self-service API call. These tools are invoked by MCP-compatible AI clients, not directly via HTTP.

Authentication

MethodMCP Tool NameDescription
POSTregister_self_serviceRegister a new self-service user
POSTconfirm_registrationConfirm user registration with token
POSTlogin_self_serviceAuthenticate a self-service user

Client & Accounts

MethodMCP Tool NameDescription
GETget_client_infoRetrieve client information
GETget_client_accountsRetrieve client accounts
GETget_client_transactionsRetrieve client transactions

Beneficiaries

MethodMCP Tool NameDescription
GETget_beneficiariesList all beneficiaries
POSTadd_beneficiaryAdd a new beneficiary
PUTupdate_beneficiaryUpdate an existing beneficiary
DELETEdelete_beneficiaryDelete a beneficiary

Transfers

MethodMCP Tool NameDescription
GETget_transfer_templateRetrieve transfer options
POSTmake_third_party_transferPerform a third-party account transfer