Skip to main content
Glama
henryurlo

fix-mcp

by henryurlo

FIX-MCP

CI Tests Version License: MIT MCP Docker

AI 智能体可以编写 FIX 消息。但它们无法恢复卡住的会话、验证 NewOrderSingle 或暂停进度滞后的 TWAP。FIX-MCP 为它们提供了交易操作大脑,通过明确的 MCP 工具、审批门禁和可审计的证据来完成所有这三项任务。

FIX-MCP 是一个用于 AI 辅助交易操作的开源专业演示项目。它为 Claude、GPT、Gemini 以及任何支持 MCP 的智能体提供了一个受控的工具界面,用于诊断和解决现实中的 FIX、OMS、参考数据、交易场所和算法突发事件,同时由人工操作员负责审批和最终控制。

该演示运行在模拟的经纪商环境之上。其产品理念更为广泛:MCP 是让大语言模型(LLM)与实际运营系统协作的正确接口,且无需赋予它们神奇、不受限制的交易台访问权限。

包含内容

  • 22 个 MCP 工具,用于会话修复、订单分流、参考数据更新、交易场所状态管理、算法管理、场景评分和追踪捕获。

  • 14 个真实交易台场景,涵盖从美东时间 02:05 的清晨启动到 16:32 收盘后的暗池故障。

  • 人工主导的工作流:调查、审批工作簿、运行已批准的恢复操作,仅在理解基准路径后进行压力测试。

  • 任务控制仪表板,包含案例简报、工作簿、操作员导轨、追踪、FIX 电文、终端、手动运行手册和副驾驶面板。

  • 生产级技术栈:Python MCP 服务器、REST API、Next.js 控制台、PostgreSQL 16、Redis 7、Docker Compose 以及异步 FIX TCP 连接器脚手架。

AI 控制模型

  • 系统提示词src/fix_mcp/prompts/trading_ops.py 作为 fix://prompts/trading-ops 暴露给 MCP 客户端。Web 控制台在 src/store/prompts.ts 中镜像了该提示词。

  • 模型配置:任务控制副驾驶目前通过 OpenRouter 调用 openai/gpt-5.4,既可以通过服务器端的 OPENROUTER_API_KEY,也可以通过用户在副驾驶面板中提供的密钥。

  • 智能体框架:本仓库不使用 LangChain 或 LangGraph。控制边界由 MCP 工具、MCP 资源、MCP 提示词、FastAPI 和 Next.js 操作员控制台组成。

  • 幻觉控制:场景事实来自 JSON 固定数据和实时引擎状态;操作通过类型化的 MCP 工具执行;生产级步骤需要人工审批;每个工具调用在追踪中均可见。

  • 演示边界:所包含的环境是模拟的。请勿将公共演示连接到实时的 FIX、OMS、参考数据或监控系统。

请参阅 系统提示词、模型和护栏 以获取关于模型、提示词、LangChain/LangGraph 和接地(grounding)问题的演示解答。

适用人群

您的身份

FIX-MCP 为您提供...

经纪商运营工程师

一个在市场交易时间内进行 AI 辅助突发事件分流的工作模型。

OMS / EMS 供应商

一个将 MCP 添加到交易工作流的参考实现。

AI 构建者

一个领域丰富的工具界面,供需要对交易操作进行推理的智能体使用。

VC / 金融科技评估员

一个具体的工件,展示了 AI 在交易基础设施领域的发展方向。

特色演示 — 美东时间 02:05 BATS 启动

交易台加载 bats_startup_0200

突发事件:BATS 登录被拒绝,因为交易对手方期望的序列号为 2450,而会话已被重置为 1。八个隔夜 GTC 订单被阻塞,两个 ETF 标的在延长交易时段的参考数据中缺失,IEX 作为备选方案运行正常。

操作员要求副驾驶进行调查。智能体使用 MCP 工具:

list_scenarios       Scenario Loaded: bats_startup_0200
check_fix_sessions   BATS down; sequence mismatch detected
query_orders         ORDER QUERY — 14 order(s) found

智能体提出恢复工作簿:

1. Check BATS session
2. Quantify blocked flow
3. Reconnect BATS
4. Reset BATS sequence if needed
5. Load missing ETF symbols
6. Validate orders released

人工审批工作簿。智能体运行仅执行已批准的路径:

fix_session_issue    BATS reconnect released stuck orders
fix_session_issue    BATS reset_sequence accepted
load_ticker          BITO loaded
load_ticker          GBTC loaded
validate_orders      14 PASS, 0 FAIL

然后,操作员才使用 压力实验室 (Stress Lab) 注入序列间隙事件,并证明系统会暂停、重新分流、恢复、继续并记录追踪。

这就是操作模式:先基准,后压力测试,始终保留证据。

快速开始

git clone https://github.com/henryurlo/fix-mcp.git
cd fix-mcp
docker compose up -d

打开 **http://localhost:3000**。

使用 henry / henryadmin / admin 登录,或点击 演示模式 (Demo Mode)

服务

URL

用途

任务控制

http://localhost:3000

交易操作仪表板和引导式演示工作流

REST API

http://localhost:8000

MCP 工具调度、场景、系统状态

MCP stdio

docker compose run --rm mcp-server

直接 MCP 协议入口点

Docker 演示不需要在您的主机上安装 Node 或 Python。

Python 开发

python -m pip install -e ".[dev]"
python -m fix_mcp.api

在另一个终端中:

npm install
npm run dev

Next.js 控制台读取 BACKEND_URL,默认为 http://127.0.0.1:8000

MCP 客户端配置

对于可以启动 Python 入口点的本地 MCP 客户端:

{
  "mcpServers": {
    "fix-mcp": {
      "command": "fix-mcp"
    }
  }
}

对于支持 HTTP 的 MCP 客户端/代理:

{
  "mcpServers": {
    "fix-mcp": {
      "command": "npx",
      "args": ["-y", "@anthropic-ai/mcp-remote@latest"],
      "env": {
        "MCP_URL": "http://localhost:8000/mcp"
      }
    }
  }
}

演示与生产环境对比

组件

演示

生产 / 咨询项目

FIX 会话

模拟的 Python 对象

真实的 FIX 引擎日志和会话控制

OMS

内存中订单状态

OMS 数据库/API 集成

参考数据

预加载的 JSON

供应商数据源、DTCC 数据、内部符号系统

监控

场景引擎预加载突发事件

Datadog、Splunk、Grafana 或内部事件流

执行

更新模拟状态

发送已批准的 FIX 消息或调用已批准的 OMS API

MCP 工具

相同的工具界面

相同的接口,生产级适配器

领域智能

相同的提示词和逻辑

针对客户工作流、交易场所和控制进行调优

专业工作在于集成层:将相同的 MCP 接口和交易操作知识接入到公司的真实日志、OMS、参考数据、监控和审批工作流中。

文档

联系方式

henryurlo@gmail.com

许可证

MIT。请参阅 LICENSE

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/henryurlo/fix-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server