Skip to main content
Glama

OneQAZ Trading Intelligence

Winning Trades

get_winning_trades
Read-onlyIdempotent

Purpose: Winning paper trades only (P&L > 0). Convenience wrapper around get_trade_history(min_pnl=0.01). Triggers (casual questions too): "what worked?", "뭐가 제일 잘 벌었어?", "show me the winners", "best trades lately?", "수익 난 거래 보여줘". When to call: success-pattern review. Prerequisites: none. Next steps: analyze_trades for breakdowns. Caveats: paper-trading data only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 10)
market_idYesMarket ID (crypto, kr_stock, us_stock; aliases coin/kr/us accepted)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
full_dataNo
timestampYesRFC3339 UTC, server build time
disclaimerYesCanonical compliance disclaimer (always present)
request_idYes32-hex per-response correlation id
is_real_moneyNo
data_classificationNo
is_investment_adviceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / additionalProperties
      Added value: +false
  2. Changed17 schema fields changed
    • removedOutput schema / properties / _followup_questions_for_user
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "items": {
      -        "type": "string"
      -      },
      -      "type": "array"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null
      -}
    • removedOutput schema / properties / _llm_summary
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null
      -}
    • removedOutput schema / properties / _market_state_narrative
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "additionalProperties": true,
      -      "description": "Wrapper for `_market_state_narrative` — bilingual + provenance.",
      -      "properties": {
      -        "_source": {
      -          "anyOf": [
      -            {
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "default": null
      -        },
      -        "en": {
      -          "anyOf": [
      -            {
      -              "additionalProperties": true,
      -              "description": "Bilingual narrative — one of {ko, en} must carry a headline.",
      -              "properties": {
      -                "evidence": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "type": "array"
      -                },
      -                "headline": {
      -                  "type": "string"
      -                },
      -                "what_to_watch": {
      -                  "anyOf": [
      -                    {
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ],
      -                  "default": null
      -                }
      -              },
      -              "required": [
      -                "headline"
      -              ],
      -              "type": "object"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "default": null
      -        },
      -        "ko": {
      -          "anyOf": [
      -            {
      -              "additionalProperties": true,
      -              "description": "Bilingual narrative — one of {ko, en} must carry a headline.",
      -              "properties": {
      -                "evidence": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "type": "array"
      -                },
      -                "headline": {
      -                  "type": "string"
      -                },
      -                "what_to_watch": {
      -                  "anyOf": [
      -                    {
      -                      "type": "string"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ],
      -                  "default": null
      -                }
      -              },
      -              "required": [
      -                "headline"
      -              ],
      -              "type": "object"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "default": null
      -        }
      -      },
      -      "type": "object"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null
      -}
    • removedOutput schema / properties / _next_actions
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "items": {
      -        "additionalProperties": true,
      -        "description": "One AI-actionable follow-up call recommendation.",
      -        "properties": {
      -          "args": {
      -            "additionalProperties": true,
      -            "type": "object"
      -          },
      -          "intent": {
      -            "description": "Short intent label, max ~120 chars",
      -            "type": "string"
      -          },
      -          "priority": {
      -            "default": "normal",
      -            "enum": [
      -              "high",
      -              "normal",
      -              "low"
      -            ],
      -            "type": "string"
      -          },
      -          "rationale": {
      -            "default": "",
      -            "description": "Why this is recommended",
      -            "type": "string"
      -          },
      -          "tool": {
      -            "description": "Recommended tool name to invoke next",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "intent",
      -          "tool"
      -        ],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null
      -}
    • removedOutput schema / properties / _value_signals
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "additionalProperties": true,
      -      "description": "Static product/value metadata — same for every response of a tool type.",
      -      "properties": {
      -        "data_freshness_seconds": {
      -          "default": 120,
      -          "type": "integer"
      -        },
      -        "key_signup_url": {
      -          "default": "https://api.oneqaz.com/keys",
      -          "type": "string"
      -        },
      -        "pricing_url": {
      -          "default": "https://api.oneqaz.com/pricing",
      -          "type": "string"
      -        },
      -        "schema_version": {
      -          "default": "1.1",
      -          "type": "string"
      -        },
      -        "self_correcting": {
      -          "default": true,
      -          "type": "boolean"
      -        },
      -        "tier_default": {
      -          "default": "free",
      -          "enum": [
      -            "free",
      -            "pro",
      -            "internal"
      -          ],
      -          "type": "string"
      -        },
      -        "tier_default_limits": {
      -          "additionalProperties": {
      -            "type": "integer"
      -          },
      -          "type": "object"
      -        },
      -        "what_pro_unlocks": {
      -          "default": "33x daily quota (50K), 3.3x burst (200/min) — same tools, higher volume",
      -          "type": "string"
      -        }
      -      },
      -      "type": "object"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null
      -}
    • removedOutput schema / properties / action
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "Recommended client action (error path)"
      -}
    • removedOutput schema / properties / action_value
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null
      -}
    • removedOutput schema / properties / ai_summary
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "One-line AI-oriented summary (success path)"
      -}
    • removedOutput schema / properties / ai_summary_generated_at
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "RFC3339 UTC"
      -}
    • removedOutput schema / properties / ai_summary_ttl_seconds
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "minimum": 0,
      -      "type": "integer"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null
      -}
    • removedOutput schema / properties / error
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "boolean"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "Set true on error responses"
      -}
    • removedOutput schema / properties / error_code
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "Stable error identifier; see mcp_error_policy.md"
      -}
    • removedOutput schema / properties / fallback_note
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null
      -}
    • removedOutput schema / properties / fallback_tool
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "Suggested fallback (error path)"
      -}
    • removedOutput schema / properties / reason
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "Human-readable cause (error path)"
      -}
    • removedOutput schema / properties / retryable
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "boolean"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "Whether the client should retry (error path)"
      -}
    • removedOutput schema / properties / summary_for_user
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "One-line jargon-free Korean summary (success path)"
      -}
  3. Changed3 schema fields changed
    • addedInput schema / properties / limit / description
      Added value: +"Max results (default 10)"
    • addedInput schema / properties / market_id / description
      Added value: +"Market ID (crypto, kr_stock, us_stock; aliases coin/kr/us accepted)"
    • addedInput schema / properties / market_id / enum
      Added value: +[
      +  "crypto",
      +  "kr_stock",
      +  "us_stock"
      +]
  4. Changed1 schema field changed
    • changedOutput schema / properties / _value_signals / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "description": "Static product/value metadata — same for every response of a tool type.",
      -    "properties": {
      -      "data_freshness_seconds": {
      -        "default": 120,
      -        "type": "integer"
      -      },
      -      "key_signup_url": {
      -        "default": "https://api.oneqaz.com/keys",
      -        "type": "string"
      -      },
      -      "pricing_url": {
      -        "default": "https://api.oneqaz.com/pricing",
      -        "type": "string"
      -      },
      -      "schema_version": {
      -        "default": "1.0",
      -        "type": "string"
      -      },
      -      "self_correcting": {
      -        "default": true,
      -        "type": "boolean"
      -      },
      -      "tier_default": {
      -        "default": "free",
      -        "enum": [
      -          "free",
      -          "pro",
      -          "internal"
      -        ],
      -        "type": "string"
      -      },
      -      "tier_default_limits": {
      -        "additionalProperties": {
      -          "type": "integer"
      -        },
      -        "type": "object"
      -      },
      -      "what_pro_unlocks": {
      -        "default": "33x daily quota (50K), 3.3x burst (200/min) — same tools, higher volume",
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": true,
      +    "description": "Static product/value metadata — same for every response of a tool type.",
      +    "properties": {
      +      "data_freshness_seconds": {
      +        "default": 120,
      +        "type": "integer"
      +      },
      +      "key_signup_url": {
      +        "default": "https://api.oneqaz.com/keys",
      +        "type": "string"
      +      },
      +      "pricing_url": {
      +        "default": "https://api.oneqaz.com/pricing",
      +        "type": "string"
      +      },
      +      "schema_version": {
      +        "default": "1.1",
      +        "type": "string"
      +      },
      +      "self_correcting": {
      +        "default": true,
      +        "type": "boolean"
      +      },
      +      "tier_default": {
      +        "default": "free",
      +        "enum": [
      +          "free",
      +          "pro",
      +          "internal"
      +        ],
      +        "type": "string"
      +      },
      +      "tier_default_limits": {
      +        "additionalProperties": {
      +          "type": "integer"
      +        },
      +        "type": "object"
      +      },
      +      "what_pro_unlocks": {
      +        "default": "33x daily quota (50K), 3.3x burst (200/min) — same tools, higher volume",
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  5. Changed2 schema fields changed
    • addedOutput schema / properties
      Added value: +{
      +  "_followup_questions_for_user": {
      +    "anyOf": [
      +      {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null
      +  },
      +  "_llm_summary": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null
      +  },
      +  "_market_state_narrative": {
      +    "anyOf": [
      +      {
      +        "additionalProperties": true,
      +        "description": "Wrapper for `_market_state_narrative` — bilingual + provenance.",
      +        "properties": {
      +          "_source": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": null
      +          },
      +          "en": {
      +            "anyOf": [
      +              {
      +                "additionalProperties": true,
      +                "description": "Bilingual narrative — one of {ko, en} must carry a headline.",
      +                "properties": {
      +                  "evidence": {
      +                    "items": {
      +                      "type": "string"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "headline": {
      +                    "type": "string"
      +                  },
      +                  "what_to_watch": {
      +                    "anyOf": [
      +                      {
      +                        "type": "string"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ],
      +                    "default": null
      +                  }
      +                },
      +                "required": [
      +                  "headline"
      +                ],
      +                "type": "object"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": null
      +          },
      +          "ko": {
      +            "anyOf": [
      +              {
      +                "additionalProperties": true,
      +                "description": "Bilingual narrative — one of {ko, en} must carry a headline.",
      +                "properties": {
      +                  "evidence": {
      +                    "items": {
      +                      "type": "string"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "headline": {
      +                    "type": "string"
      +                  },
      +                  "what_to_watch": {
      +                    "anyOf": [
      +                      {
      +                        "type": "string"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ],
      +                    "default": null
      +                  }
      +                },
      +                "required": [
      +                  "headline"
      +                ],
      +                "type": "object"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "default": null
      +          }
      +        },
      +        "type": "object"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null
      +  },
      +  "_next_actions": {
      +    "anyOf": [
      +      {
      +        "items": {
      +          "additionalProperties": true,
      +          "description": "One AI-actionable follow-up call recommendation.",
      +          "properties": {
      +            "args": {
      +              "additionalProperties": true,
      +              "type": "object"
      +            },
      +            "intent": {
      +              "description": "Short intent label, max ~120 chars",
      +              "type": "string"
      +            },
      +            "priority": {
      +              "default": "normal",
      +              "enum": [
      +                "high",
      +                "normal",
      +                "low"
      +              ],
      +              "type": "string"
      +            },
      +            "rationale": {
      +              "default": "",
      +              "description": "Why this is recommended",
      +              "type": "string"
      +            },
      +            "tool": {
      +              "description": "Recommended tool name to invoke next",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "intent",
      +            "tool"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null
      +  },
      +  "_value_signals": {
      +    "anyOf": [
      +      {
      +        "additionalProperties": true,
      +        "description": "Static product/value metadata — same for every response of a tool type.",
      +        "properties": {
      +          "data_freshness_seconds": {
      +            "default": 120,
      +            "type": "integer"
      +          },
      +          "key_signup_url": {
      +            "default": "https://api.oneqaz.com/keys",
      +            "type": "string"
      +          },
      +          "pricing_url": {
      +            "default": "https://api.oneqaz.com/pricing",
      +            "type": "string"
      +          },
      +          "schema_version": {
      +            "default": "1.0",
      +            "type": "string"
      +          },
      +          "self_correcting": {
      +            "default": true,
      +            "type": "boolean"
      +          },
      +          "tier_default": {
      +            "default": "free",
      +            "enum": [
      +              "free",
      +              "pro",
      +              "internal"
      +            ],
      +            "type": "string"
      +          },
      +          "tier_default_limits": {
      +            "additionalProperties": {
      +              "type": "integer"
      +            },
      +            "type": "object"
      +          },
      +          "what_pro_unlocks": {
      +            "default": "33x daily quota (50K), 3.3x burst (200/min) — same tools, higher volume",
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null
      +  },
      +  "action": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null,
      +    "description": "Recommended client action (error path)"
      +  },
      +  "action_value": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null
      +  },
      +  "ai_summary": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null,
      +    "description": "One-line AI-oriented summary (success path)"
      +  },
      +  "ai_summary_generated_at": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null,
      +    "description": "RFC3339 UTC"
      +  },
      +  "ai_summary_ttl_seconds": {
      +    "anyOf": [
      +      {
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null
      +  },
      +  "data_classification": {
      +    "anyOf": [
      +      {
      +        "const": "research_information_only",
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null
      +  },
      +  "disclaimer": {
      +    "description": "Canonical compliance disclaimer (always present)",
      +    "type": "string"
      +  },
      +  "error": {
      +    "anyOf": [
      +      {
      +        "type": "boolean"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null,
      +    "description": "Set true on error responses"
      +  },
      +  "error_code": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null,
      +    "description": "Stable error identifier; see mcp_error_policy.md"
      +  },
      +  "fallback_note": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null
      +  },
      +  "fallback_tool": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null,
      +    "description": "Suggested fallback (error path)"
      +  },
      +  "full_data": {
      +    "anyOf": [
      +      {
      +        "additionalProperties": true,
      +        "description": "`full_data` for get_trade_history.",
      +        "properties": {
      +          "filters": {
      +            "additionalProperties": true,
      +            "type": "object"
      +          },
      +          "market_id": {
      +            "type": "string"
      +          },
      +          "stats": {
      +            "additionalProperties": true,
      +            "properties": {
      +              "avg_pnl": {
      +                "type": "number"
      +              },
      +              "losses": {
      +                "type": "integer"
      +              },
      +              "total_pnl": {
      +                "type": "number"
      +              },
      +              "total_trades": {
      +                "type": "integer"
      +              },
      +              "win_rate": {
      +                "type": "number"
      +              },
      +              "wins": {
      +                "type": "integer"
      +              }
      +            },
      +            "required": [
      +              "total_trades",
      +              "wins",
      +              "losses",
      +              "win_rate",
      +              "total_pnl",
      +              "avg_pnl"
      +            ],
      +            "type": "object"
      +          },
      +          "trades": {
      +            "items": {
      +              "additionalProperties": true,
      +              "properties": {
      +                "action": {
      +                  "anyOf": [
      +                    {
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "default": null
      +                },
      +                "ai_score": {
      +                  "anyOf": [
      +                    {
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "default": null
      +                },
      +                "entry_price": {
      +                  "anyOf": [
      +                    {
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "default": null
      +                },
      +                "entry_timestamp": {
      +                  "anyOf": [
      +                    {
      +                      "type": "integer"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "default": null
      +                },
      +                "exit_price": {
      +                  "anyOf": [
      +                    {
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "default": null
      +                },
      +                "exit_timestamp": {
      +                  "anyOf": [
      +                    {
      +                      "type": "integer"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "default": null
      +                },
      +                "holding_duration": {
      +                  "anyOf": [
      +                    {
      +                      "type": "integer"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "default": null
      +                },
      +                "profit_loss_pct": {
      +                  "anyOf": [
      +                    {
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "default": null
      +                },
      +                "signal_pattern": {
      +                  "anyOf": [
      +                    {
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "default": null
      +                },
      +                "symbol": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "symbol"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          }
      +        },
      +        "required": [
      +          "market_id",
      +          "stats"
      +        ],
      +        "type": "object"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null
      +  },
      +  "is_investment_advice": {
      +    "anyOf": [
      +      {
      +        "const": false,
      +        "type": "boolean"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null
      +  },
      +  "is_real_money": {
      +    "anyOf": [
      +      {
      +        "const": false,
      +        "type": "boolean"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null
      +  },
      +  "reason": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null,
      +    "description": "Human-readable cause (error path)"
      +  },
      +  "request_id": {
      +    "description": "32-hex per-response correlation id",
      +    "type": "string"
      +  },
      +  "retryable": {
      +    "anyOf": [
      +      {
      +        "type": "boolean"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null,
      +    "description": "Whether the client should retry (error path)"
      +  },
      +  "summary_for_user": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null,
      +    "description": "One-line jargon-free Korean summary (success path)"
      +  },
      +  "timestamp": {
      +    "description": "RFC3339 UTC, server build time",
      +    "type": "string"
      +  }
      +}
    • addedOutput schema / required
      Added value: +[
      +  "disclaimer",
      +  "request_id",
      +  "timestamp"
      +]
  6. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and open-world behavior. The description adds useful context: paper-trading data only, winning-only filtering, and wrapper semantics. It does not detail auth or rate limits, but output schema 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 purpose is front-loaded and the description is organized with clear labels. Trigger examples add intent-matching value, though the list format is slightly verbose relative to the very simple two-parameter tool.

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 simple read-only filtered list tool, the description supplies purpose, triggers, prerequisites, next steps, and a caveat, while the schema and output schema cover inputs and outputs. 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.

Parameters3/5

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

Schema coverage is 100%, and both market_id and limit are fully documented in the schema. The description does not add syntax or meaning to those parameters beyond the winning filter threshold, so the baseline 3 applies.

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?

States a specific resource and scope: winning paper trades with P&L > 0. It also identifies itself as a convenience wrapper around get_trade_history(min_pnl=0.01) and points to analyze_trades for breakdowns, distinguishing it from siblings.

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?

Gives explicit triggers, a when-to-call context ('success-pattern review'), prerequisites, and next steps. It names get_trade_history as the underlying alternative, but lacks an explicit when-not statement, though the winning-only scope implies it.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.