Mifos MCP(Model Context Protocol)项目为 Mifos X 生态提供 MCP 实现,使 AI 智能体能够访问金融数据并执行操作。
用途 该项目充当独立、无状态的集成层,将任意 AI 助手或智能体框架桥接到 Apache Fineract 银行后端。仓库本身与框架无关,客户端(LLM 大脑、UI、记忆)位于另一个仓库,任何兼容 MCP 的系统均可接入。
主要能力
- 四种实现:Go(原生)提供 102 个类型化工具,具备高性能、云原生与 SSE/Stdio;Java(Quarkus)提供 38 个类型化工具,分为 Backoffice 与 Recommendations;Python(FastMCP)提供 49 个类型化工具,采用模块化领域驱动设计;Rust 提供 89 个类型化工具,具备高性能异步 I/O 与独占的批量操作。
- 工具覆盖:客户与身份、文档与报告、贷款与储蓄、群组与中心、批量与复合操作、会计与统计等核心银行业务。各实现工具数量与分类不同,Go 工具最完整,Rust 独有批量操作,Java 独有用户推荐工具。
- 所有实现基于同一 Apache Fineract REST API,共享字段路由逻辑。
- 严格无状态:不存储用户数据、PII 或 AI 记忆。
- 共享冒烟测试确保各实现返回一致的 JSON 结构。
使用方式 按所选语言准备环境并按文档构建运行。 Go:需 Go 1.21+;复制 go/.env.example 为 go/.env 并更新凭据;运行 cd go && go build -o mcp-server . && ./mcp-server;可在 .env 中设置 PORT=8080 切换为 SSE 微服务模式。 Rust:需 Rust(Cargo);复制 rust/.env.example 为 rust/.env 并更新凭据;运行 cd rust && cargo build --release && ./target/release/mcp-rust-mifosx。 Java:需 JDK 21+、Maven;设置环境变量 MIFOSX_BASE_URL、MIFOSX_BASIC_AUTH_TOKEN、MIFOS_TENANT_ID;可通过 JBang 运行,或进入 java/backoffice 构建原生可执行文件。 Python:需 Python 3.10+、pip;进入 python 目录,安装 requirements.txt 依赖,复制 .env.example 为 .env 并填写,运行 python mcp_server.py。 可使用 MCP Inspector 交互式测试与调试服务器。
适用场景 该架构描述了一个智能体平台:用户渠道包括 Mifos WebApp(聊天/Copilot UI)、Mifos Pay、Mifos Mobile、Mifos Field Officer 和 Mifos Web Banking,Agent CLI 为可选入口;Agentic Gateway 复用现有 Mifos AI Gateway 端点,将请求路由到智能体运行时;运行时(Pi / Prime / Hermes)为每个智能体封装 LLM 提供方、LLM 防火墙、可观测性与会话管理;专用智能体包括 Enrollment Agent、KYC/FT Reviewer、Loan Reviewer、Scoring Reviewer、Document Reviewer 等。其 Fineract 工具调用使用调用官员的凭据与权限,智能体没有单独的 Fineract 角色。
限制 所有实现遵循无状态设计,不存储用户数据或 AI 记忆;服务器不进行外部调用;每个操作均依据 Fineract 原生权限进行 RBAC 校验,若调用官员角色缺少所需授权则请求被拒绝。各实现保持功能对等,但工具数量与特性存在差异。