fi mcp开发
Fi MCP服务器的最低版本,可用于黑客马拉松。该项目提供了一个轻量级的模拟服务器,用于黑客马拉松、演示和开发,用虚拟数据和简化的身份验证模拟生产Fi MCP服务器的核心功能。
目的
- fi mcp开发 是为那些希望在不访问真实用户数据或生产系统的情况下尝试Fi-MCP API的黑客马拉松参与者和开发人员设计的。
- 它提供虚拟财务数据,并使用虚拟身份验证流程,使其在非生产环境中安全易用。
特性
- 模拟Fi-MCP API:实现净值、信用报告、EPF详细信息、共同基金交易和银行交易的端点。
- 虚拟数据:所有响应都来自静态JSON文件
test_data_dir/,代表各种用户场景。 - 伪身份验证:使用允许的电话号码(目录名)的简单登录流程
test_data_dir/).没有真正的OTP或用户验证。 - 黑客马拉松准备就绪:没有真正的集成,没有敏感数据,易于重置或扩展。
目录结构
main.go--入口点,设置服务器和端点。middlewares/auth.go--实现虚拟身份验证和会话管理。test_data_dir/--包含以允许的电话号码命名的目录。每个目录保存不同API响应的JSON文件(例如。,fetch_net_worth.json).static/--登录和登录成功页面的HTML文件。
虚拟数据场景
虚拟数据涵盖了各种用户状态。示例场景:
- 所有关联资产:银行、EPF、印度股票、美国股票、信用报告、大型或小型共同基金投资组合。
- 除银行账户外的所有资产:没有银行账户,但有其他资产。
- 多家银行和UAN:多个银行账户和EPF UAN,部分交易覆盖。
- 无关联资产:只有储蓄账户余额。
- 无信用报告:除信用报告外的所有资产。
测试数据场景
| 电话号码 | 描述 |
|---|---|
| 1111111111 | 无关联资产。仅存在储蓄账户余额 |
| 2222222222 | 所有关联资产(银行账户、EPF、印度股票、美国股票、信用报告)。包含9只基金的大型共同基金投资组合 |
| 3333333333 | 所有相关资产(银行账户、EPF、印度股票、美国股票、信用报告)。只有一只基金的小型共同基金投资组合 |
| 4444444444 | 所有相关资产(银行账户、EPF、印度股票、美国股票)。只有一只基金的小型共同基金投资组合。已连接2个UAN帐户。有3家不同的银行,有多个账户。只有2个银行账户的交易记录 |
| 5555555555 | 除信用评分外的所有相关资产(银行账户、EPF、印度股票、美国股票)。只有一只基金的小型共同基金投资组合。有3家不同的银行,有多个账户。只有2个银行账户的交易记录 |
| 6666666666 | 除银行账户外的所有关联资产(EPF、印度股票、美国股票)。拥有9只基金的大型共同基金投资组合。未连接银行账户 |
| 7777777777 | 债务沉重的低绩效者。一个共同基金表现不佳、负债(信用卡和个人贷款)高的用户。MF回报率低(XIRR\₹2 lakh.利息未记入贷方。没有私人投资。 |
| 1414141414 | 工资水槽。用户的工资主要被EMIs和信用卡账单所消耗。每月工资抵免。70%用于EMIs和信用卡费用。低投资或零投资。信用评分~600–650。 |
| 13131313 | 平衡增长跟踪器。投资组合多样化,包括EPF、MF、股票和一些美国敞口。EPF贡献高。股权和混合型中小企业中的SIP。国际MF/ETF 10-20%。健康的净值增长。良好的信用评分(750+)。 |
| 2020202020 | 新手储蓄。最近开始投资,门票规模小,交易少。只有1-2个MF,开始于6个月前。 SIP ₹500–₹1000. 最低银行余额,无债务。 |
| 15151515 | 幽灵投资组合。有旧的投资,但多年来没有任何变化。3年内不得购买/赎回MF。EPF停滞或部分撤回。没有SIPs或工资流入。净值持平或下降。 |
| 1616161616 | 提前退休梦想家。优化投资,到40岁退休。高储蓄率,节俭的生活方式。激进的股权敞口(80-90%)。精简每月开支。重大SIP+NPS+EPF贡献。没有贷款,没有奢侈消费。目标是年支出净值的30倍。 |
| 17171717 | 骗子。定期买卖移动金融和股票,寻求短期收益。许多MF在6个月内赎回。仅限股票基金,客户流失率高。没有SIP。持有期短。银行账户交易量高。 |
| 1818181818 | 被动贡献者。没有个人收入,但有过去工作的EPF和联合银行账户。旧EPF,没有当前捐款。没有活动的SIP。交易反映了共同的家庭支出。无信用评分记录(无贷款/信用卡)。 |
| 1919年-1919年 | 第80C节战略家。主要使用ELSS、EPF、NPS来优化税收。ELSS SIPs第四季度(1月至3月)。EPF激活。NPS数据(如果可用)。没有非税收节约投资。低风险债务资金作为余额。 |
| 2121212121 | 双收入发电机。有自由职业+工资收入;现金流不平衡,但投资稳定。工资+来自UPI应用程序的多个学分。MF投资不规则但在增加。银行账户流动性高。信用评分超过700。偶尔的商业贷款或透支。 |
| 2222222222 | 突然的财富接管人。最近继承的财富,学习如何管理它。跨类别的一次性投资。银行闲置现金高。最近MF收购,还没有SIPs。没有信用记录或债务。EPF缺失或处于休眠状态。 |
| 2323232323 | 海外优化器。NRI继续管理印度EPF、MF和银行账户。大型EPF语料库。没有工资流入,偶尔有外国汇款。大宗MF交易。印度地址缺失或已过时。在印度没有使用信用卡。 |
| 2424242424 | 抑制金钱心态。不信任市场;一切都在银行储蓄和FD中。95%的净资产为固定资产/储蓄。没有共同基金或股票。EPF可能在场。没有债务或信用评分。低但持续的净值增长。 |
| 2525252525 | 活在当下。收入高,但都花掉了。投资微不足道或不稳定。工资待遇>₹2L/月。食物、购物、旅行支出高。没有SIPs,也许是MF的一次性购买。信用卡欠款经常滚存。信用评分\<700,净值低或为零。 |
示例:虚拟数据文件
样品 fetch_net_worth.json (为简洁起见截断):
{
"netWorthResponse": {
"assetValues": [
{"netWorthAttribute": "ASSET_TYPE_MUTUAL_FUND", "value": {"currencyCode": "INR", "units": "84642"}},
{"netWorthAttribute": "ASSET_TYPE_EPF", "value": {"currencyCode": "INR", "units": "211111"}}
],
"liabilityValues": [
{"netWorthAttribute": "LIABILITY_TYPE_VEHICLE_LOAN", "value": {"currencyCode": "INR", "units": "5000"}}
],
"totalNetWorthValue": {"currencyCode": "INR", "units": "658305"}
}
}身份验证流程
- 当调用工具/API时,服务器将检查有效的会话。
- 如果未通过身份验证,系统会提示用户通过网页登录(
/mockWebPage?sessionId=...). - 输入任何允许的电话号码(请参阅中的目录
test_data_dir/).OTP未验证。 - 成功登录后,会话将在服务器运行期间存储在内存中。
运行服务器
先决条件
- 转到1.23或更高版本(安装说明)
安装依赖项
go mod tidy启动服务器
FI_MCP_PORT=8080 go run .服务器将于启动 http://localhost:8080.
用法
- 按照此说明进行操作 指南 设置客户端
- 将url替换为本地运行的服务器,例如:
http://localhost:8080/mcp/stream - 当系统提示登录时,使用上述电话号码之一
- Otp/密码可以是网页上的任何东西
简单的curl客户端
curl -X POST -H "Content-Type: application/json" -H "Mcp-Session-Id: mcp-session-594e48ea-fea1-40ef-8c52-7552dd9272af" -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"fetch_bank_transactions","arguments":{}}}' http://localhost:8080/mcp/stream如果你运行一次,你会得到 login_url 作为响应,登录后再次运行它将为您提供数据
