FIXSIM
Server Details
Test FIX from Claude, ChatGPT, or Cursor: free sandbox FIX sessions or your own FIXSIM instances.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- GammaThreeTrading/fixsim-mcp
- GitHub Stars
- 0
- Server Listing
- fixsim-mcp
TDQS
Scored across 21 tools
Tools are mostly distinct by resource, direction (in/out), and context (fixsim vs sandbox). However, parallel tools like fixsim_act_on_orders and sandbox_act_on_order, plus several list/get variants, create some selection risk for an agent.
Naming is consistently snake_case with clear fixsim_ and sandbox_ prefixes, and verbs are predictable. Minor singular/plural mismatch (act_on_orders vs act_on_order) and slight variation in get/list patterns keep it from perfect consistency.
21 tools is heavy for an MCP surface; while justified by FIX complexity and two API tiers, it sits in the borderline 16–25 range and may overwhelm tool selection. Some specialized tools overlap with raw FIX capability, adding convenience but also surface area.
The set covers session discovery/state, order send/act/cancel, inbound/outbound order and execution listing, securities, raw FIX, sandbox lifecycle, messages, and autofill. Minor gaps include no explicit paid-instance/session creation or outbound cancel/replace counterpart, though raw FIX and cancel tools mitigate.
Available Tools
21 toolsfixsim_act_on_ordersAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | One of: Ack, FullyExecute, PartialExecute, CancelRemaining, DoneForDay, AckCancelOrdReplaceReq, AcceptCancelOrdReplaceReq, RejectCancelOrdReplaceReq, Reject, Delete, Restate, Expire | |
| apiKey | No | ||
| lastPx | No | Fill price (LastPx) for executions | |
| lastQty | No | Fill quantity (LastQty) for a partial execution | |
| session | Yes | ||
| clOrdIds | Yes | ClOrdIDs (tag 11) of the inbound orders to act on | |
| instance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare destructiveHint=false, so the description carries most of the burden. It usefully discloses the side effect that 'FIXSIM emits the matching execution reports on the FIX session,' which tells the agent the operation triggers downstream reports. It stops short of covering idempotency, multi-ClOrdID behavior, or the apiKey requirement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and the action list, while long, is dense rather than padded. Sentence count is low for the tool's complexity, though the action enumeration crowds the opening.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-action, 7-parameter tool with no output schema, the definition tells the agent what happens (execution reports) and how to supply the key parameters. Gaps remain around apiKey, behavior with multiple ClOrdIDs, and error handling, but the core is well covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is mid (57%). The description compensates by coupling parameters to the action semantics: 'Give one or more ClOrdIDs; for executions supply lastPx and, for a partial, lastQty.' This conditional guidance (lastQty only for partials) adds meaning beyond the bare schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (respond to orders) plus the resource (inbound orders the user's system sent into FIXSIM), and enumerates the twelve concrete actions. This clearly separates it from siblings like fixsim_send_order (outbound) and sandbox_act_on_order (sandbox rather than FIXSIM).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Starting context is provided ('orders the user's system sent into FIXSIM'), which implies when to use it, but there is no explicit when-not guidance and no alternative sibling is named. The agent must infer the routing from the FIXSIM framing alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_cancel_order_outBInspect
Have FIXSIM send an Order Cancel Request (35=F) for an order it previously sent out with fixsim_send_order.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| clOrdId | Yes | ClOrdID of the order to cancel (becomes OrigClOrdID, tag 41) | |
| session | Yes | ||
| instance | Yes | ||
| newClOrdId | No | New ClOrdID for the cancel request (tag 11); generated if omitted | |
| additionalTags | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Only destructiveHint=false is provided, and the description adds the useful detail that this emits a real FIX 35=F message rather than merely mutating local state. But it does not disclose the effects of cancelling (does it terminate a live simulation session?), whether apiKey/permissions are required, whether the call is idempotent, or what the response indicates. For a state-changing FIX action with near-zero annotation coverage, more disclosure is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the action, the wire-level FIX detail, and the prerequisite all packed efficiently; no filler or repetition of structured fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter, output-schema-less FIX mutation tool with only 33% schema coverage, the description omits parameter-level guidance, environment/instance semantics, failure modes, and any indication of what a successful cancel returns. The one sentence covers the intent but leaves too much unaddressed given the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% across 6 parameters, so the description must compensate and does not: it never explains instance, session, apiKey, or additionalTags, and adds nothing beyond the schema's own notes on clOrdId and newClOrdId. The mapping of the cancel request onto OrigClOrdID (tag 41) is documented in the schema, not the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (send an Order Cancel Request, FIX tag 35=F) and scopes it to 'an order it previously sent out with fixsim_send_order', explicitly naming the sibling that produces the target order. An agent can distinguish this from fixsim_send_order and the generic fixsim_act_on_orders without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The clause 'for an order it previously sent out with fixsim_send_order' implies the precondition (the order must exist and have been sent by this server), but there is no explicit when-not, no mention of the overlapping siblings (fixsim_act_on_orders, sandbox_act_on_order, or the sandbox_* equivalents), and no statement about what happens if the order is already filled or unknown. Usage is implied rather than specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_get_order_inARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| clOrdId | Yes | ClOrdID, FIX tag 11 | |
| session | Yes | ||
| instance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds valuable context beyond that: the payload includes the raw FIX message and audit trail, which tells the agent this is a forensic/diagnostic read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, and the resource/return payload is front-loaded before the usage guidance. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-record read tool with no output schema, the description tells the agent both what it returns (raw FIX message, audit trail) and why to call it. The one real gap is the undocumented instance/session parameters, which the agent must infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 25% with 4 parameters, and two required parameters (instance, session) plus apiKey are undocumented in both schema and description. The description only restates clOrdId and its FIX tag, which the schema already provides, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get one inbound order'), the lookup key (ClOrdID, tag 11), and the returned payload (raw FIX message and audit trail). The word 'one' implicitly distinguishes it from the sibling list_orders_in, though that sibling is not named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete when-to-use context: explaining why an order was rejected or determining its state. It does not name explicit alternatives (e.g., fixsim_list_orders_in for bulk review) or exclusions, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_get_sessionBRead-onlyIdempotentInspect
Get one FIX session's settings and live state (logged in?, sequence numbers, connection details).
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| session | Yes | Session name from fixsim_list_sessions | |
| instance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered structurally. The description adds useful context about what live state is surfaced (login status, sequence numbers, connection details), but says nothing about auth requirements (apiKey), error behavior for unknown sessions, or freshness of the 'live' data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the parenthetical efficiently enumerates the returned state. It is appropriately sized for a simple read tool, though it is arguably terse for the param gaps it leaves.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description partially compensates by naming the state fields returned. However, for a tool with two required parameters at 33% schema coverage, the definition leaves identity/lookup semantics (what 'instance' means, whether apiKey is needed) unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, so the description should compensate for undocumented parameters but does not. It gives no meaning for 'instance' or 'apiKey' (both absent from schema descriptions), and the only documented param, 'session', is already explained in the schema as coming from fixsim_list_sessions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get') and resource ('one FIX session's settings and live state') and enumerates the returned facets (login status, sequence numbers, connection details). The singular 'one ... session' implicitly contrasts with the sibling fixsim_list_sessions, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance and no alternatives are named. The agent must infer from the name that this is the single-session inspection call versus the list variants; nothing in the text routes it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_list_executions_inBRead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max rows to return, newest first (default 25, max 200) | |
| apiKey | No | ||
| execId | No | Optional ExecID (tag 17) filter | |
| session | Yes | ||
| instance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description contributes the useful domain note that 'IN' means FIXSIM is the order sender, but says nothing about result ordering beyond the schema's default, pagination, or what an execution report contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence plus a short optional-filter clause; no filler. The parenthetical direction explanation is slightly verbose but it carries the disambiguating information, so it earns its space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and two undocumented required parameters, the description should at least indicate what session/instance identify and roughly what a returned execution report looks like. It covers the directional concept adequately but leaves the invocation surface thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 40%: limit and execId are documented in the schema, while session, instance, and apiKey have no descriptions anywhere. The description only restates the execId filter and adds nothing for the two required parameters (session, instance), so the low-coverage gap is not compensated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (execution reports) and disambiguates it from the sibling fixsim_list_executions_out by spelling out the direction semantics: 'sent INTO FIXSIM ... when FIXSIM is the order sender and the user's system is the executing side.' That is a real clarification, though the list verb and the sibling's name are only implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no explicit contrast with fixsim_list_executions_out, which is the natural alternative. The only usage-adjacent statement is 'Optionally filter by ExecID (tag 17),' which is a parameter fact, not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_list_executions_outARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max rows to return, newest first (default 25, max 200) | |
| apiKey | No | ||
| clOrdId | No | Optional ClOrdID (tag 11) to narrow to one order | |
| session | Yes | ||
| instance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safe-read profile (readOnlyHint, idempotentHint), and the description adds valuable context by enumerating what each row contains (ExecType, OrdStatus, LastPx/LastQty, CumQty, LeavesQty, AvgPx and raw FIX). It does not mention ordering beyond what the schema says, which keeps it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the scope (what is listed) front-loaded and the drill-down usage following immediately. The field enumeration is dense but earned, since there is no output schema to convey the return shape.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with annotations and no output schema, the description supplies the return shape and the clOrdId drill-down, which is most of what an agent needs. The unresolved gap is the meaning/format of the required instance and session parameters, which neither schema nor description explains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40% (limit and clOrdId documented; instance, session, apiKey are not). The description adds real meaning for clOrdId by explaining the drill-down behavior, but does nothing for instance/session, so it only partially compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (list execution reports FIXSIM sent OUT) and names the payload contents, so an agent can distinguish it from fixsim_list_executions_in by the explicit 'OUT' direction. It does not name the sibling outright, so it falls short of the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The sentence 'Pass clOrdId to see the full execution history of one order' gives one conditional usage hint, but there is no when-to-use/when-not guidance and no explicit routing to alternatives like fixsim_list_orders_out or fixsim_get_session. Usage is implied rather than prescribed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_list_instancesARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | FIXSIM API key. Omit when the connector sends it as a header. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so safety is covered. The description adds the API-key-scoped visibility constraint, which is useful, but says nothing about pagination, result size, or ordering behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and scope, then the domain definition, then the usage cue. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only listing tool with no output schema, the description conveys enough: it hints at the return (instance names) and the discovery role. A brief note on whether sessions are nested would have closed the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one optional parameter and schema description coverage is 100%, so the schema fully documents the apiKey fallback behavior. The description adds no further parameter detail, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("List the FIXSIM instances") and immediately disambiguates the domain by defining an instance as a hosted FIX engine holding sessions, which separates it from the sibling list_sessions/get_session tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells the agent where to start ("Start here to learn the instance names other tools need"), establishing a clear entry-point ordering. It lacks an explicit when-not or a named alternative, but the positive routing guidance is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_list_orders_inARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max rows to return, newest first (default 25, max 200) | |
| apiKey | No | ||
| session | Yes | ||
| instance | Yes | ||
| orderStatus | No | Optional FIX OrdStatus (tag 39) filter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint), so the bar is lower, and the description adds genuine context by enumerating the returned columns (ClOrdID, symbol, side, quantities, status, raw FIX message). It doesn't discuss auth needs or pagination behavior beyond what the schema carries, so it falls short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that front-load what is returned, followed by the optional filter and its code legend. Dense but no wasted words; the code enumeration is slightly list-like but earns its space by documenting the filter values.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description compensates by naming the returned fields, so an agent knows roughly what comes back. Direction and filtering are clear; only the required session/instance semantics and pagination details are left thin for a 5-param tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema coverage at 40% the description must compensate. It does well for orderStatus by expanding the tag-39 codes (0 new, 1 partially filled, 2 filled, 4 canceled, 8 rejected) far beyond the terse schema text, but it adds nothing for the required 'instance' and 'session' params or 'apiKey', leaving half the surface undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (orders) with a precise directional scope: orders the user's trading system SENT INTO FIXSIM, with FIXSIM named as the counterparty. This cleanly distinguishes it from the sibling fixsim_list_orders_out without the agent having to open either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The directional framing ('INTO FIXSIM') implicitly tells the agent when to use this versus the _out variant, and the optional status filter hints at a filtered-list use case. However, there is no explicit when-to-use statement, no mention of fixsim_list_orders_out or fixsim_get_order_in as alternatives, and no prerequisite guidance for the required session/instance params.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_list_orders_outARead-onlyIdempotentInspect
Orders FIXSIM sent OUT on a session (created with fixsim_send_order). Pass clOrdId to fetch one.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max rows to return, newest first (default 25, max 200) | |
| apiKey | No | ||
| clOrdId | No | ||
| session | Yes | ||
| instance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered and the bar is lower. The description adds scoping context (per-session, orders originating from FIXSIM) and the pairing with fixsim_send_order, but says nothing about paging behavior, ordering beyond the schema's 'newest first', or result shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence that front-loads the resource being listed and appends the single-order shortcut. Every clause carries information; nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, session-scoped listing tool with no output schema and annotations covering safety, the description supplies the scope, the provenance (fixsim_send_order) and the clOrdId shortcut. The main residual gap is that the required session/instance identifiers are never characterized, but an agent has enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 20% (limit is the sole documented property). The description does compensate for the undocumented clOrdId by explaining it narrows the call to a single order, which is real value the schema lacks. However, the required session and instance parameters, plus apiKey, are left unexplained in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (orders sent OUT) and ties it to the originating sibling fixsim_send_order, so an agent can separate it from fixsim_list_orders_in and fixsim_get_order_in. The listing verb itself is only implicit in the noun phrase 'Orders FIXSIM sent OUT', which keeps it just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Pass clOrdId to fetch one' gives one concrete retrieval mode and the parenthetical names the creating tool, implying this is the read-back side of fixsim_send_order. It never states when to prefer this over fixsim_list_orders_in or fixsim_act_on_orders, so guidance stays implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_list_securitiesBRead-onlyIdempotentInspect
Securities (symbol, last price, CUSIP, ISIN) configured on an instance. FIXSIM prices fills from these.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| instance | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so safety and repeatability are covered without description effort. The description adds domain context (these securities drive fill pricing) but says nothing about auth requirements despite an apiKey parameter, nor about result size or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, no filler, with the resource and its content front-loaded and the significance statement following. Every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, listing the returned fields is a genuinely useful substitute, but the definition is silent on the required 'instance' parameter's meaning and the apiKey argument, leaving an agent without enough to invoke it confidently in an unusual context. Adequate for a simple read, but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden for the two parameters, yet it never explains what 'instance' must be or what apiKey is for. The only indirect hint is the phrase 'configured on an instance', which gestures at the required parameter without clarifying its format or scope.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (securities) and enumerates its contents (symbol, last price, CUSIP, ISIN) plus the scoping context ('configured on an instance'), which clearly separates it from sibling list tools like list_orders or list_executions. It never states the verb explicitly, but the 'list' semantics are unambiguous from the name and content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus alternatives, no prerequisites, and no exclusions. The clause 'FIXSIM prices fills from these' hints at why the data matters (related to fills), but it is not actionable routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_list_sessionsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| instance | Yes | Instance name from fixsim_list_instances |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint and idempotentHint, so safety is covered; the description then adds genuinely new context by spelling out the payload (FIX version, CompIDs, role, host/port, enabled/logged-in state, sequence numbers). It does not mention auth expectations for apiKey or pagination behavior, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb first and no filler; the long field list is dense but each item is informative given there is no output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with annotations covering safety and no output schema, the description's enumeration of returned fields adequately substitutes for a return-value spec. Remaining gaps are the relation to fixsim_get_session and pagination, which are minor here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: 'instance' is documented (and reinforced by the description's 'on an instance'), but apiKey is undocumented in both schema and description. The description adds no syntax or format detail beyond the schema, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List the FIX sessions') and enumerates the attributes returned, so the agent knows exactly what it gets. It does not, however, distinguish itself from the sibling fixsim_get_session, which presumably fetches a single session.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite statement, and no reference to alternatives such as fixsim_get_session for a single session. The only implicit cue is 'on an instance', which the schema already conveys.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_send_orderAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| side | Yes | Side (tag 54): 1=Buy, 2=Sell, 5=Sell short | |
| price | No | Price (tag 44), required for limit orders | |
| apiKey | No | ||
| symbol | Yes | Symbol (tag 55) | |
| clOrdId | Yes | ClOrdID (tag 11) to assign; must be unique on the session | |
| ordType | Yes | OrdType (tag 40): 1=Market, 2=Limit | |
| session | Yes | ||
| instance | Yes | ||
| orderQty | Yes | OrderQty (tag 38) | |
| additionalTags | No | Extra FIX tags, e.g. [{tag:59,value:"0"}] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare destructiveHint=false. The description adds useful behavioral context about directionality and workflow, but says nothing about session prerequisites, what happens on failure, whether an apiKey is needed, or what state changes on the FIXSIM session. Adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero filler. The primary action is front-loaded and the follow-up guidance is compressed into the second sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter, no-output-schema mutation, the description compensates for the missing output schema by pointing at the two list tools that reveal what came back. Remaining gaps are minor: no explanation of instance vs session, apiKey, or error behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 70%, so most parameters (side, ordType, price, clOrdId, orderQty, additionalTags) are already documented with FIX tag mappings. The description mentions no parameters at all, so it adds no meaning beyond the schema; the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource (send a New Order Single, 35=D) plus the direction of flow (OUT, from FIXSIM to the user's system) and the reason (testing inbound order handling). This cleanly distinguishes it from siblings like fixsim_send_raw_fix and fixsim_cancel_order_out.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the scenario for using it (to test how the user's system handles inbound orders) and names the exact follow-up tools, fixsim_list_orders_out and fixsim_list_executions_in, to observe results. It does not, however, contrast against fixsim_send_raw_fix, which an agent might otherwise reach for to emit the same message.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_send_raw_fixAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| session | Yes | ||
| instance | Yes | ||
| fixMessages | Yes | Raw FIX messages, e.g. 35=D|11=ORD1|55=IBM|54=1|38=100|40=2|44=150.25|59=0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare destructiveHint=false, so the description carries most of the load, and it does disclose a genuinely important behavior: FIXSIM auto-fills the session header fields (BeginString, CompIDs, MsgSeqNum, SendingTime) and computes the checksum, telling the caller exactly what must NOT be supplied. It omits failure behavior (malformed tag input, missing/inactive session) and any auth/credential expectations despite an apiKey parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler; the core action and its direction are front-loaded, followed immediately by the caveat that routes the agent. Every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a moderately complex send tool with minimal annotations, no output schema, and thin parameter coverage, the description explains the input convention and header injection but omits prerequisites (must the session already be active?), credential expectations, and any indication of what the call returns or how errors surface. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 25% — only fixMessages is documented — and the description partly compensates by specifying the tag=value format with | or SOH separators and clarifying which header tags are injected. However, the required 'instance' and 'session' parameters and the optional apiKey receive no explanation anywhere, so the coverage gap is only partially closed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (send), resource (raw FIX application messages), direction (OUT on a session) and mode (as given), so an agent can distinguish it from fixsim_send_order or fixsim_cancel_order_out without opening schemas. It also names the routing rule that separates it from all siblings: message types the other tools do not cover.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides an explicit fallback condition ('Use for message types the other tools do not cover'), which implies both when to use it and when not to. It stops short of naming the specific sibling alternatives (fixsim_send_order, fixsim_cancel_order_out) by name, so routing requires the agent to scan the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sandbox_act_on_orderAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | fill, partial, reject or cancel | |
| clOrdId | Yes | ClOrdID (tag 11) of the order | |
| sessionId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only carry destructiveHint=false, so the description does real work: it explains what each action does (fill=full execution, partial=partial fill, cancel=cancels the remaining quantity) and the downstream side effect that FIXSIM emits a matching execution report to the user's engine. It stops short of auth/permission or state-retention details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and its variants, then the side effect. No filler, though the in-line enumeration makes the first sentence dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-param single-order simulation tool with no output schema, the description covers the actions and the return-side effect adequately. Minor gap: sessionId semantics and any ordering/idempotency constraints are unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%; clOrdId (tag 11) and the action list are already documented in the schema, and the description only lightly enriches them (e.g. 'cancel the remaining quantity'). sessionId remains undocumented in both places, so the description does not fully compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Play the exchange for one order the user sent in', and enumerates the four possible outcomes (fill/partial/reject/cancel). The scope 'one order' implicitly contrasts with the plural fixsim_act_on_orders, but no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys the implied context (manually acting on a single inbound order) but never says when to prefer this over sandbox_set_autofill or fixsim_act_on_orders, nor any prerequisites. Usage must be inferred from the action list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sandbox_create_sessionAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| fixVersion | No | FIX.4.0, FIX.4.2, FIX.4.4 (default) or FIX.5.0SP2 (rides FIXT.1.1) | FIX.4.4 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the return payload fields, session lifetime, daily message cap, connection roles, and acknowledgement behavior. The destructiveHint=false annotation is consistent with a session-creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well organized, moving from creation context to return values, session behavior, and follow-up usage. There is no redundant or wasted phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
It covers everything an agent needs to call and use the tool: no-auth access, returned connection details, session duration, message limit, FIX roles, and the need to retain the returned id.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single optional fixVersion parameter has 100% schema coverage with a clear default and allowed values. The description does not add further parameter-specific semantics, so the schema does most of the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb and resource: create a free, anonymous FIX test session on the FIXSIM Developer Sandbox. It distinguishes the tool from siblings by explaining the returned connection card and session role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says no account or API key is needed, explains the initiator/acceptor roles, and tells the user to keep the returned id because every other sandbox tool needs it. These are strong prerequisites and follow-up guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sandbox_end_sessionBDestructiveInspect
End a sandbox session now instead of waiting for it to expire. Frees the slot for the user's IP.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, so the mutating nature is known. The description adds useful consequence context ('Frees the slot for the user's IP'), but says nothing about irreversibility, what happens to in-flight orders/messages in that session, or the error case for an unknown/expired sessionId.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and followed by the effect. Every clause earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, no-output-schema tool with a destructiveHint annotation, the description covers the core action and side effect adequately. It is slightly thin on failure behavior and post-termination state, but nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required parameter sessionId is never mentioned in the description. The parameter is arguably self-evident from the tool name, but the description does nothing to compensate for the documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('End a sandbox session') and adds the intent qualifier 'now instead of waiting for it to expire'. It distinguishes the tool from sandbox_create_session/sandbox_get_session by implication, though it never names a sibling outright.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the contrast 'instead of waiting for it to expire', which tells the agent this is the proactive-termination path. There is no explicit when-not guidance, no named alternative sibling, and no prerequisite (e.g. session ownership) stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sandbox_get_messagesARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| afterSeq | No | Return only messages with seq greater than this | |
| sessionId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and idempotent safety, so the bar is low; the description nonetheless adds ordering (oldest first), incremental-fetch semantics via afterSeq, and the inbound flag's meaning (true = user's engine sent it). These are real behavioral details beyond the annotations, though auth/rate limits are not addressed (likely unnecessary here).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the resource and its contents, then usage, then the polling parameter. No filler and every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description does the heavy lifting by listing the returned fields (seq, timeUtc, inbound, msgType, raw FIX, parsed tag/value) and their semantics. Combined with the annotations, an agent has everything needed to call and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%; the schema documents afterSeq but leaves sessionId bare, and the description compensates by clarifying afterSeq's intended value ("the last seq you saw") in a polling workflow. It does not add anything for sessionId, so it only partially fills the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (the raw FIX message log for a sandbox session) and enumerates its contents (logons, heartbeats, orders in, execution reports out, rejects). It is clearly distinct from sandbox_get_orders/list_executions siblings by being the wire-level log rather than parsed order or execution entities, though it does not name an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear use case ("explain what happened on the wire") and polling guidance ("Pass afterSeq (the last seq you saw) to fetch only new messages"). No explicit when-not or named alternative, but the context of use is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sandbox_get_ordersBRead-onlyIdempotentInspect
Working orders the user's engine has sent into the sandbox session: ClOrdID, symbol, side, qty, filled, leaves, price, status.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds useful context by specifying 'working orders' and enumerating returned fields, but it omits pagination, error behavior, and session-state prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single, front-loaded sentence: the resource and scope come first, followed by a compact field list. Every token earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool whose annotations already cover safety, the description partially compensates for the absent output schema by listing returned fields. It still leaves the required sessionId explanation and any ordering/filtering behavior unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description never explains the required sessionId parameter or its UUID format. With low schema coverage, the description needed to compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the resource ('working orders') and scope ('in the sandbox session') plus the returned fields, so an agent can tell it retrieves orders. However, it does not differentiate this from sibling order-listing tools such as fixsim_list_orders_in or fixsim_list_orders_out.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance. The phrase 'engine has sent into the sandbox session' implies a sandbox-inspection context, but it never names alternatives or conditions for choosing this tool over the many sibling order tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sandbox_get_sessionARead-onlyIdempotentInspect
Re-fetch a sandbox session's connection card by id, including whether auto-fill is on and when it expires.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | Session id from sandbox_create_session |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint and idempotentHint, so safety is covered; the description goes further by disclosing what the returned connection card contains (auto-fill state and expiration time), which is valuable since there is no output schema. It does not describe behavior for an unknown/expired session id, a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the verb and the returned fields are packed in without repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read with no output schema, the description conveys the key return fields (auto-fill flag, expiry) and the id source is in the schema. It stops short of enumerating the rest of the connection card or error conditions, but is solidly adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter with 100% schema description coverage, and the schema already states the id comes from sandbox_create_session. The description's 'by id' adds no meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Re-fetch') and resource ('a sandbox session's connection card') qualified by id, so the agent knows exactly what is retrieved. It does not explicitly contrast with siblings such as sandbox_get_status or sandbox_create_session, but 'Re-fetch' implicitly signals it operates on an already-created session.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'Re-fetch' implies the tool is for refreshing an existing session rather than creating one, but the description never states when to use this versus sandbox_get_status, sandbox_get_messages, or the fixsim_get_session sibling. Usage is inferable but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sandbox_get_statusBRead-onlyIdempotentInspect
Is the user's FIX engine connected to the sandbox session? Returns state: connected, waiting (nobody logged on yet), disabled, or unknown.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so safety is covered, but the description adds genuine value by enumerating the returned states and clarifying that 'waiting' means nobody has logged on yet. This outcome-level detail goes beyond what the structured fields provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, question first, with no filler. The state enumeration is compact and every clause contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only status check with annotations covering safety and no output schema, the description is largely sufficient because it names the possible return states. The one notable gap is that it never connects to the sessionId parameter the caller must supply.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single required sessionId (a uuid) is never mentioned in the description. There is no explanation of which session to query or how the ID is obtained, so the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description poses a specific diagnostic question ('Is the user's FIX engine connected to the sandbox session?') and enumerates the possible states, so the agent knows exactly what this checks. It is distinguishable from list-style siblings, though it does not explicitly contrast with sandbox_get_session, which may also surface session state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance or statement of alternatives. The nearest sibling, sandbox_get_session, plausibly reports the same connection state, yet the description says nothing about which to pick or when a status check is warranted over fetching the session itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sandbox_set_autofillAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | Yes | ||
| sessionId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare destructiveHint=false, so the description carries most of the burden and does deliver real behavioral detail: what 'on' does (immediate fill at the security's last price) versus 'off' (orders acknowledged and queued). It does not cover persistence of the setting, required session state, or idempotency, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed sentences with zero filler, front-loading the purpose before the mode definitions. Every clause earns its place by defining behavior that the structured fields do not.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter setter with no output schema and sparse annotations, the description covers what an agent needs to call it: the effect of each flag value and the default. Prerequisite session state and whether the setting persists are not addressed, but the core is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It effectively explains the semantics of 'enabled' (on = immediate fill, off = pending), but says nothing about 'sessionId' beyond the implicit name. Since the enabled meaning maps well to the schema but sessionId is untouched, this is adequate but partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Turn automatic fills on or off for a sandbox session'), which is unambiguous and clearly distinct from sibling tools like sandbox_act_on_order and sandbox_send_order. An agent can identify the operation without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the two modes and explicitly notes that 'Off' is the default and that orders then 'wait for sandbox_act_on_order', effectively naming the alternative tool and the state that selects it. It stops short of an explicit 'use this when...' routing sentence, so it is clear context rather than full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
21 tool updates
- First observed
fixsim_act_on_orders - First observed
fixsim_cancel_order_out - First observed
fixsim_get_order_in - First observed
fixsim_get_session - First observed
fixsim_list_executions_in - First observed
fixsim_list_executions_out - First observed
fixsim_list_instances - First observed
fixsim_list_orders_in - First observed
fixsim_list_orders_out - First observed
fixsim_list_securities - First observed
fixsim_list_sessions - First observed
fixsim_send_order - First observed
fixsim_send_raw_fix - First observed
sandbox_act_on_order - First observed
sandbox_create_session - First observed
sandbox_end_session - First observed
sandbox_get_messages - First observed
sandbox_get_orders - First observed
sandbox_get_session - First observed
sandbox_get_status - First observed
sandbox_set_autofill
Related MCP Connectors
Build, test, monitor & improve AI with Future AGI via Claude, Cursor, Windsurf & more.
No-KYC managed MCP for AI agents: sandboxed TypeScript trading SDK, isolated sub-accounts, futures.
Connect Claude, Cursor, or ChatGPT to your business data. Ask questions, get answers.
Automate trading on your own Alpaca account - build, backtest and run strategies via your AI.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceIntroducing the Agentic Trading Co-Pilot, a next-gen AI assistant powered by FIXParser, enabling real-time market access, intelligent order execution, and autonomous trading decisions—all through seamless FIX protocol integration.51-

fetchsandbox-mcpofficial
AlicenseAqualityBmaintenanceA deterministic eval engine for coding agents. Your agent claims it fixed the bug—this checks it. The same scenario runs twice against a sandbox of the services your code calls, with failures injected on purpose. It must fail on the old code and pass on the new. The verdict is an exit code, not a model's opinion. Every run leaves a receipt.147901MIT- AlicenseNot gradedqualityBmaintenanceAutonomous QA platform powered by Claude + Playwright that allows AI to write, run, and fix tests for any project.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants like Claude to run backtests, fetch market data, list strategies, and analyze trading algorithms via natural language.1,068GPL 3.0
Glama MCP Gateway
Add one secure layer between your agents and this server.