FIXSIM
Server Details
Test FIX from Claude, ChatGPT, or Cursor: free sandbox FIX sessions or your own FIXSIM instances.
- Status
- Healthy
- Uptime
- 100.0% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- GammaThreeTrading/fixsim-mcp
- GitHub Stars
- 1
- Server Listing
- fixsim-mcp
TDQS
Scored across 21 tools
Two distinct API families (fixsim_* and sandbox_*) are mostly well-separated, but there is clear overlap between fixsim_act_on_orders and sandbox_act_on_order, and between fixsim_get_order_in / fixsim_list_orders_in and sandbox_get_orders, which could cause misselection.
fixsim_* tools use a consistent verb_noun_in/out pattern, and sandbox_* tools also follow a consistent verb_noun pattern. The only deviation is the naming prefix shift (fixsim_ vs sandbox_) and sandbox_set_autofill versus fixsim_list_* style, but overall conventions are predictable.
21 tools is on the heavy side for a FIX simulator, and the overlap between fixsim_* and sandbox_* families means some tools may be redundant. It is borderline but not clearly excessive.
The surface covers session lifecycle, order send/receive, execution reports, raw FIX, securities, and sandbox management, which is strong for a FIX testing tool. Minor gaps exist in explicit order amend/cancel-replace handling and session start/stop controls.
Available Tools
21 toolsfixsim_act_on_ordersAct on inbound 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 provide destructiveHint=false, so the description carries most of the burden. It discloses the key behavioral trait that FIXSIM emits matching execution reports on the FIX session as a side effect, and that multiple ClOrdIDs can be acted on at once. It omits auth requirements (apiKey), error behavior, and per-action semantics.
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 dense sentences, front-loaded with the action list and followed by the side effect and parameter requirements. The long action enumeration slightly duplicates the schema enum but maps directly to the required action values, so it 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 7-parameter mutation tool with no output schema, the description covers the action scope, the batch nature, the required execution params, and the response side effect (execution reports). Missing detail on auth and error handling keeps it from being fully 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 coverage is 57%, and the description adds useful linkage by tying lastPx to executions and lastQty to partial executions, and clarifying that one or more ClOrdIDs are supplied. It does not explain session, instance, or apiKey, but the parameter-to-action mapping goes beyond the schema's per-field text.
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 (respond to/act on) and resource (inbound orders sent by the user's system into FIXSIM), then enumerates the exact actions available. This clearly distinguishes it from siblings like fixsim_send_order and fixsim_cancel_order_out, which operate on outbound orders.
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 scopes usage to inbound orders ("orders the user's system sent into FIXSIM"), which gives clear context for when to reach for this tool versus the outbound siblings. It stops short of naming alternatives or exclusions explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_cancel_order_outSend an Order Cancel RequestAInspect
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?
Annotations only provide destructiveHint=false, and the description confirms it is an outbound FIXSIM request referencing a previously sent order. However, it discloses nothing about side effects, reversibility, permissions, or whether cancelling requires a live session.
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, well-formed sentence with the action and its precondition front-loaded. No filler or redundancy.
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 tool with low schema coverage, no output schema, and sparse annotations, the description is too thin. It omits any explanation of session/instance/auth handling needed to call the tool 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 33%; clOrdId and newClOrdId are documented in the schema but session, instance, apiKey, and additionalTags are not. The description adds nothing to explain these undocumented parameters, referring only vaguely to 'an order it previously sent out'.
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 (35=F)') and ties it to a concrete precondition ('for an order it previously sent out with fixsim_send_order'). This clearly distinguishes it from siblings like fixsim_send_order and fixsim_act_on_orders.
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 reference to fixsim_send_order implies the workflow context (cancel something you sent), but there is no explicit when/when-not guidance or comparison to alternatives such as fixsim_act_on_orders or sandbox_act_on_order. Usage is inferred, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_get_order_inGet inbound orderARead-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 return-content context — that the result includes the raw FIX message and an audit trail — which is meaningful behavioral information given there is no output schema.
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 core action and identifier front-loaded and the use case immediately following. 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?
The read-only/idempotent annotations cover safety and the description covers purpose plus return contents, so the read path is adequately explained. However, with two required identifying parameters (instance, session) entirely undocumented, the definition leaves a real gap for a tool that requires them to be called successfully.
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 25%: clOrdId is documented in both schema and description (tag 11), but the required instance and session parameters plus apiKey have no description in either place. The description does not compensate for this gap at all, so an agent has no guidance on what instance/session should contain.
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 by ClOrdID') and the singular 'one' implicitly distinguishes it from the plural sibling tools like fixsim_list_orders_in. It is clear enough to act on without opening the schema, though it never names an alternative to contrast against.
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 second sentence gives a concrete use case ('explain why an order was rejected or what state it is in'), which is far more than most definitions offer. It stops short of stating when NOT to use it or naming the list siblings as alternatives for browsing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_get_sessionGet FIX sessionARead-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 cover readOnlyHint and idempotentHint, so safety profile is clear. The description adds what state is returned (login, seq numbers, connection details), which is useful behavioral context beyond the annotations. But it doesn't describe whether live state is real-time vs cached, or any rate limits/auth needs.
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?
Single sentence, front-loaded with the verb and resource, then parenthetical detail. No wasted words.
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?
Given no output schema, the description tells the agent the categories of returned data (settings, login state, sequence numbers, connection details), which is sufficient for a read-only getter. Missing is guidance on the apiKey param and edge cases when session not found, but overall complete enough.
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 33%; session param is documented (references fixsim_list_sessions), but instance and apiKey lack descriptions. The description adds no parameter semantics beyond what schema provides, and 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?
Specific verb (Get) + resource (one FIX session) with explicit scope ('one FIX session's'). Distinguishes from sibling fixsim_list_sessions (plural) by emphasizing the singular session and returns settings plus live 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?
The parenthetical hints at when it's useful (checking login status, sequence numbers, connection), implying usage for inspection. But there's no explicit when-to-use versus fixsim_list_sessions, and no stated prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_list_executions_inList inbound execution reportsARead-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 safety is covered. The description adds meaningful domain behavior: which counterparty originates these reports and on which side FIXSIM sits, which matters for interpreting results. It does not discuss volume/pagination behavior beyond what the schema states.
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 plus one short optional-filter clause. Every phrase conveys domain meaning and there is 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?
The direction-of-flow explanation is the essential context for this tool and is present, and annotations cover the read/idempotent profile. However, with 5 parameters, two of them required and undocumented, and no output schema, the definition leaves an agent guessing about instance/session semantics.
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 40%, so the description must carry more weight than it does. It repeats the ExecID (tag 17) filter already documented in the schema and says nothing about the two required parameters, instance and session, nor about apiKey.
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) and disambiguates by direction of flow: reports the user's system sent INTO FIXSIM. This contrasts cleanly with the outbound sibling fixsim_list_executions_out even without naming it.
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?
Specifies the scenario that selects this tool (FIXSIM is the order sender, the user's system is the executing side) and notes the optional ExecID filter. It does not explicitly name the alternative tool to use when the direction is reversed, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_list_executions_outList outbound execution reportsARead-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 declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds real domain context beyond that: it names the concrete message categories returned and, with no output schema, discloses the response fields (ExecType, OrdStatus, LastPx/LastQty, CumQty, LeavesQty, AvgPx, raw FIX). It omits ordering/pagination behavior, though the limit parameter's schema text covers 'newest first'.
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, no preamble, with the core resource statement front-loaded and the clOrdId guidance second. The trailing field list is dense but earns its place because there is no output schema to carry that 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 5-parameter tool with two required params and 40% schema coverage, the description leaves instance/session unexplained and does not clarify the relationship to fixsim_list_instances or fixsim_list_sessions. The return-field enumeration compensates for the absent output schema, but the identity/scoping parameters remain undocumented in both places.
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 40%: clOrdId and limit are documented in the schema, while instance, session, and apiKey are undocumented. The description reinforces clOrdId's meaning (tag 11, one order's full execution history) but says nothing about instance or 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 and resource — execution reports FIXSIM sent OUT on a session — and enumerates the report types (acks, fills, partial fills, rejects, cancels), which pins down scope precisely. The capitalized OUT implicitly separates it from the fixsim_list_executions_in sibling, though that sibling is never named, so differentiation is inferred rather than explicit.
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 only usage guidance is 'Pass clOrdId to see the full execution history of one order,' which tells the agent how to narrow scope but not when to prefer this tool over fixsim_list_executions_in, fixsim_list_orders_out, or fixsim_act_on_orders. No exclusions or alternatives are stated; usage is implied by the tool name and report-type list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_list_instancesList FIXSIM 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?
The annotations already declare readOnlyHint=true and idempotentHint=true, so safety behavior is covered. The description adds useful context beyond that by clarifying API-key scoping and the relationship between instances and FIX sessions, though it does not discuss return format 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?
Three short sentences with no wasted words. The core action is front-loaded, and the domain explanation and usage hint follow efficiently.
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 list tool with full schema coverage and annotations covering safety, the description is nearly complete. It mentions that instance names are the key output but could say more about what other fields are returned, especially since no output schema exists.
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 schema has 100% description coverage and fully documents the single apiKey parameter, including when to omit it. The description adds nothing about the parameter, so the baseline of 3 is appropriate when the schema does 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 states a specific verb (List) and resource (FIXSIM instances) and clarifies the domain object: an instance is a hosted FIX engine containing one or more FIX sessions. This distinguishes it from sibling tools that list sessions, orders, or executions.
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 gives clear context for when to use the tool: 'Start here to learn the instance names other tools need.' This implies it is a discovery/entry-point tool, though it does not explicitly state when not to use it or name an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_list_orders_inList inbound ordersARead-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 declare readOnlyHint/idempotentHint, so safety is covered; the description adds value beyond that by disclosing the returned payload (raw FIX message included) and the OrdStatus code semantics (0/1/2/4/8). It does not mention pagination behavior beyond the schema's limit note, which is 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?
Three sentences, fully front-loaded: the direction/scope claim comes first, then the returned fields, then the optional filter with its code legend. No filler and nothing repeated from the 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?
With no output schema, describing the returned columns is exactly the right compensation, and it is done. What remains thin is the operational framing: nothing about instance vs session semantics or whether apiKey is required in some deployments. Sufficient for correct invocation, slightly short of 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 coverage is 40%. The description compensates well for orderStatus by expanding the tag-39 code table beyond the schema's terse note, but instance, session, and apiKey carry no meaning in either place. With roughly half the parameters undocumented, this lands at the baseline for a partial-coverage tool.
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 and resource and pins the direction precisely: orders the user's trading system sent INTO FIXSIM, with FIXSIM as counterparty. That phrasing cleanly separates it from the sibling fixsim_list_orders_out without needing to name it. It also enumerates the returned fields, so the agent knows exactly what it gets.
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 context is implied by the 'inbound orders on a session' scoping and by the optional OrdStatus filter, but there is no explicit when-to-use statement, no prerequisite (e.g. session must exist/is live), and no pointer to fixsim_get_order_in or fixsim_list_orders_out as alternatives. Adequate but leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_list_orders_outList outbound ordersBRead-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=true and idempotentHint=true, so safety profile is covered. The description adds that these are orders sent on a session created by fixsim_send_order, which is useful context, but says nothing about pagination behavior beyond what the schema limit param implies, ordering (newest first is in schema), or error/auth conditions.
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 resource and scope, then the single-fetch option. Nearly zero waste, though 'OUT' capitalization and abbreviation are slightly terse.
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 5-param list tool with no output schema and low schema coverage, the description covers the core intent and the clOrdId shortcut, but omits auth requirements, pagination, and the distinction from fixsim_list_orders_in. 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 coverage is only 20%: only the limit param is described in the schema. The description adds meaning for clOrdId ('fetch one') and ties instance/session to the sending context, which partially compensates, but apiKey and the full semantics of session/instance remain 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?
Clear verb+resource: lists orders FIXSIM sent outbound on a session. Names a related tool (fixsim_send_order) as the creator of these orders, and distinguishes 'out' from 'in' implicitly. However it doesn't explicitly contrast with fixsim_list_orders_in, so sibling differentiation is partial.
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?
Implied usage: list outbound orders, or pass clOrdId to fetch a single one. There is no explicit when-to-use vs fixsim_list_orders_in or other alternatives, and no stated prerequisites (e.g., auth/session requirements).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_list_securitiesList 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 profile is covered. The description adds behavioral context that securities are 'configured on an instance' and that FIXSIM prices fills from these, which is useful domain context, but does not address pagination, permissions, or return format.
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 with no wasted words, front-loaded with what the tool lists. Efficient and easy to parse.
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 only two parameters, no output schema, and annotations covering read-only behavior, the description is adequate for basic invocation. However, it lacks guidance on the required instance parameter and any return-shape expectations, leaving moderate 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 must compensate for undocumented parameters. It mentions the instance implicitly ('configured on an instance') but does not explain the instance parameter's meaning, format, or how to obtain it, and does not mention apiKey at all.
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 (List) and resource (securities) with the attributes it returns (symbol, last price, CUSIP, ISIN). It does not differentiate from sibling list tools like the various list_orders/executions/instances, but the resource is distinct enough to be identifiable.
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 by the resource description but there is no explicit when-to-use guidance or naming of alternatives among the many sibling list tools. An agent can infer context (retrieving configured securities) but is not told under which conditions this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_list_sessionsList FIX sessionsBRead-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 already declare readOnlyHint and idempotentHint, covering the safety profile. The description adds the exact field set returned (FIX version, CompIDs, role, host/port, state, sequence numbers), which is useful, but says nothing about pagination or error 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?
A single dense sentence with the resource and its returned attributes front-loaded and no wasted words. Thorough but not padded.
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 enumerated field list effectively serves as one, which is genuinely valuable for a listing tool. Only pagination/ordering details are absent.
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 instance parameter is already well documented in the schema as coming from fixsim_list_instances, and 'on an instance' reinforces its role. The apiKey parameter remains undocumented in both places, but it is a conventional auth field.
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?
Specific verb (List) plus resource (FIX sessions) and explicitly enumerates the returned fields. It clearly differs from fixsim_get_session's singular scope, though it does not name that sibling directly.
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?
No guidance on when to use this over fixsim_get_session or fixsim_list_instances, and no conditions or prerequisites stated. Usage must be inferred from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_send_orderSend a New Order SingleAInspect
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 provide destructiveHint=false, so the description carries most of the burden. It usefully discloses direction (outbound to the counterparty) and recommends verification tools, but says nothing about authentication (the apiKey parameter hints at a requirement), failure behavior, or whether clOrdId collisions abort the send.
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: the action and its direction come first, and the verification step follows. No padding or restatement of the title.
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, 7-required mutation tool with no output schema, the description covers intent, direction, and how to inspect the result. It is slightly thin on auth/error semantics and on why the apiKey parameter exists, but the core call-and-verify loop 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 70%, with tags documented for side, price, ordType, symbol, clOrdId, orderQty and additionalTags. The description adds no parameter-level meaning beyond what the schema provides, which is acceptable given the moderate coverage but not additive.
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: send a FIX New Order Single (35=D) outbound. It also clarifies directionality ('OUT on a session to the user's system'), which separates it from order-reading siblings like fixsim_get_order_in and 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?
Gives clear context for use ('so they can test how their system handles inbound orders') and names the follow-up tools fixsim_list_orders_out and fixsim_list_executions_in to inspect results. It does not, however, distinguish this from the sibling fixsim_send_raw_fix or state when a raw send is preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fixsim_send_raw_fixSend raw FIX messagesAInspect
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?
Discloses a real behavioral trait beyond the sparse annotations: FIXSIM auto-supplies session header fields (BeginString, CompIDs, MsgSeqNum, SendingTime) and the checksum, which tells the caller what must NOT be included. It does not cover rejection/failure behavior or sequencing side effects, but annotations are minimal here so the description does most of the work.
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 sentences, all load-bearing: what it does, what the server fills in, and when to reach for it. Front-loaded and free of 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?
With no output schema and light annotations, the description covers the core invocation concerns (message format, auto-filled header, fallback role). The remaining gap is the meaning of session/instance identifiers, which is not addressed anywhere else in the definition.
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%, so session, instance and apiKey are undocumented in structured data. The description compensates well for the critical fixMessages parameter — explaining tag=value syntax and the | or SOH separator — but says nothing about session/instance selection semantics.
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 raw FIX application messages OUT on a session') and scopes it against siblings with 'Use for message types the other tools do not cover.' An agent can distinguish this from fixsim_send_order or fixsim_cancel_order_out immediately.
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 positions the tool as the fallback for message types the dedicated tools do not cover, which is genuine routing guidance. It does not state when NOT to use it (e.g. prefer fixsim_send_order for standard NewOrderSingle) beyond the implicit contrast.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sandbox_act_on_orderFill, reject, or cancel a sandbox 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 declare destructiveHint=false, so the description carries most of the burden, and it delivers real behavioral context: the tool emits a matching execution report back to the user's engine, and cancel is clarified as 'cancel the remaining quantity'. It omits permission requirements, whether prior actions can be undone, and error 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?
Two tight sentences with the action set front-loaded and the downstream side effect trailing; every clause earns its place and nothing is padded.
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 three-required-param mutation tool with no output schema, the definition is serviceable but leaves a gap: it says the execution report goes to the user's engine rather than stating what this tool itself returns, and gives no guidance on failure modes. Adequate, but not 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 coverage is 67% and the action enum values are already listed in the schema, but the description adds semantic meaning for three of them ('fill (full execution)', 'partial (partial fill)', 'cancel (cancel the remaining quantity)'), which the bare enum does not convey. sessionId and clOrdId get no extra treatment beyond the schema's tag-11 note.
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?
Names a specific verb and resource ('act on one order'), enumerates the four possible actions, and scopes it to a single order 'the user sent in'. It clearly separates itself from list/get siblings like sandbox_get_orders. It does not, however, distinguish itself from fixsim_act_on_orders, which appears to overlap.
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 phrase 'Play the exchange for one order the user sent in' implies the sandbox-simulation context and when this is used, but there is no explicit when/when-not statement or named alternative (e.g., fixsim_act_on_orders vs this sandbox variant). Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sandbox_create_sessionCreate sandbox FIX 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?
Annotations only declare destructiveHint=false. The description adds substantial behavior the annotations don't: it returns a connection card with specific fields (host, port, SenderCompID for tag 49, TargetCompID for tag 56, BeginString, expiry), states sessions last 4 hours with a 100-message/day cap, and clarifies role semantics (user connects as initiator, FIXSIM is acceptor and acknowledges orders).
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?
Five tight sentences, all front-loaded and information-dense: eligibility, return shape, role semantics, limits, and the id-keeping instruction. Nothing is wasted and key constraints (4 hours, 100 messages) are stated inline.
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, so the description correctly fills that gap by enumerating the returned connection card. Combined with the dependency note and cap details, an agent has everything needed to call it and use the result 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 100% and the fixVersion enum values are documented in the schema. The description doesn't further explain the parameter or its default behavior. Baseline 3 per the rubric when schema does the heavy lifting.
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 (Create) and resource (sandbox FIX session) with the precise scope: free, anonymous test session on the FIXSIM Developer Sandbox. Clearly distinguishes from sibling sandbox tools by establishing this as the entry point that returns the id others need.
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 when to use it (no account or API key needed) and directly instructs 'Keep the returned id; every other sandbox tool needs it' — a concrete dependency relationship that guides correct sequencing. The initiator/acceptor roles are also stated so the agent knows how the connection is established.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sandbox_end_sessionEnd sandbox sessionADestructiveInspect
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 agent knows this is a mutating action. The description adds the useful side effect that the slot is freed for the user's IP, but does not cover idempotency, error behavior on invalid/expired sessions, or whether the action is reversible.
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 waste, front-loaded with the primary action and the timing constraint. Every sentence 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 one-parameter destructive tool with no output schema, the description gives adequate purpose and side-effect context. However, it leaves the required sessionId's provenance and error/edge-case behavior undocumented, which an agent would want before invoking a destructive call.
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 has no description in either schema or description text. The description does not explain where sessionId comes from (e.g. from sandbox_create_session or sandbox_list_sessions) or its expected format beyond the uuid type in the schema.
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 (End) and resource (sandbox session) plus the key behavioral nuance: terminate now rather than waiting for expiry. This clearly distinguishes it from the read-only sibling sandbox_get_session and from session creation.
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 clear context: use when you want to end a session immediately instead of letting it expire. It implies the alternative (wait for expiration) but does not name a sibling tool or state exclusions (e.g. what happens on already-expired sessions).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sandbox_get_messagesRead sandbox FIX message logARead-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 declare readOnly and idempotent, so the safety profile is covered. The description adds genuine behavioral context beyond that: chronological ordering, the message catalogue, and the meaning of inbound (true = the user's engine sent it), which materially affects interpretation of results.
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 compact sentences with no filler; the return-shape description is front-loaded, then paging, then intent. 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, the description usefully enumerates the returned fields (seq, timeUtc, inbound, msgType, raw FIX, parsed tags) and covers pagination. It omits sessionId semantics and error/empty-log behavior, a minor gap for a two-parameter read 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?
Schema coverage is 50% (sessionId undocumented), so the description needs to compensate. It explains afterSeq semantically — 'the last seq you saw' — which is more actionable than the schema's 'seq greater than this', though sessionId's semantics remain entirely implicit.
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 — the FIX message log for a sandbox session — and narrows scope with 'oldest first' plus the exact message classes (logons, heartbeats, orders, exec reports, rejects). This is clearly distinct from siblings like sandbox_get_orders or sandbox_get_status.
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?
'Use this to explain what happened on the wire' gives a clear purpose context, and the afterSeq sentence defines the incremental-polling pattern. It stops short of naming an alternative tool or an explicit when-not-to-use condition, so it does not reach 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sandbox_get_ordersList sandbox 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 establish readOnlyHint and idempotentHint, so the safety profile is covered. The description adds scoping value by clarifying these are the engine's working orders in the sandbox session, but omits pagination, empty-result behavior, or session state requirements.
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 compact sentence with no padding, and the resource scope leads. The colon-separated field list is dense but useful 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?
With no output schema, enumerating returned fields is genuinely useful and substitutes for a return description. Still missing are session-state preconditions and empty-result behavior, but the core need is met.
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?
One required sessionId with 0% schema coverage; the phrase 'into the sandbox session' loosely ties to it but adds no format or semantics beyond what the UUID type conveys. Near the 0-1 param baseline of 4, docked for no explicit parameter mention.
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?
Names a specific resource and scope (working orders the user's engine has sent into the sandbox session) plus the exact fields returned. However, the sentence is a fragment with no verb and does not distinguish this from siblings like 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?
No indication of when to use this versus the many sibling list/order tools. No prerequisites, no exclusions, no alternative named despite a crowded namespace of similar order-listing tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sandbox_get_sessionGet sandbox 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 declare readOnlyHint and idempotentHint, so safety is covered. The description adds useful substance by naming the returned content (connection card, auto-fill flag, expiry), which matters because there is no output schema. It doesn't mention error behavior for a stale/ended session.
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 sentence, front-loaded with the operation and scoped by id, with the key return fields appended. No wasted words.
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 getter with full schema coverage and no output schema, the description covers the essentials and previews return content. Slightly incomplete in not distinguishing itself from closely named session-related siblings.
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 100% and there is a single well-described uuid parameter, so the baseline is 3. The description only adds 'by id', which the schema already conveys, adding no new semantics.
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 ('Re-fetch a sandbox session's connection card by id') and even names what the payload contains. It does not explicitly differentiate itself from siblings like sandbox_get_status or fixsim_get_session, so it stops 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?
'Re-fetch' plus the schema's 'Session id from sandbox_create_session' implies this is used after creating a session to refresh its state. However, it never says when to prefer this over sandbox_get_status or sandbox_get_messages, and states no exclusions, so guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sandbox_get_statusCheck sandbox connection statusARead-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=true and idempotentHint=true, so safety profile is covered. The description adds meaningful behavioral context beyond annotations: the four possible return states and what 'waiting' means ('nobody logged on yet'). This is exactly the kind of semantic detail annotations cannot express.
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: the question front-loads the purpose, and the enumeration of return states is compact and immediately useful. 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 single-parameter read-only status check with no output schema, the description supplies the essential missing piece – the set of possible states. It does not explain how to obtain a valid sessionId or how quickly state transitions occur, minor omissions for this complexity level.
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 0%, so the description could carry more load, but with only one required uuid parameter named sessionId the gap is minor. The description implies the query is scoped to a session but does not clarify the sessionId format or source. Baseline 3 given the single trivial parameter.
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 (check) and resource (sandbox connection status) framed as a question ('Is the user's FIX engine connected to the sandbox session?'). Clearly distinguishable from siblings like sandbox_get_session (session metadata) or sandbox_get_orders. Missing explicit sibling differentiation in text, but purpose is unambiguous.
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 by the name and the framing question – an agent would use this to poll connectivity. No explicit when-to-use versus when-not-to-use, and no mention of alternatives such as sandbox_get_session. Adequate but leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sandbox_set_autofillSet sandbox auto-fillAInspect
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 provide destructiveHint=false, so the description carries most of the behavioral burden. It adds useful context beyond annotations: the fill price (last price), the acknowledgement/wait behavior in the off state, and the default value. It does not mention permission requirements or idempotency, but the core behavioral semantics are covered.
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, purpose front-loaded, then the state semantics and default. Zero filler; 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 two-parameter mutation tool with no output schema and only a destructiveHint annotation, the description supplies the essential behavioral context (fill behavior, default, alternative path). It is nearly complete; only edge details like permission needs or sessionId provenance are 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%, so the description must compensate for both parameters. It implies sessionId refers to a sandbox session and explains the enabled boolean through the on/off semantics, but does not define the UUID format or clarify where sessionId comes from, leaving the minimum-viable 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?
Specific verb+resource: toggles automatic fills for a sandbox session, and it explicitly distinguishes its two modes and names the sibling tool (sandbox_act_on_order) involved in the off state. An agent can tell this apart from order-sending or session tools 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?
Describes both states and routes the agent: on = immediate fills, off (default) = wait for sandbox_act_on_order. It gives clear context for choosing between modes and names the alternative tool, though it does not explicitly say when to prefer this tool over sibling order tools.
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.
- FaxifyOAuthcom.faxify
Send, receive and track real faxes in the US and Canada from Claude, ChatGPT or Cursor.
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.
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.816629 npm1MIT- AlicenseNot gradedqualityDmaintenanceAutonomous 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,102GPL 3.0
Glama MCP Gateway
Add one secure layer between your agents and this server.