fix-mcp

fix-mcp

MCP server for AI-assisted trading operations, enabling agents to diagnose and resolve FIX, OMS, and venue incidents through controlled tools and human approval.

Category
Visit Server

README

FIX-MCP

CI Tests Version License: MIT MCP Docker

AI agents can write FIX messages. They cannot recover a stuck session, validate a NewOrderSingle, or pause a TWAP that is behind schedule. FIX-MCP gives them the trading-ops brain to do all three through explicit MCP tools, approval gates, and auditable evidence.

FIX-MCP is an open-source professional demo for AI-assisted trading operations. It gives Claude, GPT, Gemini, and any MCP-capable agent a controlled tool surface for diagnosing and resolving realistic FIX, OMS, reference-data, venue, and algo incidents while a human operator stays responsible for approval and final control.

The demo runs against a simulated broker-dealer environment. The product thesis is broader: MCP is the right interface for letting LLMs work with real operational systems without giving them magic, unbounded access to the desk.

What It Includes

  • 22 MCP tools for session repair, order triage, reference-data updates, venue state, algo management, scenario scoring, and trace capture.
  • 14 real-world desk scenarios covering 02:05 ET pre-dawn startup through 16:32 ET after-hours dark-pool failures.
  • Human-led workflow: investigate, approve workbook, run approved recovery, then stress test only after the baseline path is understood.
  • Mission Control dashboard with case brief, workbook, operator rail, trace, FIX wire, terminal, manual runbook, and copilot panel.
  • Production-shaped stack: Python MCP server, REST API, Next.js console, PostgreSQL 16, Redis 7, Docker Compose, and async FIX TCP connector scaffolding.

AI Control Model

  • System prompt: src/fix_mcp/prompts/trading_ops.py is exposed to MCP clients as fix://prompts/trading-ops. The web console mirrors it in src/store/prompts.ts.
  • Model configuration: the Mission Control copilot currently calls openai/gpt-5.4 through OpenRouter, either through a server-side OPENROUTER_API_KEY or a user-provided key in the Copilot panel.
  • Agent framework: this repo does not use LangChain or LangGraph. The control boundary is MCP tools, MCP resources, MCP prompts, FastAPI, and the Next.js operator console.
  • Hallucination controls: scenario facts come from JSON fixtures and live engine state; actions go through typed MCP tools; production-like steps require human approval; every tool call is visible in Trace.
  • Demo boundary: the included environment is simulated. Do not connect a public demo to live FIX, OMS, reference-data, or monitoring systems.

See System Prompt, Model, and Guardrails for the demo-facing answer to model, prompt, LangChain/LangGraph, and grounding questions.

Who This Is For

You are... FIX-MCP gives you...
Broker-dealer ops engineer A working model for AI-assisted incident triage during market hours.
OMS / EMS vendor A reference implementation for adding MCP to trading workflows.
AI builder A domain-rich tool surface for agents that need to reason about trading operations.
VC / fintech evaluator A concrete artifact showing where AI-in-trading infrastructure is heading.

Featured Walkthrough — BATS Startup at 02:05 ET

The desk loads bats_startup_0200.

Incident: BATS Logon is rejected because the counterparty expects sequence 2450, while the session was reset to 1. Eight overnight GTC orders are blocked, two ETF symbols are missing from extended-hours reference data, and IEX is healthy as fallback.

The operator asks the copilot to investigate. The agent uses MCP tools:

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

The agent proposes a recovery workbook:

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

The human approves the workbook. Agent Run executes only the approved path:

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

Then, and only then, the operator uses Stress Lab to inject a sequence-gap event and prove the system pauses, re-triages, recovers, resumes, and records the trace.

That is the operating pattern: baseline first, pressure test second, evidence always.

Quick Start

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

Open http://localhost:3000.

Login with henry / henry, admin / admin, or click Demo Mode.

Service URL Purpose
Mission Control http://localhost:3000 Trading-ops dashboard and guided demo workflow
REST API http://localhost:8000 MCP tool dispatch, scenarios, system status
MCP stdio docker compose run --rm mcp-server Direct MCP protocol entry point

No Node or Python is required on your host for the Docker demo.

Python Development

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

In another terminal:

npm install
npm run dev

The Next.js console reads BACKEND_URL, defaulting to http://127.0.0.1:8000.

MCP Client Configuration

For a local MCP client that can launch the Python entry point:

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

For an HTTP-capable MCP client/proxy:

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

Demo vs Production

Component Demo Production / Consulting Engagement
FIX sessions Simulated Python objects Real FIX engine logs and session controls
OMS In-memory order state OMS database/API integration
Reference data Preloaded JSON Vendor feeds, DTCC data, internal symbology
Monitoring Scenario engine preloads incidents Datadog, Splunk, Grafana, or internal event streams
Execution Updates simulated state Sends approved FIX messages or calls approved OMS APIs
MCP tools Same tool surface Same interface, production adapters
Domain intelligence Same prompts and logic Tuned to client workflows, venues, and controls

The professional work is the integration layer: wire the same MCP interface and trading-ops knowledge into a firm's real logs, OMS, reference data, monitoring, and approval workflow.

Documentation

Contact

henryurlo@gmail.com

License

MIT. See LICENSE.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured