银行客户360度操作代理

一个基于MCP协议的银行客户服务代理系统,通过聊天机器人提供客户资料查询、账户管理和内部转账功能。

  • by ahmadsallaq6
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ahmadsallaq6/FastMCP-Loans-

使用说明

任务3:客户360操作员代理

目标

建立一个 模型上下文协议(MCP)服务器 它整合了现有的核心银行微服务和 MCP客户端聊天机器人 本作业侧重于使用MCP规范对工具暴露进行标准化。

现有服务

您将获得模拟的核心银行客户微服务。

  • 基础URL: https://customer-microservice-eu.proudsky-2219dea3.westeurope.azurecontainerapps.io
  • 交互式文档: Swagger 用户界面

能力

  • 获取客户资料: GET /api/v1/customers/{id}
  • 列出帐户: GET /api/v1/customers/{id}/accounts
  • 内部调动: POST /api/v1/transfers/internal

测试数据

数据库在内存中,重新启动时重置。使用这些ID:

  • 艾丽斯·约翰逊: CUST-001 (有2个账户)
  • 鲍勃·史密斯: CUST-002 (有1个帐户)

核心任务

1.构建MCP服务器

  • 使用创建新服务器 FastMCP
  • 此服务器应将核心银行微服务的POST端点公开为 MCP工具 GET端点为 MCP资源
  • 这些工具应处理对所提供的FastAPI应用程序的API调用。

2.构建MCP客户端聊天机器人

  • 构建一个充当MCP客户端的聊天机器人应用程序。
  • 它应该连接到您的MCP服务器。
  • 用户应该能够问自然语言问题,比如:
    • “爱丽丝目前的余额是多少?”
    • “从爱丽丝的支票中转账500美元到她的储蓄中。”
  • 聊天机器人使用LLM选择合适的MCP工具并执行操作。

3.前端反应性

  • 前端必须 对试剂处理有反应.
  • 能见度:当代理调用工具时(例如。, transfer_money),UI应实时显示此操作(例如,“Agent正在执行传输…”)。
  • 技术提示:使用 服务器发送事件(SSE) 将事件从后端流式传输到前端。前端应该监听这些事件并相应地更新UI。

建议团队拆分

为了作为一个3人的团队有效地完成这项任务,我们建议进行以下分工:

  • 成员1:MCP服务器实现
    • 分析上游API。
    • 实现FastMCP服务器。
    • 定义工具(POST)和资源(GET)定义。
  • 成员2:前端(Streamlit)
    • 使用Streamlit构建聊天机器人UI。
    • 实现事件循环以呈现SSE更新。
    • 确保流畅、反应灵敏的用户体验。
  • 成员3:MCP客户端和后端
    • 构建MCP客户端逻辑以连接到服务器。
    • 处理LLM交互循环。
    • 设置后端API以将事件流式传输到前端。