FIXSIM
Test FIX from Claude, ChatGPT, or Cursor: free sandbox FIX sessions or your own FIXSIM instances.
사용해야 할까요
품질 및 안전성
발견 사항 (1)
- LOWsandbox_get_orders에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"fixsim": {
"url": "https://mcp.fixsim.com/mcp"
}
}
}원격 엔드포인트
https://mcp.fixsim.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (21)
🟢fixsim_list_orders_out(instance, session, clOrdId, limit, apiKey)
Orders FIXSIM sent OUT on a session (created with fixsim_send_order). Pass clOrdId to fetch one.
입력 스키마
{
"type": "object",
"properties": {
"instance": {
"type": "string"
},
"session": {
"type": "string"
},
"clOrdId": {
"type": [
"string",
"null"
],
"default": null
},
"limit": {
"description": "Max rows to return, newest first (default 25, max 200)",
"type": "integer",
"default": 25
},
"apiKey": {
"type": [
"string",
"null"
],
"default": null
}
},
"required": [
"instance",
"session"
]
}🟢sandbox_get_status(sessionId)
Is the user's FIX engine connected to the sandbox session? Returns state: connected, waiting (nobody logged on yet), disabled, or unknown.
입력 스키마
{
"type": "object",
"properties": {
"sessionId": {
"type": "string",
"format": "uuid"
}
},
"required": [
"sessionId"
]
}🟡fixsim_send_order(instance, session, clOrdId, symbol, side, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"instance": {
"type": "string"
},
"session": {
"type": "string"
},
"clOrdId": {
"description": "ClOrdID (tag 11) to assign; must be unique on the session",
"type": "string"
},
"symbol": {
"description": "Symbol (tag 55)",
"type": "string"
},
"side": {
"description": "Side (tag 54): 1=Buy, 2=Sell, 5=Sell short",
"type": "string"
},
"orderQty": {
"description": "OrderQty (tag 38)",
"type": "number"
},
"ordType": {
"description": "OrdType (tag 40): 1=Market, 2=Limit",
"type": "string"
},
"price": {
"description": "Price (tag 44), required for limit orders",
"type": [
"number",
"null"
],
"default": null
},
"additionalTags": {
"description": "Extra FIX tags, e.g. [{tag:59,value:\"0\"}]",
"type": [
"array",
"null"
],
"items": {
"type": [
"object",
"null"
],
"properties": {
"tag": {
"type": "integer"
},
"value": {
"type": [
"string",
"null"
]
}
},
"required": [
"tag",
"value"
]
},
"default": null
},
"apiKey": {
"type": [
"string",
"null"
],
"default": null
}
},
"required": [
"instance",
"session",
"clOrdId",
"symbol",
"side",
"orderQty",
"ordType"
]
}🟢fixsim_list_orders_in(instance, session, orderStatus, limit, apiKey)
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.
입력 스키마
{
"type": "object",
"properties": {
"instance": {
"type": "string"
},
"session": {
"type": "string"
},
"orderStatus": {
"description": "Optional FIX OrdStatus (tag 39) filter",
"type": [
"string",
"null"
],
"default": null
},
"limit": {
"description": "Max rows to return, newest first (default 25, max 200)",
"type": "integer",
"default": 25
},
"apiKey": {
"type": [
"string",
"null"
],
"default": null
}
},
"required": [
"instance",
"session"
]
}🟢fixsim_list_executions_in(instance, session, execId, limit, apiKey)
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).
입력 스키마
{
"type": "object",
"properties": {
"instance": {
"type": "string"
},
"session": {
"type": "string"
},
"execId": {
"description": "Optional ExecID (tag 17) filter",
"type": [
"string",
"null"
],
"default": null
},
"limit": {
"description": "Max rows to return, newest first (default 25, max 200)",
"type": "integer",
"default": 25
},
"apiKey": {
"type": [
"string",
"null"
],
"default": null
}
},
"required": [
"instance",
"session"
]
}🔴fixsim_act_on_orders(instance, session, action, clOrdIds, lastPx, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"instance": {
"type": "string"
},
"session": {
"type": "string"
},
"action": {
"description": "One of: Ack, FullyExecute, PartialExecute, CancelRemaining, DoneForDay, AckCancelOrdReplaceReq, AcceptCancelOrdReplaceReq, RejectCancelOrdReplaceReq, Reject, Delete, Restate, Expire",
"type": "string"
},
"clOrdIds": {
"description": "ClOrdIDs (tag 11) of the inbound orders to act on",
"type": "array",
"items": {
"type": "string"
}
},
"lastPx": {
"description": "Fill price (LastPx) for executions",
"type": [
"number",
"null"
],
"default": null
},
"lastQty": {
"description": "Fill quantity (LastQty) for a partial execution",
"type": [
"number",
"null"
],
"default": null
},
"apiKey": {
"type": [
"string",
"null"
],
"default": null
}
},
"required": [
"instance",
"session",
"action",
"clOrdIds"
]
}🟡sandbox_set_autofill(sessionId, enabled)
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.
입력 스키마
{
"type": "object",
"properties": {
"sessionId": {
"type": "string",
"format": "uuid"
},
"enabled": {
"type": "boolean"
}
},
"required": [
"sessionId",
"enabled"
]
}🔴fixsim_cancel_order_out(instance, session, clOrdId, newClOrdId, additionalTags, ...)
Have FIXSIM send an Order Cancel Request (35=F) for an order it previously sent out with fixsim_send_order.
입력 스키마
{
"type": "object",
"properties": {
"instance": {
"type": "string"
},
"session": {
"type": "string"
},
"clOrdId": {
"description": "ClOrdID of the order to cancel (becomes OrigClOrdID, tag 41)",
"type": "string"
},
"newClOrdId": {
"description": "New ClOrdID for the cancel request (tag 11); generated if omitted",
"type": [
"string",
"null"
],
"default": null
},
"additionalTags": {
"type": [
"array",
"null"
],
"items": {
"type": [
"object",
"null"
],
"properties": {
"tag": {
"type": "integer"
},
"value": {
"type": [
"string",
"null"
]
}
},
"required": [
"tag",
"value"
]
},
"default": null
},
"apiKey": {
"type": [
"string",
"null"
],
"default": null
}
},
"required": [
"instance",
"session",
"clOrdId"
]
}🟢fixsim_list_sessions(instance, apiKey)
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.
입력 스키마
{
"type": "object",
"properties": {
"instance": {
"description": "Instance name from fixsim_list_instances",
"type": "string"
},
"apiKey": {
"type": [
"string",
"null"
],
"default": null
}
},
"required": [
"instance"
]
}🟢fixsim_list_executions_out(instance, session, clOrdId, limit, apiKey)
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.
입력 스키마
{
"type": "object",
"properties": {
"instance": {
"type": "string"
},
"session": {
"type": "string"
},
"clOrdId": {
"description": "Optional ClOrdID (tag 11) to narrow to one order",
"type": [
"string",
"null"
],
"default": null
},
"limit": {
"description": "Max rows to return, newest first (default 25, max 200)",
"type": "integer",
"default": 25
},
"apiKey": {
"type": [
"string",
"null"
],
"default": null
}
},
"required": [
"instance",
"session"
]
}🟢fixsim_get_session(instance, session, apiKey)
Get one FIX session's settings and live state (logged in?, sequence numbers, connection details).
입력 스키마
{
"type": "object",
"properties": {
"instance": {
"type": "string"
},
"session": {
"description": "Session name from fixsim_list_sessions",
"type": "string"
},
"apiKey": {
"type": [
"string",
"null"
],
"default": null
}
},
"required": [
"instance",
"session"
]
}🔴sandbox_act_on_order(sessionId, clOrdId, action)
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.
입력 스키마
{
"type": "object",
"properties": {
"sessionId": {
"type": "string",
"format": "uuid"
},
"clOrdId": {
"description": "ClOrdID (tag 11) of the order",
"type": "string"
},
"action": {
"description": "fill, partial, reject or cancel",
"type": "string"
}
},
"required": [
"sessionId",
"clOrdId",
"action"
]
}🟢fixsim_get_order_in(instance, session, clOrdId, apiKey)
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.
입력 스키마
{
"type": "object",
"properties": {
"instance": {
"type": "string"
},
"session": {
"type": "string"
},
"clOrdId": {
"description": "ClOrdID, FIX tag 11",
"type": "string"
},
"apiKey": {
"type": [
"string",
"null"
],
"default": null
}
},
"required": [
"instance",
"session",
"clOrdId"
]
}🟢sandbox_get_orders(sessionId)
Working orders the user's engine has sent into the sandbox session: ClOrdID, symbol, side, qty, filled, leaves, price, status.
입력 스키마
{
"type": "object",
"properties": {
"sessionId": {
"type": "string",
"format": "uuid"
}
},
"required": [
"sessionId"
]
}🟢sandbox_get_messages(sessionId, afterSeq)
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.
입력 스키마
{
"type": "object",
"properties": {
"sessionId": {
"type": "string",
"format": "uuid"
},
"afterSeq": {
"description": "Return only messages with seq greater than this",
"type": "integer",
"default": 0
}
},
"required": [
"sessionId"
]
}🟡sandbox_create_session(fixVersion)
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.
입력 스키마
{
"type": "object",
"properties": {
"fixVersion": {
"description": "FIX.4.0, FIX.4.2, FIX.4.4 (default) or FIX.5.0SP2 (rides FIXT.1.1)",
"type": "string",
"default": "FIX.4.4"
}
}
}🔴sandbox_end_session(sessionId)
End a sandbox session now instead of waiting for it to expire. Frees the slot for the user's IP.
입력 스키마
{
"type": "object",
"properties": {
"sessionId": {
"type": "string",
"format": "uuid"
}
},
"required": [
"sessionId"
]
}🟡fixsim_send_raw_fix(instance, session, fixMessages, apiKey)
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.
입력 스키마
{
"type": "object",
"properties": {
"instance": {
"type": "string"
},
"session": {
"type": "string"
},
"fixMessages": {
"description": "Raw FIX messages, e.g. 35=D|11=ORD1|55=IBM|54=1|38=100|40=2|44=150.25|59=0",
"type": "array",
"items": {
"type": "string"
}
},
"apiKey": {
"type": [
"string",
"null"
],
"default": null
}
},
"required": [
"instance",
"session",
"fixMessages"
]
}🟢fixsim_list_instances(apiKey)
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.
입력 스키마
{
"type": "object",
"properties": {
"apiKey": {
"description": "FIXSIM API key. Omit when the connector sends it as a header.",
"type": [
"string",
"null"
],
"default": null
}
}
}🟢fixsim_list_securities(instance, apiKey)
Securities (symbol, last price, CUSIP, ISIN) configured on an instance. FIXSIM prices fills from these.
입력 스키마
{
"type": "object",
"properties": {
"instance": {
"type": "string"
},
"apiKey": {
"type": [
"string",
"null"
],
"default": null
}
},
"required": [
"instance"
]
}🟢sandbox_get_session(sessionId)
Re-fetch a sandbox session's connection card by id, including whether auto-fill is on and when it expires.
입력 스키마
{
"type": "object",
"properties": {
"sessionId": {
"description": "Session id from sandbox_create_session",
"type": "string",
"format": "uuid"
}
},
"required": [
"sessionId"
]
}커뮤니티
증거