☁️ 🏠 - Core banking integration for managing clients, loans, savings, shares and transactions, and generating…
Mifos MCP - Model Context Protocol (MCP)
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
This project provides Model Context Protocol (MCP) for the Mifos X Ecosystem, enabling AI agents to access financial data and operations.
Implementations are available in:
- **Go (Native)** — 102 typed tools (high-performance, cloud-native with SSE/Stdio).
- **Java (Quarkus)** — 38 typed tools (across Backoffice and Recommendations).
- **Python (FastMCP)** — 49 typed tools (modular domain-driven design).
- **Rust** — 89 typed tools (high-performance async I/O with exclusive bulk operations).
---
Architecture Overview
The Mifos MCP Server acts as a standalone, stateless integration tier that bridges any AI assistant or agent framework to the **Apache Fineract** banking backend.
This repository is **framework-agnostic**. The client (LLM brain, UI, memory) lives in a separate repository. Any MCP-compatible system can plug in.
---
Agentic Platform Architecture
The Agentic Gateway builds on these MCP servers to replace the plain LLM gateway behind the Mifos X WebApp copilot with an agent harness running a swarm of specialized agents.
- **User channels** — Mifos WebApp (Chat / Copilot UI), Mifos Pay, Mifos Mobile, Mifos Field Officer and Mifos Web Banking. The **Agent CLI** is an optional entry point for developers and power users.
- **Agentic Gateway** — reuses the existing Mifos AI Gateway endpoint, but routes requests to an agent harness instead of directly to an LLM.
- **Agent Harness** (runtime for Pi / Prime / Hermes) — wraps every agent with the LLM model provider, an LLM firewall (safety & security), observability (logging / monitoring) and session management (tool orchestration).
- **Specialized Agents** — Enrollment Agent, KYC/FT Reviewer, Loan Reviewer, Scoring Reviewer, Document Reviewer and others. Their Fineract tool calls use the calling officer's credentials and permissions; agents do not have separate Fineract roles.
- **MCP Tools / AG-UI compatible tools** — Fineract, loan, client, product, workflow, reporting and custom tools, invoked as needed by the agents.
- **Apache Fineract + Grants / RBAC** — the core banking backend. Fineract enforces grants for the authenticated officer: if the officer's role has the required grant, the call (including write APIs) succeeds; otherwise, it is denied.
- **External Systems** (via tools) — Scoring, Black List, Sanction List, National ID, Identity Verification and Biometrics systems.
---
Implementation Synchronization
While this repository hosts two different programming languages, they are kept in **functional parity** where possible to ensure a consistent experience.
How they "Sync":
1. **Tool Specification**: All implementations aim to expose the same core banking tools.
- **Go** currently leads with **102 tools**, featuring advanced cloud-native features and SSE.
- **Rust** provides **89 tools**, uniquely featuring high-concurrency Bulk Operations and robust "Fetch-and-Merge" state management.
- **Python** provides **49 tools** using a modular domain design.
- **Java** provides **38 tools** (21 for Backoffice operations and 17 for User Recommendations).
2. **API Alignment**: All implementations are built against the same **Apache Fineract REST API**. They share identical logic for field routing.
3. **Stateless Parity**: All implementations follow a strictly **stateless** design. None of the servers store user data, PII, or AI memory.
4. **Testing Protocol**: Shared "Smoke Tests" ensure that all implementations return identical, predictable JSON structures to the LLM.
---
Project Structure
This repository is structured to support multiple implementations and client integrations.
---
Getting Started