Skip to main content
Glama

Get market indicators

get_market_indicators
Read-onlyIdempotent

Return the latest readings of ten factor indicators and TD Sequential 9 (daily and weekly) for the S&P 500 (SPX), Nasdaq-100 (NDX) and PHLX Semiconductor (SOX) price indices: value, reading, bullish/neutral/bearish signal, the rule's bands and the previous session's value and signal, with each rule's source and its 2005–2026 S&P 500 and Nasdaq-100 evidence. Signals are rule readings, not forecasts; several are contrarian, and SOX implied volatility is Cboe's semiconductor ETF index VXSMH. Five-year histories are at /api/market/indicators.

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "asOf": {
      -        "description": "Latest upstream quote timestamp among the three indices; not necessarily a session close.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "generatedAt": {
      -        "description": "Time this snapshot was calculated; cached responses retain this timestamp.",
      -        "type": "string"
      -      },
      -      "indicators": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "evidence": {
      -              "description": "What followed each state from 2005 to 2026 on the S&P 500 and Nasdaq-100; SOX is untested.",
      -              "type": "string"
      -            },
      -            "family": {
      -              "type": "string"
      -            },
      -            "id": {
      -              "type": "string"
      -            },
      -            "name": {
      -              "type": "string"
      -            },
      -            "readings": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "NDX": {
      -                  "anyOf": [
      -                    {
      -                      "additionalProperties": false,
      -                      "properties": {
      -                        "bands": {
      -                          "additionalProperties": false,
      -                          "description": "Bullish is checked first; any other value is neutral.",
      -                          "properties": {
      -                            "bearish": {
      -                              "anyOf": [
      -                                {
      -                                  "additionalProperties": false,
      -                                  "properties": {
      -                                    "above": {
      -                                      "type": "number"
      -                                    }
      -                                  },
      -                                  "required": [
      -                                    "above"
      -                                  ],
      -                                  "type": "object"
      -                                },
      -                                {
      -                                  "additionalProperties": false,
      -                                  "properties": {
      -                                    "below": {
      -                                      "type": "number"
      -                                    }
      -                                  },
      -                                  "required": [
      -                                    "below"
      -                                  ],
      -                                  "type": "object"
      -                                }
      -                              ],
      -                              "description": "Holds at `above` or higher, or at `below` or lower."
      -                            },
      -                            "bullish": {
      -                              "anyOf": [
      -                                {
      -                                  "additionalProperties": false,
      -                                  "properties": {
      -                                    "above": {
      -                                      "type": "number"
      -                                    }
      -                                  },
      -                                  "required": [
      -                                    "above"
      -                                  ],
      -                                  "type": "object"
      -                                },
      -                                {
      -                                  "additionalProperties": false,
      -                                  "properties": {
      -                                    "below": {
      -                                      "type": "number"
      -                                    }
      -                                  },
      -                                  "required": [
      -                                    "below"
      -                                  ],
      -                                  "type": "object"
      -                                }
      -                              ],
      -                              "description": "Holds at `above` or higher, or at `below` or lower."
      -                            }
      -                          },
      -                          "type": "object"
      -                        },
      -                        "reading": {
      -                          "description": "The value in words, as shown on /indicators.",
      -                          "type": "string"
      -                        },
      -                        "signal": {
      -                          "enum": [
      -                            "bullish",
      -                            "neutral",
      -                            "bearish"
      -                          ],
      -                          "type": "string"
      -                        },
      -                        "value": {
      -                          "description": "The quantity the bands test; a fraction when unit is percent (0.05 is 5%).",
      -                          "type": "number"
      -                        }
      -                      },
      -                      "required": [
      -                        "value",
      -                        "reading",
      -                        "signal",
      -                        "bands"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ],
      -                  "description": "Null when a series the rule needs is missing, e.g. implied volatility for SOX."
      -                },
      -                "SOX": {
      -                  "anyOf": [
      -                    {
      -                      "additionalProperties": false,
      -                      "properties": {
      -                        "bands": {
      -                          "additionalProperties": false,
      -                          "description": "Bullish is checked first; any other value is neutral.",
      -                          "properties": {
      -                            "bearish": {
      -                              "anyOf": [
      -                                {
      -                                  "additionalProperties": false,
      -                                  "properties": {
      -                                    "above": {
      -                                      "type": "number"
      -                                    }
      -                                  },
      -                                  "required": [
      -                                    "above"
      -                                  ],
      -                                  "type": "object"
      -                                },
      -                                {
      -                                  "additionalProperties": false,
      -                                  "properties": {
      -                                    "below": {
      -                                      "type": "number"
      -                                    }
      -                                  },
      -                                  "required": [
      -                                    "below"
      -                                  ],
      -                                  "type": "object"
      -                                }
      -                              ],
      -                              "description": "Holds at `above` or higher, or at `below` or lower."
      -                            },
      -                            "bullish": {
      -                              "anyOf": [
      -                                {
      -                                  "additionalProperties": false,
      -                                  "properties": {
      -                                    "above": {
      -                                      "type": "number"
      -                                    }
      -                                  },
      -                                  "required": [
      -                                    "above"
      -                                  ],
      -                                  "type": "object"
      -                                },
      -                                {
      -                                  "additionalProperties": false,
      -                                  "properties": {
      -                                    "below": {
      -                                      "type": "number"
      -                                    }
      -                                  },
      -                                  "required": [
      -                                    "below"
      -                                  ],
      -                                  "type": "object"
      -                                }
      -                              ],
      -                              "description": "Holds at `above` or higher, or at `below` or lower."
      -                            }
      -                          },
      -                          "type": "object"
      -                        },
      -                        "reading": {
      -                          "description": "The value in words, as shown on /indicators.",
      -                          "type": "string"
      -                        },
      -                        "signal": {
      -                          "enum": [
      -                            "bullish",
      -                            "neutral",
      -                            "bearish"
      -                          ],
      -                          "type": "string"
      -                        },
      -                        "value": {
      -                          "description": "The quantity the bands test; a fraction when unit is percent (0.05 is 5%).",
      -                          "type": "number"
      -                        }
      -                      },
      -                      "required": [
      -                        "value",
      -                        "reading",
      -                        "signal",
      -                        "bands"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ],
      -                  "description": "Null when a series the rule needs is missing, e.g. implied volatility for SOX."
      -                },
      -                "SPX": {
      -                  "anyOf": [
      -                    {
      -                      "additionalProperties": false,
      -                      "properties": {
      -                        "bands": {
      -                          "additionalProperties": false,
      -                          "description": "Bullish is checked first; any other value is neutral.",
      -                          "properties": {
      -                            "bearish": {
      -                              "anyOf": [
      -                                {
      -                                  "additionalProperties": false,
      -                                  "properties": {
      -                                    "above": {
      -                                      "type": "number"
      -                                    }
      -                                  },
      -                                  "required": [
      -                                    "above"
      -                                  ],
      -                                  "type": "object"
      -                                },
      -                                {
      -                                  "additionalProperties": false,
      -                                  "properties": {
      -                                    "below": {
      -                                      "type": "number"
      -                                    }
      -                                  },
      -                                  "required": [
      -                                    "below"
      -                                  ],
      -                                  "type": "object"
      -                                }
      -                              ],
      -                              "description": "Holds at `above` or higher, or at `below` or lower."
      -                            },
      -                            "bullish": {
      -                              "anyOf": [
      -                                {
      -                                  "additionalProperties": false,
      -                                  "properties": {
      -                                    "above": {
      -                                      "type": "number"
      -                                    }
      -                                  },
      -                                  "required": [
      -                                    "above"
      -                                  ],
      -                                  "type": "object"
      -                                },
      -                                {
      -                                  "additionalProperties": false,
      -                                  "properties": {
      -                                    "below": {
      -                                      "type": "number"
      -                                    }
      -                                  },
      -                                  "required": [
      -                                    "below"
      -                                  ],
      -                                  "type": "object"
      -                                }
      -                              ],
      -                              "description": "Holds at `above` or higher, or at `below` or lower."
      -                            }
      -                          },
      -                          "type": "object"
      -                        },
      -                        "reading": {
      -                          "description": "The value in words, as shown on /indicators.",
      -                          "type": "string"
      -                        },
      -                        "signal": {
      -                          "enum": [
      -                            "bullish",
      -                            "neutral",
      -                            "bearish"
      -                          ],
      -                          "type": "string"
      -                        },
      -                        "value": {
      -                          "description": "The quantity the bands test; a fraction when unit is percent (0.05 is 5%).",
      -                          "type": "number"
      -                        }
      -                      },
      -                      "required": [
      -                        "value",
      -                        "reading",
      -                        "signal",
      -                        "bands"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ],
      -                  "description": "Null when a series the rule needs is missing, e.g. implied volatility for SOX."
      -                }
      -              },
      -              "required": [
      -                "SPX",
      -                "NDX",
      -                "SOX"
      -              ],
      -              "type": "object"
      -            },
      -            "rule": {
      -              "type": "string"
      -            },
      -            "source": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "label": {
      -                  "type": "string"
      -                },
      -                "url": {
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                }
      -              },
      -              "required": [
      -                "label",
      -                "url"
      -              ],
      -              "type": "object"
      -            },
      -            "unit": {
      -              "enum": [
      -                "percent",
      -                "number"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "id",
      -            "name",
      -            "family",
      -            "unit",
      -            "rule",
      -            "source",
      -            "evidence",
      -            "readings"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "indices": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "close": {
      -              "description": "Price-only index level on that session; no dividends.",
      -              "type": "number"
      -            },
      -            "date": {
      -              "description": "Latest trading session read, which can still be open.",
      -              "type": "string"
      -            },
      -            "name": {
      -              "type": "string"
      -            },
      -            "symbol": {
      -              "enum": [
      -                "SPX",
      -                "NDX",
      -                "SOX"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "symbol",
      -            "name",
      -            "date",
      -            "close"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "generatedAt",
      -      "asOf",
      -      "indices",
      -      "indicators"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "error"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "asOf": {
      +        "description": "Latest upstream quote timestamp among the three indices; not necessarily a session close.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "generatedAt": {
      +        "description": "Time this snapshot was calculated; cached responses retain this timestamp.",
      +        "type": "string"
      +      },
      +      "indicators": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "evidence": {
      +              "description": "What followed each state from 2005 to 2026 on the S&P 500 and Nasdaq-100; SOX is untested.",
      +              "type": "string"
      +            },
      +            "family": {
      +              "type": "string"
      +            },
      +            "id": {
      +              "type": "string"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "readings": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "NDX": {
      +                  "anyOf": [
      +                    {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "bands": {
      +                          "additionalProperties": false,
      +                          "description": "Bullish is checked first; any other value is neutral.",
      +                          "properties": {
      +                            "bearish": {
      +                              "anyOf": [
      +                                {
      +                                  "additionalProperties": false,
      +                                  "properties": {
      +                                    "above": {
      +                                      "type": "number"
      +                                    }
      +                                  },
      +                                  "required": [
      +                                    "above"
      +                                  ],
      +                                  "type": "object"
      +                                },
      +                                {
      +                                  "additionalProperties": false,
      +                                  "properties": {
      +                                    "below": {
      +                                      "type": "number"
      +                                    }
      +                                  },
      +                                  "required": [
      +                                    "below"
      +                                  ],
      +                                  "type": "object"
      +                                }
      +                              ],
      +                              "description": "Holds at `above` or higher, or at `below` or lower."
      +                            },
      +                            "bullish": {
      +                              "anyOf": [
      +                                {
      +                                  "additionalProperties": false,
      +                                  "properties": {
      +                                    "above": {
      +                                      "type": "number"
      +                                    }
      +                                  },
      +                                  "required": [
      +                                    "above"
      +                                  ],
      +                                  "type": "object"
      +                                },
      +                                {
      +                                  "additionalProperties": false,
      +                                  "properties": {
      +                                    "below": {
      +                                      "type": "number"
      +                                    }
      +                                  },
      +                                  "required": [
      +                                    "below"
      +                                  ],
      +                                  "type": "object"
      +                                }
      +                              ],
      +                              "description": "Holds at `above` or higher, or at `below` or lower."
      +                            }
      +                          },
      +                          "type": "object"
      +                        },
      +                        "previous": {
      +                          "anyOf": [
      +                            {
      +                              "additionalProperties": false,
      +                              "properties": {
      +                                "date": {
      +                                  "description": "The session before the latest.",
      +                                  "type": "string"
      +                                },
      +                                "signal": {
      +                                  "enum": [
      +                                    "bullish",
      +                                    "neutral",
      +                                    "bearish"
      +                                  ],
      +                                  "type": "string"
      +                                },
      +                                "value": {
      +                                  "type": "number"
      +                                }
      +                              },
      +                              "required": [
      +                                "date",
      +                                "value",
      +                                "signal"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ],
      +                          "description": "The previous session's value and signal under the same bands; null when that session has no reading."
      +                        },
      +                        "reading": {
      +                          "description": "The value in words, as shown on /indicators.",
      +                          "type": "string"
      +                        },
      +                        "signal": {
      +                          "enum": [
      +                            "bullish",
      +                            "neutral",
      +                            "bearish"
      +                          ],
      +                          "type": "string"
      +                        },
      +                        "value": {
      +                          "description": "The quantity the bands test; a fraction when unit is percent (0.05 is 5%).",
      +                          "type": "number"
      +                        }
      +                      },
      +                      "required": [
      +                        "value",
      +                        "reading",
      +                        "signal",
      +                        "bands",
      +                        "previous"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "description": "Null when a series the rule needs is missing, e.g. implied volatility for SOX."
      +                },
      +                "SOX": {
      +                  "anyOf": [
      +                    {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "bands": {
      +                          "additionalProperties": false,
      +                          "description": "Bullish is checked first; any other value is neutral.",
      +                          "properties": {
      +                            "bearish": {
      +                              "anyOf": [
      +                                {
      +                                  "additionalProperties": false,
      +                                  "properties": {
      +                                    "above": {
      +                                      "type": "number"
      +                                    }
      +                                  },
      +                                  "required": [
      +                                    "above"
      +                                  ],
      +                                  "type": "object"
      +                                },
      +                                {
      +                                  "additionalProperties": false,
      +                                  "properties": {
      +                                    "below": {
      +                                      "type": "number"
      +                                    }
      +                                  },
      +                                  "required": [
      +                                    "below"
      +                                  ],
      +                                  "type": "object"
      +                                }
      +                              ],
      +                              "description": "Holds at `above` or higher, or at `below` or lower."
      +                            },
      +                            "bullish": {
      +                              "anyOf": [
      +                                {
      +                                  "additionalProperties": false,
      +                                  "properties": {
      +                                    "above": {
      +                                      "type": "number"
      +                                    }
      +                                  },
      +                                  "required": [
      +                                    "above"
      +                                  ],
      +                                  "type": "object"
      +                                },
      +                                {
      +                                  "additionalProperties": false,
      +                                  "properties": {
      +                                    "below": {
      +                                      "type": "number"
      +                                    }
      +                                  },
      +                                  "required": [
      +                                    "below"
      +                                  ],
      +                                  "type": "object"
      +                                }
      +                              ],
      +                              "description": "Holds at `above` or higher, or at `below` or lower."
      +                            }
      +                          },
      +                          "type": "object"
      +                        },
      +                        "previous": {
      +                          "anyOf": [
      +                            {
      +                              "additionalProperties": false,
      +                              "properties": {
      +                                "date": {
      +                                  "description": "The session before the latest.",
      +                                  "type": "string"
      +                                },
      +                                "signal": {
      +                                  "enum": [
      +                                    "bullish",
      +                                    "neutral",
      +                                    "bearish"
      +                                  ],
      +                                  "type": "string"
      +                                },
      +                                "value": {
      +                                  "type": "number"
      +                                }
      +                              },
      +                              "required": [
      +                                "date",
      +                                "value",
      +                                "signal"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ],
      +                          "description": "The previous session's value and signal under the same bands; null when that session has no reading."
      +                        },
      +                        "reading": {
      +                          "description": "The value in words, as shown on /indicators.",
      +                          "type": "string"
      +                        },
      +                        "signal": {
      +                          "enum": [
      +                            "bullish",
      +                            "neutral",
      +                            "bearish"
      +                          ],
      +                          "type": "string"
      +                        },
      +                        "value": {
      +                          "description": "The quantity the bands test; a fraction when unit is percent (0.05 is 5%).",
      +                          "type": "number"
      +                        }
      +                      },
      +                      "required": [
      +                        "value",
      +                        "reading",
      +                        "signal",
      +                        "bands",
      +                        "previous"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "description": "Null when a series the rule needs is missing, e.g. implied volatility for SOX."
      +                },
      +                "SPX": {
      +                  "anyOf": [
      +                    {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "bands": {
      +                          "additionalProperties": false,
      +                          "description": "Bullish is checked first; any other value is neutral.",
      +                          "properties": {
      +                            "bearish": {
      +                              "anyOf": [
      +                                {
      +                                  "additionalProperties": false,
      +                                  "properties": {
      +                                    "above": {
      +                                      "type": "number"
      +                                    }
      +                                  },
      +                                  "required": [
      +                                    "above"
      +                                  ],
      +                                  "type": "object"
      +                                },
      +                                {
      +                                  "additionalProperties": false,
      +                                  "properties": {
      +                                    "below": {
      +                                      "type": "number"
      +                                    }
      +                                  },
      +                                  "required": [
      +                                    "below"
      +                                  ],
      +                                  "type": "object"
      +                                }
      +                              ],
      +                              "description": "Holds at `above` or higher, or at `below` or lower."
      +                            },
      +                            "bullish": {
      +                              "anyOf": [
      +                                {
      +                                  "additionalProperties": false,
      +                                  "properties": {
      +                                    "above": {
      +                                      "type": "number"
      +                                    }
      +                                  },
      +                                  "required": [
      +                                    "above"
      +                                  ],
      +                                  "type": "object"
      +                                },
      +                                {
      +                                  "additionalProperties": false,
      +                                  "properties": {
      +                                    "below": {
      +                                      "type": "number"
      +                                    }
      +                                  },
      +                                  "required": [
      +                                    "below"
      +                                  ],
      +                                  "type": "object"
      +                                }
      +                              ],
      +                              "description": "Holds at `above` or higher, or at `below` or lower."
      +                            }
      +                          },
      +                          "type": "object"
      +                        },
      +                        "previous": {
      +                          "anyOf": [
      +                            {
      +                              "additionalProperties": false,
      +                              "properties": {
      +                                "date": {
      +                                  "description": "The session before the latest.",
      +                                  "type": "string"
      +                                },
      +                                "signal": {
      +                                  "enum": [
      +                                    "bullish",
      +                                    "neutral",
      +                                    "bearish"
      +                                  ],
      +                                  "type": "string"
      +                                },
      +                                "value": {
      +                                  "type": "number"
      +                                }
      +                              },
      +                              "required": [
      +                                "date",
      +                                "value",
      +                                "signal"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            {
      +                              "type": "null"
      +                            }
      +                          ],
      +                          "description": "The previous session's value and signal under the same bands; null when that session has no reading."
      +                        },
      +                        "reading": {
      +                          "description": "The value in words, as shown on /indicators.",
      +                          "type": "string"
      +                        },
      +                        "signal": {
      +                          "enum": [
      +                            "bullish",
      +                            "neutral",
      +                            "bearish"
      +                          ],
      +                          "type": "string"
      +                        },
      +                        "value": {
      +                          "description": "The quantity the bands test; a fraction when unit is percent (0.05 is 5%).",
      +                          "type": "number"
      +                        }
      +                      },
      +                      "required": [
      +                        "value",
      +                        "reading",
      +                        "signal",
      +                        "bands",
      +                        "previous"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "description": "Null when a series the rule needs is missing, e.g. implied volatility for SOX."
      +                }
      +              },
      +              "required": [
      +                "SPX",
      +                "NDX",
      +                "SOX"
      +              ],
      +              "type": "object"
      +            },
      +            "rule": {
      +              "type": "string"
      +            },
      +            "source": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "label": {
      +                  "type": "string"
      +                },
      +                "url": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "label",
      +                "url"
      +              ],
      +              "type": "object"
      +            },
      +            "unit": {
      +              "enum": [
      +                "percent",
      +                "number"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "id",
      +            "name",
      +            "family",
      +            "unit",
      +            "rule",
      +            "source",
      +            "evidence",
      +            "readings"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "indices": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "close": {
      +              "description": "Price-only index level on that session; no dividends.",
      +              "type": "number"
      +            },
      +            "date": {
      +              "description": "Latest trading session read, which can still be open.",
      +              "type": "string"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "symbol": {
      +              "enum": [
      +                "SPX",
      +                "NDX",
      +                "SOX"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "symbol",
      +            "name",
      +            "date",
      +            "close"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "generatedAt",
      +      "asOf",
      +      "indices",
      +      "indicators"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Added

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds meaningful behavioral context beyond annotations: signals are 'rule readings, not forecasts,' several are 'contrarian,' and SOX implied volatility refers to Cboe's VXSMH index. This helps prevent misinterpretation of the returned signals.

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

Conciseness4/5

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

The description is dense but front-loads what the tool returns before adding caveats about interpretation and sourcing. It contains no obvious filler, though the long first sentence packs many concepts and could be slightly easier to parse if broken up.

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

Completeness4/5

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

An output schema exists, so the description does not need to enumerate every return field. It still complements the schema by naming the covered indices, signal categories, historical evidence, and interpretation caveats. Given the tool's complexity, this is largely complete.

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?

The tool has zero parameters, so there are no parameter semantics to explain. The schema naturally covers this fully, and the description appropriately focuses on output content rather than nonexistent inputs.

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

Purpose4/5

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

The description states a specific verb and resource: 'Return the latest readings of ten factor indicators and TD Sequential 9' for three named indices. The scope is clear enough to distinguish index-level indicators from ticker-level or breadth tools, but it does not explicitly name or contrast with siblings such as get_market_breadth or get_ticker_indicators.

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

Usage Guidelines3/5

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

The description implies usage for monitoring S&P 500, Nasdaq-100, and SOX indicators, and it points to '/api/market/indicators' for five-year histories. However, it does not explicitly state when to choose this tool over sibling market tools or when not to use 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.

Resources