Skip to main content
Glama
longbridge

longbridge

Official

Signals

signals
Read-onlyIdempotent

Retrieve strategy signals for securities, filtered by symbol, strategy, catalyst, and time range, with pagination support.

Instructions

Query strategy signals — a strategy's take on a security, triggered by a catalyst. Filter by symbol, strategy, catalyst and time range; page with limit/offset. The full strategy analysis is omitted here — fetch it with signal_detail.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
_jqNoOptional jq filter (jaq syntax) applied to this tool's JSON response before it is returned; it never changes the upstream request. One output is returned as-is, several as a JSON array, none as []. Module imports and the `env`/`debug`/`stderr` builtins are unavailable. Example: .data | map({symbol}). Omit for the full response.
limitNoMaximum number of results to return. Defaults to 20.
offsetNoNumber of results to skip for pagination. Defaults to 0.
end_timeNoFilter records created at or before this time. ISO 8601 datetime with timezone. If omitted, no upper bound.
start_timeNoFilter records created at or after this time. ISO 8601 datetime with timezone, e.g. 2024-01-15T10:30:00Z. If omitted, no lower bound.
strategy_idNoFilter by strategy id (e.g., "buffett-value"). Preferred over the deprecated strategy_name; takes precedence when both are provided.
symbol_nameNoFilter by security symbol, e.g. "AAPL.US" or "700.HK". If omitted, returns signals for all symbols.
catalyst_nameNoFilter by the name of the factor that triggered the signal, e.g. "EARNINGS_RELEASED" or "macd_12_26_9" — not the display label returned in key_catalyst. If omitted, signals with any catalyst name are returned.
catalyst_typeNoFilter by the catalyst type that triggered the signal, e.g. "News", "Fundamental", "Technical". If omitted, signals with any catalyst type are returned.
strategy_nameNoFilter by strategy name. If omitted, returns signals from all strategies.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.12.0
    • addedInput schema / properties / _jq / description
      Added value: +"Optional jq filter (jaq syntax) applied to this tool's JSON response before it is returned; it never changes the upstream request. One output is returned as-is, several as a JSON array, none as []. Module imports and the `env`/`debug`/`stderr` builtins are unavailable. Example: .data | map({symbol}). Omit for the full response."
    • removedInput schema / properties / limit / format
      Removed value: -"int32"
    • removedInput schema / properties / offset / format
      Removed value: -"int32"
  2. Changed2 schema fields changedv0.10.6
    • addedInput schema / properties / _jq
      Added value: +{
      +  "type": "string"
      +}
    • changedOutput schema / (root)
      Previous value: -{
      -  "$defs": {
      -    "SignalItem": {
      -      "properties": {
      -        "analysis": {},
      -        "analysis_price": {
      -          "format": "double",
      -          "type": "number"
      -        },
      -        "benchmark_price": {
      -          "format": "double",
      -          "type": "number"
      -        },
      -        "company_name": {
      -          "type": "string"
      -        },
      -        "conservative_price": {
      -          "format": "double",
      -          "type": "number"
      -        },
      -        "created_at": {
      -          "type": "string"
      -        },
      -        "expression": {
      -          "type": "string"
      -        },
      -        "id": {
      -          "type": "string"
      -        },
      -        "key_catalyst": {
      -          "type": "string"
      -        },
      -        "key_fact_id": {
      -          "type": "string"
      -        },
      -        "market": {
      -          "type": "string"
      -        },
      -        "optimistic_price": {
      -          "format": "double",
      -          "type": "number"
      -        },
      -        "outlook": {
      -          "$ref": "#/$defs/SignalOutlook"
      -        },
      -        "outlook_desc": {
      -          "type": "string"
      -        },
      -        "recommend_by": {
      -          "type": "string"
      -        },
      -        "status": {
      -          "$ref": "#/$defs/SignalStatus"
      -        },
      -        "strategy_id": {
      -          "type": "string"
      -        },
      -        "strategy_name": {
      -          "type": "string"
      -        },
      -        "summary": {
      -          "type": "string"
      -        },
      -        "symbol": {
      -          "type": "string"
      -        },
      -        "title": {
      -          "type": "string"
      -        },
      -        "updated_at": {
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "id",
      -        "symbol",
      -        "company_name",
      -        "market",
      -        "title",
      -        "summary",
      -        "strategy_id",
      -        "strategy_name",
      -        "recommend_by",
      -        "expression",
      -        "key_fact_id",
      -        "key_catalyst",
      -        "analysis_price",
      -        "conservative_price",
      -        "benchmark_price",
      -        "optimistic_price",
      -        "outlook",
      -        "outlook_desc",
      -        "status",
      -        "created_at",
      -        "updated_at"
      -      ],
      -      "type": "object"
      -    },
      -    "SignalOutlook": {
      -      "enum": [
      -        "Strong bullish",
      -        "Bullish",
      -        "Neutral",
      -        "Bearish",
      -        "Strong bearish",
      -        "Unknown"
      -      ],
      -      "type": "string"
      -    },
      -    "SignalStatus": {
      -      "enum": [
      -        "Pending",
      -        "Active",
      -        "Deleted",
      -        "AiFailed",
      -        "FilteredByManual",
      -        "AiSubmitFailed",
      -        "Unknown"
      -      ],
      -      "type": "string"
      -    }
      -  },
      -  "properties": {
      -    "signals": {
      -      "items": {
      -        "$ref": "#/$defs/SignalItem"
      -      },
      -      "type": "array"
      -    },
      -    "total": {
      -      "format": "int32",
      -      "type": "integer"
      -    }
      -  },
      -  "required": [
      -    "signals",
      -    "total"
      -  ],
      -  "type": "object"
      -}New value: +null
  3. Addedv0.10.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context beyond that: what a signal is, that it is triggered by a catalyst, that filters and pagination are supported, and that full analysis is intentionally delegated to signal_detail. It does not add rate-limit or response-detail context, but the annotation coverage lowers the burden.

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

Conciseness5/5

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

Three short sentences accomplish a lot: define the resource, enumerate filtering and paging, and point to the sibling for deeper analysis. There is no filler, repeated schema text, or unnecessary detail.

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 that all parameters are optional and fully documented in the schema, and the annotations already carry read-only/idempotent safety, the description fills the remaining contextual gaps: what a signal is, how to page through results, and where to get full analysis. For a filtered list-query tool, this is complete enough for correct invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 10 parameters. The description's mention of symbol, strategy, catalyst, time range, and pagination maps to the parameters but does not add meaning beyond the individual field descriptions already present. Baseline 3 is appropriate.

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

Purpose5/5

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

The description opens with a specific verb and resource ('Query strategy signals') and defines the domain concept in app-specific terms: 'a strategy's take on a security, triggered by a catalyst.' It also differentiates itself from the nearest sibling, signal_detail, by explicitly stating that full strategy analysis is omitted, so an agent can correctly distinguish the two.

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?

The description explicitly says the full strategy analysis is not here and routes the agent to signal_detail, which is a clear when-not/alternative statement. It also summarizes the relevant filter dimensions (symbol, strategy, catalyst, time range) and pagination, giving the agent enough context to choose this tool for list-style signal queries.

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

Deploy Server

Other Tools