Skip to main content
Glama

OneQAZ Trading Intelligence

Trading Signals

get_signals
Read-onlyIdempotent

Purpose: Query research signals with dynamic filters (symbol / interval / action / score / confidence). Triggers (casual questions too): "should I buy / sell X?", "살까 말까?", "good entry?", "what's the signal for BTC / AAPL / 삼성전자?", "is X bullish or bearish?", "any buy signals right now?". Returns a research signal + score (NOT an order or advice — always surface the disclaimer). Pair with get_latest_decisions to show what the system did. When to call: drilling into a specific signal slice; symbol-by-symbol scanning; any "should I trade X?" question about a live symbol. Prerequisites: market://{market_id}/signals/summary recommended for global view. Next steps: get_signal_detail, get_role_analysis. Caveats: When symbol/coin is omitted, the whole market is scanned in one consolidated query (2 newest rows per symbol, newest-first scan cap per interval). Results are capped: check truncated / truncated_note before reading the set as "the whole market". Fields that are identical across every returned row are hoisted into common and omitted from the rows (see common_note); a row-level key, when present, wins over common. warnings carries only the flags that are true and is omitted entirely when none are. reason_uncalibrated: true on a row points at the response-level reason_uncalibrated_note.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
coinNoLegacy alias of symbol (kept for backward compatibility)
limitNoMax results (default 50, max 500; values outside the range are clamped)
symbolNoAsset identifier to query (preferred; optional — targets a specific symbol DB)
intervalNoTimeframe filter (15m, 30m, 240m, 1d, combined)
market_idYesMarket ID (crypto, kr_stock, us_stock; aliases coin/kr/us accepted)
min_scoreNoMinimum signal score threshold
hours_backNoOnly signals within last N hours (default 24)
action_filterNoAction filter (buy, sell, hold)
min_confidenceNoMinimum confidence threshold

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. Changed1 schema field changed
    • changedOutput schema / properties / full_data / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "description": "`full_data` for get_signals.",
      -    "properties": {
      -      "common": {
      -        "additionalProperties": true,
      -        "type": "object"
      -      },
      -      "filters": {
      -        "additionalProperties": true,
      -        "type": "object"
      -      },
      -      "limit": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "market_id": {
      -        "type": "string"
      -      },
      -      "returned": {
      -        "anyOf": [
      -          {
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "signals": {
      -        "items": {
      -          "additionalProperties": true,
      -          "properties": {
      -            "action": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "confidence": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "interval": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "market_id": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "price": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "reason_uncalibrated": {
      -              "anyOf": [
      -                {
      -                  "type": "boolean"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "signal_score": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "symbol": {
      -              "type": "string"
      -            },
      -            "timestamp": {
      -              "anyOf": [
      -                {
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "warnings": {
      -              "anyOf": [
      -                {
      -                  "additionalProperties": {
      -                    "type": "boolean"
      -                  },
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            }
      -          },
      -          "required": [
      -            "symbol"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "truncated": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      }
      -    },
      -    "required": [
      -      "market_id"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": true,
      +    "description": "`full_data` for get_signals.",
      +    "properties": {
      +      "common": {
      +        "additionalProperties": true,
      +        "type": "object"
      +      },
      +      "filters": {
      +        "additionalProperties": true,
      +        "type": "object"
      +      },
      +      "latest_by_interval": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": true,
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "limit": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "market_id": {
      +        "type": "string"
      +      },
      +      "returned": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "signals": {
      +        "items": {
      +          "additionalProperties": true,
      +          "properties": {
      +            "action": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "confidence": {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "interval": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "market_id": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "price": {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "reason_uncalibrated": {
      +              "anyOf": [
      +                {
      +                  "type": "boolean"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "signal_score": {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "symbol": {
      +              "type": "string"
      +            },
      +            "timestamp": {
      +              "anyOf": [
      +                {
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "warnings": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": {
      +                    "type": "boolean"
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            }
      +          },
      +          "required": [
      +            "symbol"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "truncated": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      }
      +    },
      +    "required": [
      +      "market_id"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. 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)"
      -}
  4. Changed20 schema fields changed
    • addedInput schema / properties / action_filter / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / action_filter / description
      Added value: +"Action filter (buy, sell, hold)"
    • addedInput schema / properties / action_filter / enum
      Added value: +[
      +  "buy",
      +  "sell",
      +  "hold"
      +]
    • removedInput schema / properties / action_filter / type
      Removed value: -"string"
    • addedInput schema / properties / coin / description
      Added value: +"Legacy alias of symbol (kept for backward compatibility)"
    • addedInput schema / properties / hours_back / description
      Added value: +"Only signals within last N hours (default 24)"
    • addedInput schema / properties / interval / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / interval / description
      Added value: +"Timeframe filter (15m, 30m, 240m, 1d, combined)"
    • addedInput schema / properties / interval / enum
      Added value: +[
      +  "5m",
      +  "15m",
      +  "30m",
      +  "240m",
      +  "1d",
      +  "combined"
      +]
    • removedInput schema / properties / interval / type
      Removed value: -"string"
    • addedInput schema / properties / limit / description
      Added value: +"Max results (default 50, max 500; values outside the range are clamped)"
    • 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"
      +]
    • addedInput schema / properties / min_confidence / anyOf
      Added value: +[
      +  {
      +    "type": "number"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / min_confidence / description
      Added value: +"Minimum confidence threshold"
    • removedInput schema / properties / min_confidence / type
      Removed value: -"number"
    • addedInput schema / properties / min_score / anyOf
      Added value: +[
      +  {
      +    "type": "number"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / min_score / description
      Added value: +"Minimum signal score threshold"
    • removedInput schema / properties / min_score / type
      Removed value: -"number"
    • addedInput schema / properties / symbol / description
      Added value: +"Asset identifier to query (preferred; optional — targets a specific symbol DB)"
  5. Changed2 schema fields changed
    • changedInput schema / properties / limit / default
      Previous value: -500New value: +50
    • changedOutput schema / properties / full_data / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "description": "`full_data` for get_signals.",
      -    "properties": {
      -      "filters": {
      -        "additionalProperties": true,
      -        "type": "object"
      -      },
      -      "market_id": {
      -        "type": "string"
      -      },
      -      "signals": {
      -        "items": {
      -          "additionalProperties": true,
      -          "properties": {
      -            "action": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "confidence": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "interval": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "market_id": {
      -              "anyOf": [
      -                {
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "price": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "signal_score": {
      -              "anyOf": [
      -                {
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            },
      -            "symbol": {
      -              "type": "string"
      -            },
      -            "timestamp": {
      -              "anyOf": [
      -                {
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "default": null
      -            }
      -          },
      -          "required": [
      -            "symbol"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "market_id"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": true,
      +    "description": "`full_data` for get_signals.",
      +    "properties": {
      +      "common": {
      +        "additionalProperties": true,
      +        "type": "object"
      +      },
      +      "filters": {
      +        "additionalProperties": true,
      +        "type": "object"
      +      },
      +      "limit": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "market_id": {
      +        "type": "string"
      +      },
      +      "returned": {
      +        "anyOf": [
      +          {
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "signals": {
      +        "items": {
      +          "additionalProperties": true,
      +          "properties": {
      +            "action": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "confidence": {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "interval": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "market_id": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "price": {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "reason_uncalibrated": {
      +              "anyOf": [
      +                {
      +                  "type": "boolean"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "signal_score": {
      +              "anyOf": [
      +                {
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "symbol": {
      +              "type": "string"
      +            },
      +            "timestamp": {
      +              "anyOf": [
      +                {
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            },
      +            "warnings": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": {
      +                    "type": "boolean"
      +                  },
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "default": null
      +            }
      +          },
      +          "required": [
      +            "symbol"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "truncated": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      }
      +    },
      +    "required": [
      +      "market_id"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  6. 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"
      +  }
      +]
  7. Changed4 schema fields changed
    • addedInput schema / properties / coin / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / coin / type
      Removed value: -"string"
    • addedInput schema / properties / symbol
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • 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://oneqaz.com/keys",
      -        "type": "string"
      -      },
      -      "pricing_url": {
      -        "default": "https://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.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"
      +  }
      +]
  8. 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://oneqaz.com/keys",
      +            "type": "string"
      +          },
      +          "pricing_url": {
      +            "default": "https://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_signals.",
      +        "properties": {
      +          "filters": {
      +            "additionalProperties": true,
      +            "type": "object"
      +          },
      +          "market_id": {
      +            "type": "string"
      +          },
      +          "signals": {
      +            "items": {
      +              "additionalProperties": true,
      +              "properties": {
      +                "action": {
      +                  "anyOf": [
      +                    {
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "default": null
      +                },
      +                "confidence": {
      +                  "anyOf": [
      +                    {
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "default": null
      +                },
      +                "interval": {
      +                  "anyOf": [
      +                    {
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "default": null
      +                },
      +                "market_id": {
      +                  "anyOf": [
      +                    {
      +                      "type": "string"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "default": null
      +                },
      +                "price": {
      +                  "anyOf": [
      +                    {
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "default": null
      +                },
      +                "signal_score": {
      +                  "anyOf": [
      +                    {
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "default": null
      +                },
      +                "symbol": {
      +                  "type": "string"
      +                },
      +                "timestamp": {
      +                  "anyOf": [
      +                    {
      +                      "type": "integer"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "default": null
      +                }
      +              },
      +              "required": [
      +                "symbol"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          }
      +        },
      +        "required": [
      +          "market_id"
      +        ],
      +        "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"
      +]
  9. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare read-only/open-world/idempotent, but the description adds substantial behavior an agent cannot get elsewhere: omitted-symbol semantics (whole-market scan, 2 newest rows per symbol), result capping with `truncated`/`truncated_note` to check, `common` hoisting with row-level precedence, `warnings` omission-when-empty, and `reason_uncalibrated` handling. It also warns the output is research, not advice/order, and to surface the disclaimer.

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?

Front-loaded with 'Purpose:' and clearly labeled Trigger/When/Prerequisites/Next steps/Caveats sections, so navigation is easy. The trigger list is dense and somewhat verbose, but the length is largely justified by 9 parameters, nested response behavior, and an output schema with non-obvious semantics.

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?

Given an output schema exists, the description need not document return fields, yet it still explains the response's non-obvious envelope (`common`, `warnings`, `truncated`, `reason_uncalibrated`). Combined with prerequisites, next steps, and the advice disclaimer, nothing an agent needs to call or interpret this tool correctly is missing.

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 goes beyond by explaining the behavioral consequence of omitting `symbol`/`coin` (legacy alias) and the scan/cap semantics, which the per-parameter schema strings do not convey. Minor gap: no added guidance on `limit` beyond clamping, already stated in schema.

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?

Opens with a specific verb+resource+filter set ('Query research signals with dynamic filters (symbol / interval / action / score / confidence)') and explicitly differentiates roles by naming get_latest_decisions, get_signal_detail, and get_role_analysis as follow-ons. An agent can tell this apart from the many signal/decision siblings without opening any schema.

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

Usage Guidelines5/5

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

Provides explicit triggers including natural-language examples, a dedicated 'When to call' section ('drilling into a specific signal slice; symbol-by-symbol scanning'), a prerequisite for the global view, and next-step tools. When-to-use and how-it-relates-to-alternatives are both covered.

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.