交易代理系统

一个基于模型上下文协议(MCP)的多服务器交易代理系统,支持账户管理、市场模拟和实时推送通知。

  • by KhaledYaish0
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 KhaledYaish0/mcp-trading-agents

使用说明

MCP交易代理项目

该项目演示了由 模型上下文协议(MCP). 该系统由多个服务器组成,这些服务器模拟市场环境,管理用户帐户,并通过推送通知提供实时更新。

该项目包括 实验4 和 实验5,其中实验室4介绍了核心MCP通信过程,实验室5通过更具交互性的UI和代理驱动的决策逻辑扩展了系统。

特性

  • 启用MCP的代理通信
  • 账户服务器,用于处理余额和交易
  • 用于买卖和价格更新的市场模拟服务器
  • 推送通知服务器以进行实时更新
  • 内存存储,用于在运行之间保持系统状态
  • 用于基本MCP测试的实验4笔记本
  • 用于UI和代理工作流的Lab 5笔记本

项目结构

MCP Project/
│
├─ 4_lab4.ipynb          → Intro lab for testing MCP interactions
├─ 5_lab5.ipynb          → Enhanced lab with UI and agent logic
│
├─ app.py                → Main runtime script coordinating all components
│
├─ accounts.py           → Account data model and balance logic
├─ accounts_client.py    → Client-side interface to the accounts server
├─ accounts_server.py    → Server responsible for account/session operations
│
├─ market.py             → Market price and trading logic
├─ market_server.py      → Server responsible for executing buy/sell requests
│
├─ push_server.py        → Real-time message broadcasting / notification server
│
├─ database.py           → System data persistence (balances, logs, state)
│
├─ mcp_params.py         → MCP configuration for tool exposure
│
├─ reset.py              → Resets state to default
│
└─ memory/
   └─ memory.txt         → Persists stored state across runs

运作原理

该系统遵循多服务器架构:

Client/Agent  ↔  Accounts Server   (balance + transactions)
                  ↘
                   ↘→ Market Server (buy/sell + price updates)
                    ↘
                     → Push Server (real-time notifications)

代理使用MCP进行通信,MCP允许LLM作为工具调用与服务器进行交互。

运行项目

在单独的终端中启动服务器:

python accounts_server.py
python market_server.py
python push_server.py
python app.py

然后打开:

  • 4_lab4.ipynb 尝试基本要求
  • 5_lab5.ipynb 用于增强的代理/UI工作流

示例

重置系统状态

如果系统变得不一致或您想重新启动清理:

python reset.py

需求

安装依赖项:

pip install -r requirements.txt

许可证

该项目用于教育和示范目的。