Fix Protocol MCP

Communauté Finance et paiements

Parse, validate, build and explain FIX protocol trading messages offline, using a bundled FIX 4.4 field dictionary.

Installation

Les étapes d'installation sont dans la documentation ci-dessous. Documentation

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. fix-protocol-mcp
  2. Tools
  3. Install
  4. Examples
  5. Coverage
  6. Development
  7. License

fix-protocol-mcp

MCP server for parsing, validating, building, and explaining FIX protocol messages - the tag=value format used for orders and executions across equities, FX, and fixed-income trading.

Runs fully offline. Parsing, validation (BodyLength/CheckSum included), message construction, and the bundled FIX 4.4 field dictionary are all self-contained, no external API or network calls.

Tools

ToolWhat it does
parse_fix_messageDecode a raw FIX string into tag, field name, value, and enum meaning. Accepts SOH-, `\-, or^`-delimited input.
validate_fix_messageCheck field ordering, the standard header, BodyLength(9) and CheckSum(10) against computed values, and required/conditional fields per message type. Returns errors and warnings.
build_fix_messageConstruct a valid FIX message from field inputs. Accepts tag numbers or field names, and enum codes or labels ("Side": "Buy"). BeginString, BodyLength, and CheckSum are computed automatically.
explain_fix_tagLook up a tag's field name, data type, and enumerated values.

Install

pip install .

This installs the fix-protocol-mcp console script (stdio MCP server).

MCP client config
{
  "mcpServers": {
    "fix-protocol": {
      "command": "fix-protocol-mcp"
    }
  }
}

Running from source instead of installing:

{
  "mcpServers": {
    "fix-protocol": {
      "command": "python",
      "args": ["-m", "fix_protocol_mcp.server"],
      "env": { "PYTHONPATH": "src" }
    }
  }
}

Examples

Parse a Logon message:

parse_fix_message("8=FIX.4.2|9=65|35=A|...|98=0|108=30|10=062|")
-> msg_type "A" (Logon), 10 fields, each decoded to name + value + enum meaning

Validate, catching a bad checksum:

validate_fix_message("8=FIX.4.2|9=65|35=A|...|10=000|")
-> { "valid": false, "checksum": {"present":"000","computed":"062","ok":false},
     "errors": ["CheckSum(10)=000 does not match computed checksum 062."] }

Build an order from field names:

build_fix_message(
  msg_type="NewOrderSingle",
  fields={"Symbol":"AAPL","Side":"Buy","OrderQty":100,
          "OrdType":"Limit","Price":"150.25","ClOrdID":"A1"})
-> 8=FIX.4.4|9=113|35=D|49=SENDER|56=TARGET|34=1|52=...|11=A1|38=100|
   40=2|44=150.25|54=1|55=AAPL|60=...|10=061|   (valid: true)

Explain a tag:

explain_fix_tag(40)
-> { "name": "OrdType", "type": "CHAR",
     "values": [{"value":"1","meaning":"Market"}, {"value":"2","meaning":"Limit"}, ...] }

Coverage

The dictionary covers session-level messages and the order/execution workflow (Logon, Heartbeat, TestRequest, ResendRequest, Reject, SequenceReset, Logout, NewOrderSingle, OrderCancelRequest, OrderCancelReplaceRequest, ExecutionReport, OrderCancelReject), which accounts for most real FIX traffic. It's a curated subset rather than the full FIX repository - unrecognised tags and enum values surface as warnings, not hard failures.

Development

pip install -e ".[dev]"
pytest

server.py is a thin MCP wrapper around the core modules (parser, validator, builder, dictionary, wire), which have no dependency on the MCP SDK and can be used as a plain library:

from fix_protocol_mcp import parse, validate, build, describe_tag

License

MIT - see LICENSE.

Questions fréquentes

Qu'est-ce que Fix Protocol MCP ?

Parse, validate, build and explain FIX protocol trading messages offline, using a bundled FIX 4.4 field dictionary.

Comment installer Fix Protocol MCP ?

Suivez les étapes d'installation de sa documentation, affichée sur cette page et dans son dépôt.

Fix Protocol MCP est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient Fix Protocol MCP ?

Il est publié par slenderongithub. AI.tn le référence sans le maintenir ni le recommander.

Issu des listes communautaires awesome-mcp-servers et du dépôt GitHub du projet. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.