FIXSIM
by GammaThreeTrading · remote · no sign-in to list tools · v0.1.2 · published by GitHub user GammaThreeTrading
Test FIX from Claude, ChatGPT, or Cursor: free sandbox FIX sessions or your own FIXSIM instances.
21 tools: 2 can delete or cancel things, 2 do something that can't be undone, 4 change things and 13 only read.
Scanned Oct 21, 2026
- Deletes or cancels2Claude Code: deny: see these tools
- Can't be undone2Claude Code: ask: see these tools
- Changes things4Claude Code: ask: see these tools
- Only reads13Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http fixsim https://mcp.fixsim.com/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "fixsim_cancel_order_out" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"destructiveHint":false}; The name "fixsim_cancel_order_out" says "cancel": a word for removing or ending something.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
21 tools
Deletes or cancels 2Claude Code: deny
fixsim_cancel_order_outHave FIXSIM send an Order Cancel Request (35=F) for an order it previously sent out with fixsim_send_order.1 finding
Why it is in this group
- The name "fixsim_cancel_order_out" says "cancel": a word for removing or ending something.
- The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.
Findings
- Warn
The server marks "fixsim_cancel_order_out" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"destructiveHint":false}; The name "fixsim_cancel_order_out" says "cancel": a word for removing or ending something.
Description, as the server wrote it Have FIXSIM send an Order Cancel Request (35=F) for an order it previously sent out with fixsim_send_order.
Annotations the server declares
- title: Send an Order Cancel Request
- destructiveHint: false
sandbox_end_sessionEnd a sandbox session now instead of waiting for it to expire.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it End a sandbox session now instead of waiting for it to expire. Frees the slot for the user's IP.
Annotations the server declares
- title: End sandbox session
- destructiveHint: true
Can't be undone 2Claude Code: ask
fixsim_send_orderHave FIXSIM send a New Order Single (35=D) OUT on a session to the user's system, so they can test how their system handles inbound orders.No findings
Why it is in this group
- The name "fixsim_send_order" says "send": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Have FIXSIM send a New Order Single (35=D) OUT on a session to the user's system, so they can test how their system handles inbound orders. Follow up with fixsim_list_orders_out and fixsim_list_executions_in to see what came back.
Annotations the server declares
- title: Send a New Order Single
- destructiveHint: false
fixsim_send_raw_fixSend one or more raw FIX application messages OUT on a session as given (tag=value pairs separated by | or SOH).No findings
Why it is in this group
- The name "fixsim_send_raw_fix" says "send": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Send one or more raw FIX application messages OUT on a session as given (tag=value pairs separated by | or SOH). FIXSIM supplies the session header fields (BeginString, CompIDs, MsgSeqNum, SendingTime) and the checksum. Use for message types the other tools do not cover.
Annotations the server declares
- title: Send raw FIX messages
- destructiveHint: false
Changes things 4Claude Code: ask
fixsim_act_on_ordersRespond to orders the user's system sent into FIXSIM: acknowledge, fully or partially execute, reject, cancel remaining, expire, done-for-day, restate, or accept/reject a pending c…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Respond to orders the user's system sent into FIXSIM: acknowledge, fully or partially execute, reject, cancel remaining, expire, done-for-day, restate, or accept/reject a pending cancel/replace. FIXSIM emits the matching execution reports on the FIX session. Give one or more ClOrdIDs; for executions supply lastPx and, for a partial, lastQty.
Annotations the server declares
- title: Act on inbound orders
- destructiveHint: false
sandbox_act_on_orderPlay the exchange for one order the user sent in: fill (full execution), partial (partial fill), reject, or cancel (cancel the remaining quantity).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Play the exchange for one order the user sent in: fill (full execution), partial (partial fill), reject, or cancel (cancel the remaining quantity). FIXSIM sends the matching execution report back to the user's engine.
Annotations the server declares
- title: Fill, reject, or cancel a sandbox order
- destructiveHint: false
sandbox_create_sessionCreate a free, anonymous FIX test session on the FIXSIM Developer Sandbox.No findings
Why it is in this group
- The name "sandbox_create_session" says "create": a word for a change.
Description, as the server wrote it Create a free, anonymous FIX test session on the FIXSIM Developer Sandbox. No account or API key needed. Returns the connection card: host, port, the SenderCompID the user must put in tag 49, the TargetCompID for tag 56, BeginString, and the expiry (sessions last 4 hours, cap 100 application messages per day). The user's FIX engine connects as the initiator; FIXSIM is the acceptor and acknowledges every order. Keep the returned id; every other sandbox tool needs it.
Annotations the server declares
- title: Create sandbox FIX session
- destructiveHint: false
sandbox_set_autofillTurn automatic fills on or off for a sandbox session.No findings
Why it is in this group
- The name "sandbox_set_autofill" says "set": a word for a change.
Description, as the server wrote it Turn automatic fills on or off for a sandbox session. On: every order the user sends is filled immediately at the security's last price. Off (default): orders are acknowledged and wait for sandbox_act_on_order.
Annotations the server declares
- title: Set sandbox auto-fill
- destructiveHint: false
Only reads 13Claude Code: allow
fixsim_get_order_inGet one inbound order by ClOrdID (tag 11), including its raw FIX message and audit trail.No findings
Why it is in this group
- The name "fixsim_get_order_in" says "get": a word for reading.
Description, as the server wrote it Get one inbound order by ClOrdID (tag 11), including its raw FIX message and audit trail. Use this to explain why an order was rejected or what state it is in.
Annotations the server declares
- title: Get inbound order
- idempotentHint: true
- readOnlyHint: true
fixsim_get_sessionGet one FIX session's settings and live state (logged in?, sequence numbers, connection details).No findings
Why it is in this group
- The name "fixsim_get_session" says "get": a word for reading.
Description, as the server wrote it Get one FIX session's settings and live state (logged in?, sequence numbers, connection details).
Annotations the server declares
- title: Get FIX session
- idempotentHint: true
- readOnlyHint: true
fixsim_list_executions_inExecution reports the user's system sent INTO FIXSIM on a session (when FIXSIM is the order sender and the user's system is the executing side).No findings
Why it is in this group
- The name "fixsim_list_executions_in" says "list": a word for reading.
Description, as the server wrote it Execution reports the user's system sent INTO FIXSIM on a session (when FIXSIM is the order sender and the user's system is the executing side). Optionally filter by ExecID (tag 17).
Annotations the server declares
- title: List inbound execution reports
- idempotentHint: true
- readOnlyHint: true
fixsim_list_executions_outExecution reports FIXSIM sent OUT on a session (acks, fills, partial fills, rejects, cancels).No findings
Why it is in this group
- The name "fixsim_list_executions_out" says "list": a word for reading.
Description, as the server wrote it Execution reports FIXSIM sent OUT on a session (acks, fills, partial fills, rejects, cancels). Pass clOrdId to see the full execution history of one order: ExecType, OrdStatus, LastPx/LastQty, CumQty, LeavesQty, AvgPx and the raw FIX.
Annotations the server declares
- title: List outbound execution reports
- idempotentHint: true
- readOnlyHint: true
fixsim_list_instancesList the FIXSIM instances your API key can access.No findings
Why it is in this group
- The name "fixsim_list_instances" says "list": a word for reading.
Description, as the server wrote it List the FIXSIM instances your API key can access. An instance is a hosted FIX engine; each holds one or more FIX sessions. Start here to learn the instance names other tools need.
Annotations the server declares
- title: List FIXSIM instances
- idempotentHint: true
- readOnlyHint: true
fixsim_list_orders_inOrders the user's trading system sent INTO FIXSIM on a session (FIXSIM is the counterparty).No findings
Why it is in this group
- The name "fixsim_list_orders_in" says "list": a word for reading.
Description, as the server wrote it Orders the user's trading system sent INTO FIXSIM on a session (FIXSIM is the counterparty). Includes ClOrdID, symbol, side, quantity, remaining quantity, order status and the raw FIX message. Optionally filter by FIX OrdStatus code (tag 39): 0 new, 1 partially filled, 2 filled, 4 canceled, 8 rejected.
Annotations the server declares
- title: List inbound orders
- idempotentHint: true
- readOnlyHint: true
fixsim_list_orders_outOrders FIXSIM sent OUT on a session (created with fixsim_send_order).No findings
Why it is in this group
- The name "fixsim_list_orders_out" says "list": a word for reading.
Description, as the server wrote it Orders FIXSIM sent OUT on a session (created with fixsim_send_order). Pass clOrdId to fetch one.
Annotations the server declares
- title: List outbound orders
- idempotentHint: true
- readOnlyHint: true
fixsim_list_securitiesSecurities (symbol, last price, CUSIP, ISIN) configured on an instance.No findings
Why it is in this group
- The name "fixsim_list_securities" says "list": a word for reading.
Description, as the server wrote it Securities (symbol, last price, CUSIP, ISIN) configured on an instance. FIXSIM prices fills from these.
Annotations the server declares
- title: List securities
- idempotentHint: true
- readOnlyHint: true
fixsim_list_sessionsList the FIX sessions on an instance with their FIX version, CompIDs, acceptor/initiator role, host/port, enabled and logged-in state, and sequence numbers.No findings
Why it is in this group
- The name "fixsim_list_sessions" says "list": a word for reading.
Description, as the server wrote it List the FIX sessions on an instance with their FIX version, CompIDs, acceptor/initiator role, host/port, enabled and logged-in state, and sequence numbers.
Annotations the server declares
- title: List FIX sessions
- idempotentHint: true
- readOnlyHint: true
sandbox_get_messagesThe FIX message log for a sandbox session, oldest first: logons, heartbeats, orders in, execution reports out, rejects.No findings
Why it is in this group
- The name "sandbox_get_messages" says "get": a word for reading.
Description, as the server wrote it The FIX message log for a sandbox session, oldest first: logons, heartbeats, orders in, execution reports out, rejects. Each message has seq, timeUtc, inbound (true = user's engine sent it), msgType, raw FIX, and parsed tag/value fields. Pass afterSeq (the last seq you saw) to fetch only new messages. Use this to explain what happened on the wire.
Annotations the server declares
- title: Read sandbox FIX message log
- idempotentHint: true
- readOnlyHint: true
sandbox_get_ordersWorking orders the user's engine has sent into the sandbox session: ClOrdID, symbol, side, qty, filled, leaves, price, status.No findings
Why it is in this group
- The name "sandbox_get_orders" says "get": a word for reading.
Description, as the server wrote it Working orders the user's engine has sent into the sandbox session: ClOrdID, symbol, side, qty, filled, leaves, price, status.
Annotations the server declares
- title: List sandbox orders
- idempotentHint: true
- readOnlyHint: true
sandbox_get_sessionRe-fetch a sandbox session's connection card by id, including whether auto-fill is on and when it expires.No findings
Why it is in this group
- The name "sandbox_get_session" says "get": a word for reading.
Description, as the server wrote it Re-fetch a sandbox session's connection card by id, including whether auto-fill is on and when it expires.
Annotations the server declares
- title: Get sandbox session
- idempotentHint: true
- readOnlyHint: true
sandbox_get_statusIs the user's FIX engine connected to the sandbox session?No findings
Why it is in this group
- The name "sandbox_get_status" says "get": a word for reading.
Description, as the server wrote it Is the user's FIX engine connected to the sandbox session? Returns state: connected, waiting (nobody logged on yet), disabled, or unknown.
Annotations the server declares
- title: Check sandbox connection status
- idempotentHint: true
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.1.2. Values in angle brackets are yours to fill in.
claude mcp add --transport http fixsim https://mcp.fixsim.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__fixsim__fixsim_list_orders_out",
"mcp__fixsim__sandbox_get_status",
"mcp__fixsim__fixsim_list_orders_in",
"mcp__fixsim__fixsim_list_executions_in",
"mcp__fixsim__fixsim_list_sessions",
"mcp__fixsim__fixsim_list_executions_out",
"mcp__fixsim__fixsim_get_session",
"mcp__fixsim__fixsim_get_order_in",
"mcp__fixsim__sandbox_get_orders",
"mcp__fixsim__sandbox_get_messages",
"mcp__fixsim__fixsim_list_instances",
"mcp__fixsim__fixsim_list_securities",
"mcp__fixsim__sandbox_get_session"
],
"ask": [
"mcp__fixsim__fixsim_send_order",
"mcp__fixsim__fixsim_act_on_orders",
"mcp__fixsim__sandbox_set_autofill",
"mcp__fixsim__sandbox_act_on_order",
"mcp__fixsim__sandbox_create_session",
"mcp__fixsim__fixsim_send_raw_fix"
],
"deny": [
"mcp__fixsim__fixsim_cancel_order_out",
"mcp__fixsim__sandbox_end_session"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as fixsim. Review it before you use it.
