Fixie MCP Server
Remote Streamable HTTP endpoint: POST /mcp
This MCP server exposes FIX parsing tools and Fixie initiator-building guidance for MCP-aware hosts, AI agents, and human users.
Tools
FIX parsing
parse_fix_messageparses one raw FIX messageparse_fix_messagesparses an ordered list of raw FIX messages
Initiator creation
get_initiator_recipereturns the recommended pattern formarket_data,order_entry, orquote_requestget_runtime_config_templatereturns the required runtime config keys for a Fixie initiatorgenerate_initiator_sourcereturns generic Java source for a managed or standalone initiatorgenerate_runtime_configreturns a runtime configuration entryvalidate_initiator_specchecks whether the agent has enough host/session information to generate code
Resources
fixie://docs/initiator-playbookfixie://docs/runtime-configfixie://docs/message-buildingfixie://docs/session-lifecyclefixie://docs/market-data-initiatorfixie://docs/order-entry-initiatorfixie://docs/quote-request-initiatorfixie://examples/simple-adapter-initiatorfixie://examples/market-data-initiatorfixie://examples/order-entry-initiatorfixie://examples/quote-request-initiatorfixie://api/initiatorfixie://api/initiator-adapterfixie://api/initiator-channelfixie://api/message-factoryfixie://api/map-fillerfixie://templates/runtime-initiator-config
Prompts
fixie_create_market_data_initiatorfixie_create_order_entry_initiatorfixie_create_quote_request_initiator
For AI Agents
When a user asks for a Fixie initiator, first call validate_initiator_spec. Then call get_initiator_recipe, read the relevant resource, call generate_initiator_source, and call generate_runtime_config. Prefer InitiatorAdapter, constructor-injected config, MessageFactory, and MapFiller. Do not assume venue-specific fields unless the user provides a venue profile.
For Humans
Use the generated Java source as a starting point. Managed-runtime initiators should accept Map<String,Object> config in the constructor. Standalone examples may include main() and call FIXEngine.createInitiatorChannel.
Parser Outputs
ufo: Onikora's human-readable hierarchical message viewffo: Onikora's hierarchical FIX field/tag viewsequence: ordered row-oriented sequence output used by the parser UI
For the single-message tool, the default response is the human-readable hierarchical output. Use "type": "tags" to request the hierarchical FIX field/tag view instead. Sequence output is not supported for a single message.
For the batch tool, if outputs is omitted, the server defaults to ["ufo", "ffo"].
Single Tool Input
{
"raw_message": "8=FIX.4.4|9=61|35=A|49=CLIENT1|56=SERVER1|34=1|52=20260413-12:00:00.000|98=0|108=30|10=000|"
}
Single Tool Input For Tag View
{
"raw_message": "8=FIX.4.4|9=61|35=A|49=CLIENT1|56=SERVER1|34=1|52=20260413-12:00:00.000|98=0|108=30|10=000|",
"type": "tags"
}
Batch Tool Input
{
"messages": [
"8=FIX.4.4|9=164|35=8|49=MYSERVER|56=CLIENTLAT-EXT-1|34=59704|52=20260414-19:04:42.644|37=ORD-LAT-59701|11=LAT-59701|17=EX-LAT-59701|150=0|39=0|55=AAPL|54=1|38=100|151=100|14=0|6=0|10=030|",
"8=FIX.4.4|9=61|35=A|49=CLIENT1|56=SERVER1|34=1|52=20260413-12:00:00.000|98=0|108=30|10=000|"
],
"outputs": ["ufo", "ffo", "sequence"]
}
Initiator Source Input
{
"use_case": "order_entry",
"class_name": "OrderEntryClient",
"package_name": "com.example.fixie",
"style": "managed"
}
Runtime Config Input
{
"name": "order-entry-client",
"use_case": "order_entry",
"class_name": "com.example.fixie.OrderEntryClient",
"host": "localhost",
"port": "4711",
"senderCompId": "FIXIE-OE-CLIENT",
"targetCompId": "FIXIE-OE-VENUE"
}
Registry Publishing
For MCP Registry publication, use the template in server.json.example at the project root and publish with the official mcp-publisher CLI. For this deployed server, the remote transport entry should point to https://www.onikora.com/mcp with type streamable-http.