Skip to content

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.

Deletes · 2Final · 2Changes · 4

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

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/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "fixsim_cancel_order_out" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

    Matched text

    annotations: {"destructiveHint":false}; The name "fixsim_cancel_order_out" says "cancel": a word for removing or ending something.

    What this check looks for

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".

      Matched text

      annotations: {"destructiveHint":false}; The name "fixsim_cancel_order_out" says "cancel": a word for removing or ending something.

      What this check looks for
    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/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.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.