mcpField
M
MCP Order Flow Server

MCP Order Flow Server

本地服务
github.com/fintools-ai金融数据271 周前更新

关于 MCP Order Flow Server

MCP Order Flow Server 为算法交易应用提供实时订单流分析,面向需要市场微观结构数据的交易系统。它从 gRPC 市场数据经纪商获取数据,并识别模式、关键价位及买卖盘动量。

主要功能

  1. 01实时订单流分析
  2. 02通过 gRPC 获取市场数据
  3. 03识别吸收、堆叠和扫单模式
  4. 04推导支撑位与阻力位
  5. 05分析买卖盘动态和规模加速

适用场景

  1. 01分析指定股票或 ETF 的订单流
  2. 02检查短时间窗口内的市场模式
  3. 03为算法交易系统获取支撑阻力位

MCP 相关

该 MCP 服务向客户端提供订单流分析工具,可指定股票代码、历史时间窗口及是否包含模式检测。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP Order Flow Server

一款高性能的 Model Context Protocol(MCP)服务,为算法交易应用提供实时订单流分析。此服务通过 gRPC 连接市场数据经纪商,提供机构级市场微观结构洞察。

Python 3.10+ gRPC MCP

功能

  • 实时订单流分析:实时处理市场微观结构数据
  • 高性能 gRPC 集成:以亚毫秒级延迟检索数据
  • 机构模式检测:吸收、堆叠和扫单模式
  • 支撑位/阻力位:通过算法推导关键价格水平
  • 市场动量指标:买卖盘动态及规模加速
  • 符合 MCP 协议:与 AI Agent 和大模型无缝集成

快速开始

前提条件
  • Python 3.10 或更高版本
  • 兼容的市场数据经纪商(gRPC 端点)
  • 对市场微观结构概念有基本了解
安装
  1. 克隆代码仓库:

    git clone <repository-url>
    cd mcp-order-flow-server
    
  2. 安装依赖项:

    pip install -r requirements.txt
    
  3. 生成 protobuf 文件(如果使用 gRPC 数据源):

    ./generate_proto.sh
    
  4. 配置环境(可选):

    export DATA_BROKER_GRPC_URL=localhost:9090
    export LOG_LEVEL=INFO
    
  5. 启动服务:

    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
数据源
来源延迟吞吐量用例
gRPC0.1-0.5ms2000+ req/s生产环境(推荐)
Redis0.5-2ms500+ 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%
优化建议
  1. 生产部署使用 gRPC 模式
  2. 缩短历史窗口以加快响应
  3. 不需要时禁用模式检测(include_patterns=false)
  4. 分析多个代码时批量发送请求

错误处理

此服务会针对常见问题提供详细的错误响应:

<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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。