本项目为 Apache Fineract API 打造了 Model Context Protocol (MCP) 服务器,助力 AI 代理访问财务数据并进行操作。项目提供了 Python、Java (Quarkus) 和 Node.js 三种语言的实现方案。
先决条件:需要 Python 3.8 及以上版本,以及 flask、mcp.server.fastmcp 库。
步骤:
pip install mcp[cli] uv flask
mcp dev app.py
先决条件:需 JDK 17 及以上版本,以及 Maven 工具。 步骤:
export MIFOSX_BASE_URL="https://your-fineract-instance"
export MIFOSX_BASIC_AUTH_TOKEN="your_api_token"
export MIFOS_TENANT_ID="default"
jbang --quiet org.mifos.community.ai:mcp-server:1.0.0-SNAPSHOT:runner
./mvnw package -Dnative
./target/mcp-server-1.0.0-SNAPSHOT-runner
先决条件:需要 Node.js 16 及以上版本,以及 npm 包管理器。 步骤:
cd nodejs && npm install
.env 中配置环境变量:cp .env.example .env
npm run dev
inspect 脚本测试:npm run inspect
fineract:// URI 实现。使用 MCP 检查器 测试和调试你的服务器:
npx @modelcontextprotocol/inspector
这会启动一个本地 Web UI,通过 STDIO 或 SSE 连接到你的 MCP 服务器。
npx @modelcontextprotocol/inspector
STDIO 传输连接到服务器。所有实现都需要以下环境变量:
| 属性 | 详情 |
|---|---|
FINERACT_BASE_URL |
你的 Fineract 实例的基础 URL |
FINERACT_BASIC_AUTH_TOKEN |
API 认证令牌 |
FINERACT_TENANT_ID |
租户标识符(默认:default) |
注意:Java 使用 MIFOSX_ 前缀的变量(例如,MIFOSX_BASE_URL)。
MCP 服务器公开了以下资源:
fineract://clients:列出所有客户fineract://clients/{clientId}:获取特定客户的详细信息fineract://loans:列出所有贷款fineract://loans/{loanId}:获取特定贷款的详细信息search_clients:搜索客户(按名称/属性)create_client:创建新客户(仅限 Node.js/Python)update_loan_status:更新贷款状态(仅限 Java/Python)对于 Java (Quarkus),创建一个原生可执行文件:
./mvnw package -Dnative -Dquarkus.native.container-build=true
./target/mcp-server-1.0.0-SNAPSHOT-runner
python/app.py 配置 .env 文件路径。src/main/java/org/mifos-community/ai/MCPServer.java 中配置环境变量。config.js 设置服务器参数。