Skip to main content
Glama
meteoroh

tossinvest-mcp

by meteoroh

List conditional orders

tossinvest_list_conditional_orders
Read-onlyIdempotent

List all price-triggered conditional orders on your account, including orders placed in the Toss Securities app. Filter by open/closed status and symbol to review active or expired orders.

Instructions

List the account's conditional (price-triggered) orders.

This returns conditional orders from every channel, including ones set up in the Toss Securities app — not just those created through this API.

Args:

  • status ('OPEN' | 'CLOSED'): OPEN covers WATCHING, PAUSED, ORDERING and ORDERED. CLOSED covers COMPLETED and EXPIRED.

  • symbol (string, optional): restrict to one symbol.

  • cursor (string, optional): pagination cursor from a previous nextCursor.

  • limit (number): 1-100, default 20.

  • account_seq (number, optional): resolved automatically for single-account credentials.

  • response_format ('markdown' | 'json'): default 'markdown'.

Returns { accountSeq, status, count, conditionalOrders: [{ conditionalOrderId, type, status, symbol, market, quantity, orderType, expireDate, createdAt, first, second }], nextCursor, hasNext }. type is SINGLE, OCO or OTO; there is no server-side type filter, so filter on this field yourself. Each condition leg carries { type, status, triggerPrice, targetProfitRate, orderPrice, triggeredOrderId }; triggeredOrderId links to the real order created on trigger, which you can then read with tossinvest_get_order.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoPage size (max 100).
cursorNoPagination cursor from a previous nextCursor.
statusYes'OPEN' for active conditional orders, 'CLOSED' for completed or expired ones.
symbolNoRestrict to one symbol. Omit for all.
account_seqNoaccountSeq of the account to act on (the `X-Tossinvest-Account` header). Optional: falls back to TOSSINVEST_ACCOUNT_SEQ, then to the sole account on the credentials. Get valid values from tossinvest_list_accounts.
response_formatNoOutput format: 'markdown' for a compact human-readable summary, 'json' for the complete raw payload.markdown

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
countYes
statusYes
hasNextNo
truncatedNo
accountSeqYes
nextCursorNo
conditionalOrdersYes
truncation_messageNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as read-only and idempotent, and the description adds substantial behavioral detail beyond that: it covers pagination via nextCursor and hasNext, explains the OPEN/CLOSED status groupings, discloses that no server-side type filter is available, and explains that triggeredOrderId links to a real order readable via tossinvest_get_order. No contradiction with annotations exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well-organized into a concise opening sentence, an Args section, and a Returns section. Every section earns its place given the tool's complexity, though some parameter details are redundant with the schema. It is front-loaded with the core purpose and scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a six-parameter tool with an output schema, the description is exceptionally complete: it explains all parameters, the return object structure, condition leg fields, pagination, and how to follow up on triggered orders. It also covers edge cases like the absence of a server-side type filter, making it sufficient for an agent to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds real value by mapping status values to underlying sub-statuses (WATCHING, PAUSED, ORDERING, ORDERED vs COMPLETED, EXPIRED) and restating key constraints like limit range and default. It repeats some schema details but the status breakdown and pagination behavior improve clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: "List the account's conditional (price-triggered) orders." It also clarifies the tool's broad scope by stating it returns conditional orders from every channel, including those created in the Toss Securities app, which clearly differentiates it from plain list-orders or get-one-order tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when this tool is useful: it captures all conditional orders regardless of origin and tells the agent to filter by type manually because no server-side filter exists. It references a related tool (tossinvest_get_order) for reading triggered orders, but it does not explicitly name alternatives like tossinvest_list_orders or state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.