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 trans
Add this skill
npx mdskills install openMF/mcp-mifosx-self-serviceWell-structured MCP server for banking workflows with comprehensive tool coverage and clear setup
1# MifosX Self Service MCP23MifosX Self Service MCP is a Model Context Protocol (MCP) server built using FastMCP (Python).4It 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.56This project enables AI-driven banking workflows such as authentication, account access, beneficiary management, and transfers — while keeping all sensitive logic on the server side.78## Features910* Register new self-service users.11* Confirm user registration.12* User login and authentication.13* Manage client information.14* Manage beneficiaries (add, list, update, delete).15* View client accounts and transactions.16* Perform third-party account transfers.1718## Project Structure1920```text21The codebase is organized into a modular, maintainable structure:2223mcp-mifosx-self-service/24│25├── main.py # MCP server entry point26├── mcp_app.py # FastMCP app initialization27│28├── config/29│ └── config.py # Environment-based configuration30│31├── routers/ # MCP tools grouped by domain32│ ├── auth_tools.py33│ ├── client_tools.py34│ ├── beneficiary_tools.py35│ └── transfer_tools.py36│37├── schemas/ # Pydantic request/response models38│ ├── registration.py39│ ├── authentication.py40│ ├── confirm.py41│ ├── beneficiary.py42│ └── transfer.py43│44├── utils/ # Shared helpers45│ ├── http.py # Centralized HTTP client46│ └── auth.py # Auth helpers (Basic Auth)47│48├── resources/ # MCP resources (context & docs)49│ ├── overview.py50│ ├── endpoints.py51│ └── workflows.py52│53├── requirements.txt54└── README.md5556```5758## Installation59601. **Clone the repository:**61 ```bash62 git clone https://github.com/openMF/mcp-mifosx-self-service.git63 cd mcp-mifosx-self-service64 ```65662. **Create and activate a virtual environment (recommended):**67 ```bash68 python3 -m venv venv69 source venv/bin/activate70 ```71723. **Install the required dependencies:**73 ```bash74 pip install -r requirements.txt75 ```7677## Configuration7879The application connects to a Fineract API. The base URL and tenant ID are hardcoded in `main.py`:8081* `FINERACT_BASE_URL`: `https://tt.mifos.community/fineract-provider/api/v1`82* `FINERACT_TENANT_ID`: `default`838485## Using with Claude Desktop (MCP)86* In Claude Desktop → Settings → Developer → Local MCP servers → Edit Config, add:8788For authentication, the application uses default credentials (`maria`/`password`), but these can be overridden using environment variables for better security and flexibility.8990Use this configuration file with Claude Desktop or any other IDE where you use MCP91```bash92{93 "mcpServers": {94 "tt-mobile-banking": {95 "command": "/home/keshav/mcp-mifosx-self-service/venv/bin/python3", #your path96 "args": [97 "/home/keshav/mcp-mifosx-self-service/main.py" #directory where you have cloned98 ],99 "env": {100 "MIFOS_BASE_URL": "https://tt.mifos.community",101 "MIFOS_TENANT": "default"102 }103 }104 }105}106```107Restart Claude Desktop after saving.108109## Running the Server110111To run the MCP server, execute the following command from the project's root directory:112113```bash114python3 main.py115```116117## Example Usage (Natural Language) on Claude118119Once the MCP server is connected, Claude can invoke the available tools automatically.120You can paste the following prompts in Claude Desktop to verify that your configuration is working correctly:121122- Login using username `maria` and password `password`123- Get my client information124- Show my client accounts125- List my beneficiaries126127If these commands return valid responses, your MCP server is successfully connected and operational.128129## Available MCP Tools130131The MCP server exposes the following AI-callable tools.132Each tool internally maps to a Fineract self-service API call.133These tools are invoked by MCP-compatible AI clients, not directly via HTTP.134135136### Authentication137138| Method | MCP Tool Name | Description |139|------|----------------------------|------------------------------------------|140| POST | `register_self_service` | Register a new self-service user |141| POST | `confirm_registration` | Confirm user registration with token |142| POST | `login_self_service` | Authenticate a self-service user |143144### Client & Accounts145146| Method | MCP Tool Name | Description |147|------|----------------------------|------------------------------------------|148| GET | `get_client_info` | Retrieve client information |149| GET | `get_client_accounts` | Retrieve client accounts |150| GET | `get_client_transactions` | Retrieve client transactions |151152### Beneficiaries153154| Method | MCP Tool Name | Description |155|------|----------------------------|------------------------------------------|156| GET | `get_beneficiaries` | List all beneficiaries |157| POST | `add_beneficiary` | Add a new beneficiary |158| PUT | `update_beneficiary` | Update an existing beneficiary |159| DELETE | `delete_beneficiary` | Delete a beneficiary |160161### Transfers162163| Method | MCP Tool Name | Description |164|------|--------------------------------|------------------------------------------|165| GET | `get_transfer_template` | Retrieve transfer options |166| POST | `make_third_party_transfer` | Perform a third-party account transfer |167
Full transparency — inspect the skill content before installing.