Mifos MCP-模型上下文协议(MCP)
该项目为Mifos X生态系统提供模型上下文协议(MCP),使AI代理能够访问财务数据和操作。
实施方式可在以下网址获得:
- Go(本地) --102种类型化工具(高性能、云原生SSE/Stdio)。
- Java(Quarkus) --38个打字工具(跨后台和推荐)。
- Python(FastMCP) --49种类型化工具(模块化领域驱动设计)。
- 锈 --89种类型化工具(具有独占批量操作的高性能异步I/O)。
______________________________________________________________________
架构概述
Mifos MCP服务器充当一个独立的、无状态的集成层,将任何AI助手或代理框架连接到 Apache Fineract 银行后端。
┌──────────────────────────────────────────────┐
│ Apache Fineract / Mifos X │
└───────────────────────┬──────────────────────┘
│ REST API
┌───────────────────────────────▼───────────────────────────────┐
│ mcp-mifosx (Primary Repo) │
│ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ /go (Native) │ │ /java (Quarkus) │ │/python (FastMCP)│ │ /rust (Tokio) │ │
│ │ │ │ │ │ │ │ │ │
│ │ - 102 Tools │ │ - 38 Tools │ │ - 49 Tools │ │ - 89 Tools │ │
│ │ - Go Routines │ │ - Backoffice │ │ - Modular Design│ │ - Async I/O │ │
│ │ - SSE / Stdio │ │ - Recommend. │ │ │ │ - Bulk Actions │ │
│ └────────┬────────┘ └────────┬────────┘ └────────┬────────┘ └────────┬────────┘ │
└───────────┴───────────────────┼───────────────────┼───────────────────┴───────────┘
│ MCP Protocol (stdio / SSE)
┌─────────────┼──────────────┐
▼ ▼ ▼
Mifos X WebApp Claude Code n8n / Custom
AI Assistant (claude.ai) Workflow Agent
(your client) (external) (your client)此存储库是 框架无关客户端(LLM大脑、UI、内存)位于一个单独的存储库中。任何兼容MCP的系统都可以插入。
______________________________________________________________________
实施同步
虽然此存储库包含两种不同的编程语言,但它们保存在 功能对等 尽可能确保一致的体验。
他们如何“同步”:
- 工具规格:所有实现都旨在公开相同的核心银行工具。
- 去 目前领先 102工具,具有先进的云原生功能和SSE。 - 锈 提供 89工具,具有高并发批量操作和强大的“提取和合并”状态管理的独特功能。 - python 提供 49工具 使用模块化域设计。 - Java 提供 38工具 (后台操作为21,用户推荐为17)。
- API校准:所有实现都是基于相同的目标构建的 Apache Finract REST API它们共享相同的现场路由逻辑。
- 无国籍平等:所有实现都严格遵循 无状态 设计。没有一台服务器存储用户数据、个人身份信息或人工智能内存。
- 测试协议:共享的“烟雾测试”确保所有实现都向LLM返回相同的、可预测的JSON结构。
______________________________________________________________________
项目结构
此存储库的结构支持多种实现和客户端集成。
.
├── README.md # Root entry point & cross-implementation guide
├── go/ # Go Implementation (Native / High-Performance)
│ ├── tools/ # 102 Domain-specific tools (SSE/Stdio)
│ ├── server/ # Dual-transport logic (HTTP/SSE & Stdio)
│ └── main.go # Server entry point
├── rust/ # Rust Implementation (Tokio/Reqwest)
│ ├── src/ # Multi-threaded typed tools & bulk execution logic
│ └── Cargo.toml # Rust package dependencies
├── python/ # Python Implementation (FastMCP)
│ ├── mcp_server.py # Main entry point for the MCP server
│ ├── tools/ # Domain-specific banking tools (Loans, Clients, etc.)
│ └── core/ # API Gateway handlers
└── java/ # Java Implementation (Quarkus)
├── backoffice/ # Core banking tools
└── userrecommendation/ # Recommendation engine tools______________________________________________________________________
入门指南
1.选择您的实施方式
Go(本地和云就绪)
先决条件:转到1.21+
步骤:
- 配置环境:
复制 go/.env.example 到 go/.env 并更新凭据。
- 构建并运行:
cd go
go build -o mcp-server .
./mcp-server- SSE模式 (可选):
定义 PORT=8080 在 .env 从Stdio切换到SSE微服务模式。
锈蚀(高性能)
先决条件:锈蚀(货物)
步骤:
- 配置环境:
复制 rust/.env.example 到 rust/.env 并更新凭据。
- 构建并运行:
cd rust
cargo build --release
./target/release/mcp-rust-mifosxJava(Quarkus)
先决条件:JDK 21+,Maven
步骤:
- 配置环境变量:
export MIFOSX_BASE_URL="https://your-fineract-instance"
export MIFOSX_BASIC_AUTH_TOKEN="your_api_token"
export MIFOS_TENANT_ID="default"- 通过JBang跑步:
jbang --quiet org.mifos.community.ai:mcp-server:1.0.0-SNAPSHOT:runner- 构建本机可执行文件 (可选):
cd java/backoffice
./mvnw package -Dnative
./target/mcp-server-1.0.0-SNAPSHOT-runnerPython(FastMCP)
先决条件:Python 3.10+,pip
步骤:
- 导航到Python目录:
cd python- 安装依赖项:
pip install -r requirements.txt- 配置环境:
复制 .env.example 到 .env 并填写您的详细信息。
- 运行服务器:
python mcp_server.py______________________________________________________________________
可用工具摘要
工具的确切数量和分类取决于部署的核心服务器实现:
Go(102工具)
*最具特色的是使用本机并发例程的完整实现。*
- 客户和身份:16工具
- 文件和报告:26工具
- 贷款和储蓄:23工具
- 团体和中心:13工具
- 散装和复合材料:19个工具(云原生)
- 会计与统计:5工具
铁锈(89工具)
*专为异步扩展、批量处理和健壮的状态感知更新而构建。*
- 客户和抵押品:25工具
- 贷款和抵押品:19工具
- 团体、储蓄和中心:23工具
- 员工、会计和费用:11工具
- 批量操作:11工具 *(Rust专用)*
Python(49种工具)
*领域驱动设计将AI直接连接到Fineract。*
- 客户和团体:16工具
- 贷款和储蓄:20个工具
- 员工与会计:13工具
Java(38个工具)
*企业套件分为后台和推荐引擎。*
- 后台运营:21工具 *(涵盖客户、贷款、储蓄)*
- 用户推荐:17工具 *(Java专用)*
______________________________________________________________________
MCP检验员测试
使用 MCP检查员 以交互方式测试和调试服务器:
npx @modelcontextprotocol/inspector 对于Python:
npx @modelcontextprotocol/inspector python python/mcp_server.py______________________________________________________________________
示例-后台代理
| 视频URL | 标题 | 提示 | 实现 |
|---|---|---|---|
| https://youtu.be/MDQKRoz5GKw?si=69X77C58nFhy6Ioh | 加入并尝试Mifos MCP | 前往https://ai.mifos.community | Go/Java/Python/Rust |
| https://youtu.be/y5MR3j8EGM4?si=zXTurBNql4xF5CGY | 创建客户端 | 使用名称OCTAVIO PAZ创建客户端,电子邮件:octaviopaz@mifos.org等等。 | Go/Java/Python/Rust |
| https://youtu.be/qJsC25cd-1g?si=qQzX8DeOe0_2qhfr | 激活客户端 | 激活客户端OCTAVIO PAZ | Go/Java/Python/Rust |
| https://youtu.be/X1g_nVDsRnM?si=K7vsAN7gOLEC2OG0 | 向客户添加地址 | 向客户OCTAVIO PAZ(洛雷托广场)添加地址 | Java |
| https://youtu.be/xeL9_sycwA8?si=AtV6F4WhTvcDspSp | 添加个人推荐信 | 添加玛丽亚·埃琳娜·拉米雷斯为OCTAVIO PAZ的妹妹 | Java |
| https://youtu.be/IKGMeAJBAOk?si=N27rE64dn7qxmMBk | 创建贷款产品 | 创建名为“银”的默认贷款产品(10%利息) | Java |
| https://youtu.be/5EdgUyLyP0w?si=L0UdYjXlyYF6faL5 | 创建贷款申请 | 使用SILVER为OCTAVIO PAZ申请个人贷款 | Go/Java/Python/Rust |
| https://youtu.be/2ioN_8z_uaY?si=ZTB5rCrgS2jTpC4- | 批准贷款 | 批准贷款账户 | Go/Java/Python/Rust |
| https://youtu.be/dDebmrn4lB0?si=0GTf4asCBHnsu27f | 贷款发放 | 使用转账发放贷款账户 | Go/Java/Python/Rust |
| https://youtu.be/N3wnyJCh_Ik?si=gSy5LrJdFF2kfzHd | 还款 | 为账户6还款(金额:6687.59) | Go/Java/Python/Rust |
| https://youtu.be/bOuTj97hyqU?si=9bpno4Kp0II1IfPY | 创建储蓄产品 | 创建名为“WALLET”的默认储蓄产品 | Java |
| https://youtu.be/l-Z7LlE3AnM?si=yQM4lloJL8Hu6yv8 | 创建储蓄应用程序 | 使用WALLET为OCTAVIO PAZ申请储蓄账户 | Go/Java/Python/Rust |
| https://youtu.be/Q5ExlhalG8U?si=TwbsUZX30G3JeNJy | 批准储蓄应用程序 | 批准储蓄账户,并注明“我的首次批准” | Go/Java/Python/Rust |
| https://youtu.be/DJgUiRYK-rE?si=YatfVgOgpbP4wV91 | 激活储蓄 | 激活储蓄账户 | Go/Java/Python/Rust |
| https://youtu.be/Od7KFqktUtI?si=gPJNlLOB_7D74QdS | 存款 | 为账户1创建5000存款 | Go/Java/Python/Rust |
| https://youtu.be/9OL6N5wKG7c?si=R50RjTK6GI_ODuUs | 提款 | 为账户1创建2000的提款 | Go/Java/Python/Rust |
______________________________________________________________________
安全和护栏
- 通用兼容性 --与Claude、GPT-4、Qwen或任何MCP客户合作。
- 数据主权 --服务器不进行外部调用。
- RBAC强制执行 --每个操作都会根据Fineract的本地权限进行验证。
______________________________________________________________________
联系方式与社区
- Mifos社区:https://mifos.org
- Mifos MCP(Docker):https://hub.docker.com/r/openmf/mifos-mcp
- 聊天机器人演示:https://ai.mifos.community
