关于 MCP Order Flow Server
MCP Order Flow Server 为算法交易应用提供实时订单流分析,面向需要市场微观结构数据的交易系统。它从 gRPC 市场数据经纪商获取数据,并识别模式、关键价位及买卖盘动量。
主要功能
- 01实时订单流分析
- 02通过 gRPC 获取市场数据
- 03识别吸收、堆叠和扫单模式
- 04推导支撑位与阻力位
- 05分析买卖盘动态和规模加速
适用场景
- 01分析指定股票或 ETF 的订单流
- 02检查短时间窗口内的市场模式
- 03为算法交易系统获取支撑阻力位
MCP 相关
该 MCP 服务向客户端提供订单流分析工具,可指定股票代码、历史时间窗口及是否包含模式检测。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Order Flow Server
一款高性能的 Model Context Protocol(MCP)服务,为算法交易应用提供实时订单流分析。此服务通过 gRPC 连接市场数据经纪商,提供机构级市场微观结构洞察。
功能
- 实时订单流分析:实时处理市场微观结构数据
- 高性能 gRPC 集成:以亚毫秒级延迟检索数据
- 机构模式检测:吸收、堆叠和扫单模式
- 支撑位/阻力位:通过算法推导关键价格水平
- 市场动量指标:买卖盘动态及规模加速
- 符合 MCP 协议:与 AI Agent 和大模型无缝集成
快速开始
前提条件
- Python 3.10 或更高版本
- 兼容的市场数据经纪商(gRPC 端点)
- 对市场微观结构概念有基本了解
安装
-
克隆代码仓库:
git clone <repository-url> cd mcp-order-flow-server -
安装依赖项:
pip install -r requirements.txt -
生成 protobuf 文件(如果使用 gRPC 数据源):
./generate_proto.sh -
配置环境(可选):
export DATA_BROKER_GRPC_URL=localhost:9090 export LOG_LEVEL=INFO -
启动服务:
python src/mcp_server.py
用法
MCP 工具:analyze_order_flow_tool
此服务提供一个用于订单流分析的 MCP 工具:
参数
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
ticker | 字符串 | 必填 | 股票/ETF 代码(例如,“SPY”、“QQQ”) |
history | 字符串 | "5mins" | 分析时间窗口(例如,“30s”、“10mins”、“1h”) |
include_patterns | 布尔值 | true | 在响应中包含模式检测结果 |
请求示例
{
"method": "tools/call",
"params": {
"name": "analyze_order_flow_tool",
"arguments": {
"ticker": "SPY",
"history": "5mins",
"include_patterns": true
}
}
}
响应示例
<order_flow_data ticker="SPY" timestamp="2024-01-15T10:30:00" current_price="485.24">
<data_summary>
<quote_count>1847</quote_count>
<history_window>300s</history_window>
<pattern_count>3</pattern_count>
</data_summary>
<current_quote>
<bid_price>485.230</bid_price>
<ask_price>485.250</ask_price>
<bid_size>1800</bid_size>
<ask_size>1200</ask_size>
<spread>0.020</spread>
</current_quote>
<metrics window="10s">
<momentum>
<bid_movement>0.050</bid_movement>
<ask_movement>0.045</ask_movement>
<bid_lifts>3</bid_lifts>
<ask_lifts>2</ask_lifts>
</momentum>
<size_dynamics>
<avg_bid_size>1650</avg_bid_size>
<avg_ask_size>1250</avg_ask_size>
<large_bids>1</large_bids>
<large_asks>0</large_asks>
</size_dynamics>
<behaviors>
<bid_stacking>YES</bid_stacking>
<momentum_building>YES</momentum_building>
</behaviors>
</metrics>
<significant_levels>
<bid_levels>
<level price="485.20" appearances="15" total_size="45000" />
<level price="485.15" appearances="12" total_size="38000" />
</bid_levels>
<ask_levels>
<level price="485.30" appearances="12" total_size="38000" />
<level price="485.35" appearances="9" total_size="28000" />
</ask_levels>
</significant_levels>
<detected_patterns>
<pattern type="absorption">
<subtype>bullish</subtype>
<strength>strong</strength>
<description>Strong bid absorption at 485.20</description>
</pattern>
</detected_patterns>
</order_flow_data>
配置
环境变量
# Data source configuration
DATA_SOURCE=grpc # Use 'grpc' (recommended) or 'redis'
DATA_BROKER_GRPC_URL=localhost:9090 # gRPC endpoint for market data
# Redis fallback (if DATA_SOURCE=redis)
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_DB=0
# Logging
LOG_LEVEL=INFO # DEBUG, INFO, WARNING, ERROR
数据源
| 来源 | 延迟 | 吞吐量 | 用例 |
|---|---|---|---|
| gRPC | 0.1-0.5ms | 2000+ req/s | 生产环境(推荐) |
| Redis | 0.5-2ms | 500+ req/s | 开发/备用 |
架构
┌─────────────────┐ ┌──────────────────┐ ┌───────────────────┐
│ MCP Client │───▶│ MCP Server │───▶│ Market Data │
│ (AI Agent) │ │ (This Repo) │ │ Broker (gRPC) │
└─────────────────┘ └──────────────────┘ └───────────────────┘
│
▼
┌──────────────────┐
│ Order Flow │
│ Analysis Engine │
└──────────────────┘
核心组件
- MCP 服务:基于 FastMCP 的服务,负责处理工具请求
- gRPC 客户端:从市场经纪商高性能检索数据
- 状态管理器:格式化 XML 响应并聚合数据
- 模式检测器:实时识别机构模式
开发
项目结构
mcp-order-flow-server/
├── src/
│ ├── mcp_server.py # Main MCP server entry point
│ ├── config.py # Configuration management
│ ├── proto/ # Generated protobuf files
│ ├── storage/
│ │ ├── grpc_client.py # gRPC data client
│ │ └── redis_client.py # Redis fallback client
│ ├── formatters/
│ │ └── state_manager.py # XML response formatting
│ └── tools/
│ └── order_flow_tool.py # MCP tool implementation
├── generate_proto.sh # Protobuf generation script
├── test_tool.py # Development testing
└── requirements.txt # Python dependencies
测试
# Run development tests
python test_tool.py
# Test specific ticker
python -c "
import asyncio
from src.tools.order_flow_tool import analyze_order_flow
result = asyncio.run(analyze_order_flow('SPY', '1min', True))
print(result)
"
重新生成 Protobuf 文件
如果市场数据经纪商的 protobuf 定义发生变化:
./generate_proto.sh
性能
基准测试
- 分析延迟:每次请求 < 1ms(gRPC 模式)
- 并发请求:同时进行 2000+ 次分析
- 内存用量:基础约 50MB + 每个活跃代码 1KB
- CPU 用量:在现代硬件上 < 5%
优化建议
- 生产部署使用 gRPC 模式
- 缩短历史窗口以加快响应
- 不需要时禁用模式检测(
include_patterns=false) - 分析多个代码时批量发送请求
错误处理
此服务会针对常见问题提供详细的错误响应:
<order_flow_data ticker="INVALID" error="true">
<error_message>No data available for ticker</error_message>
<possible_causes>
<cause>Invalid ticker symbol</cause>
<cause>Market data broker not running</cause>
<cause>Network connectivity issues</cause>
</possible_causes>
<suggestions>
<suggestion>Verify ticker symbol is correct</suggestion>
<suggestion>Check market data broker status</suggestion>
<suggestion>Ensure network connectivity</suggestion>
</suggestions>
</order_flow_data>
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。