Skip to main content
Glama

signals_list

Read-onlyIdempotent

Use this when you need to find a synced transcript or query discovery signals for the authenticated workspace by topic, processing status, source type/facet, product, exact external source record ID, related account, or updatedSince. updatedSince returns records changed at or after an ISO 8601 timestamp, oldest update first. Each signal carries source metadata, the client's own data payload, a transcript attribution summary and import provenance where they apply, and by default compact linked account summaries. Stored evidence text and per-turn detail are not on a list: read them with signals.get_evidence_pack, or signals.get with include: ["raw"].

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "signals_list"
  }
}

Input Schema

NameRequiredDescriptionDefault
qNoSearch text, best match first: words in any order and misspellings in the signal title, linked account names, or an exact public ID (SIGNAL-12 returns that signal), plus any signal whose external ID, context, source type, product name, or account domain contains the whole text. For topics across Insights and Ideas use discovery.search.
limitNo
offsetNo
searchNoAlias for q. Use q when possible.
statusNoFilter by processing status.
contextNoFilter by signal context such as support_request, user_interview, or sales_demo.
includeNoRelated data to include with each signal. Accounts are compact summaries of linked accounts. Raw stored data is never part of a list; read one signal with signals.get and include: ["raw"].
productIdNoFilter to signals associated with a product.
accountIdsNoFilter to signals directly linked to these accounts or linked through related insights.
externalIdNoFilter by an exact upstream source record ID.
productIdsNoFilter to signals associated with any of these products.
sourceTypeNoFilter by source type or source facet, such as zendesk, gong, fathom, manual-text, zendesk:support_ticket, or gong:transcript.
updatedSinceNoOnly signals updated at or after this ISO 8601 timestamp; results are ordered oldest update first for incremental sync.

Output Schema

NameRequiredDescriptionDefault
itemsYes
paginationYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / items / items / properties / processing / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "failedAt": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "lastError": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "lastJobId": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "processedAt": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "startedAt": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "deferredAt": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "failedAt": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "lastError": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "lastJobId": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "processedAt": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "startedAt": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Changed19 schema fields changed
    • addedInput schema / properties / offset / maximum
      Added value: +9007199254740991
    • addedInput schema / properties / updatedSince / pattern
      Added value: +"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
    • removedOutput schema / properties / items / items / properties / accounts / items / properties / arr / anyOf
      Removed value: -[
      -  {
      -    "type": [
      -      "string",
      -      "number"
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / items / items / properties / accounts / items / properties / arr / type
      Added value: +[
      +  "string",
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / items / items / properties / accounts / items / properties / mrr / anyOf
      Removed value: -[
      -  {
      -    "type": [
      -      "string",
      -      "number"
      -    ]
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / items / items / properties / accounts / items / properties / mrr / type
      Added value: +[
      +  "string",
      +  "number",
      +  "null"
      +]
    • changedOutput schema / properties / items / items / properties / data / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "properties": {},
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {},
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / items / items / properties / import / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {
      -      "type": [
      -        "string",
      -        "number",
      -        "boolean"
      -      ]
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {
      +      "type": [
      +        "string",
      +        "number",
      +        "boolean"
      +      ]
      +    },
      +    "propertyNames": {
      +      "type": "string"
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / items / items / properties / integrationRun / required
      Previous value: -[
      -  "id",
      -  "operationId",
      -  "status",
      -  "triggerType",
      -  "replayed"
      -]New value: +[
      +  "id",
      +  "operationId",
      +  "status",
      +  "triggerType",
      +  "replayed",
      +  "downstreamProcessing"
      +]
    • changedOutput schema / properties / items / items / properties / rawData / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "properties": {},
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {},
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / items / items / properties / research / additionalProperties
      Removed value: -false
    • changedOutput schema / properties / items / items / properties / research / properties / observedAt / anyOf
      Previous value: -[
      -  {
      -    "format": "date-time",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "format": "date-time",
      +    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / items / items / properties / source / additionalProperties
      Previous value: -trueNew value: +{}
    • changedOutput schema / properties / items / items / properties / source / properties / external_data / additionalProperties
      Previous value: -trueNew value: +{}
    • addedOutput schema / properties / items / items / properties / sourceRevision / maximum
      Added value: +9007199254740991
    • changedOutput schema / properties / items / items / properties / transcript / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "analysis": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "generatedInsightCount": {
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "outcome": {
      -                "enum": [
      -                  "no_analytical_content",
      -                  "analyzed_no_insights",
      -                  "analyzed_with_insights"
      -                ],
      -                "type": "string"
      -              },
      -              "reason": {
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "outcome",
      -              "reason",
      -              "generatedInsightCount"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "coveragePercent": {
      -        "type": "number"
      -      },
      -      "externalTurnCount": {
      -        "type": "integer"
      -      },
      -      "internalTurnCount": {
      -        "type": "integer"
      -      },
      -      "participantCount": {
      -        "type": "integer"
      -      },
      -      "resolvedTurnCount": {
      -        "type": "integer"
      -      },
      -      "totalTurnCount": {
      -        "type": "integer"
      -      },
      -      "unresolvedTurnCount": {
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "coveragePercent",
      -      "totalTurnCount",
      -      "resolvedTurnCount",
      -      "externalTurnCount",
      -      "internalTurnCount",
      -      "unresolvedTurnCount",
      -      "participantCount",
      -      "analysis"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "analysis": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "generatedInsightCount": {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "outcome": {
      +                "enum": [
      +                  "no_analytical_content",
      +                  "analyzed_no_insights",
      +                  "analyzed_with_insights"
      +                ],
      +                "type": "string"
      +              },
      +              "reason": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "outcome",
      +              "reason",
      +              "generatedInsightCount"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "coveragePercent": {
      +        "type": "number"
      +      },
      +      "externalTurnCount": {
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "internalTurnCount": {
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "participantCount": {
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "resolvedTurnCount": {
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "totalTurnCount": {
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      },
      +      "unresolvedTurnCount": {
      +        "maximum": 9007199254740991,
      +        "minimum": -9007199254740991,
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "coveragePercent",
      +      "totalTurnCount",
      +      "resolvedTurnCount",
      +      "externalTurnCount",
      +      "internalTurnCount",
      +      "unresolvedTurnCount",
      +      "participantCount",
      +      "analysis"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / pagination / properties / limit / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / pagination / properties / offset / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / pagination / properties / total / maximum
      Added value: +9007199254740991
  3. Changed3 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / properties / llm_model
      Removed value: -{
      -  "description": "The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. \"claude-opus-4-8\", \"gpt-5.2\"). Used for analytics only. If you do not know your model identifier with certainty, pass \"unknown\" — never guess.",
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "llm_model"
      -]New value: +[]
  4. Changed1 schema field changed
    • addedOutput schema / properties / items / items / properties / research
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "dateOrigin": {
      +      "enum": [
      +        "supplied",
      +        "extracted",
      +        "unknown"
      +      ],
      +      "type": "string"
      +    },
      +    "observedAt": {
      +      "anyOf": [
      +        {
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "subjectRole": {
      +      "enum": [
      +        "evaluated_subject",
      +        "research_scope"
      +      ],
      +      "type": "string"
      +    },
      +    "subjects": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "aliases": {
      +            "default": [],
      +            "items": {
      +              "maxLength": 160,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "maxItems": 5,
      +            "type": "array"
      +          },
      +          "domain": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "identityKey": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "identityStatus": {
      +            "enum": [
      +              "website_identified",
      +              "unresolved"
      +            ],
      +            "type": "string"
      +          },
      +          "name": {
      +            "maxLength": 160,
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "website": {
      +            "default": "",
      +            "maxLength": 2048,
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "name",
      +          "domain",
      +          "identityKey",
      +          "identityStatus"
      +        ],
      +        "type": "object"
      +      },
      +      "maxItems": 5,
      +      "type": "array"
      +    },
      +    "title": {
      +      "maxLength": 200,
      +      "type": "string"
      +    },
      +    "titleOrigin": {
      +      "enum": [
      +        "supplied",
      +        "extracted"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "title",
      +    "titleOrigin",
      +    "observedAt",
      +    "dateOrigin",
      +    "subjects",
      +    "subjectRole"
      +  ],
      +  "type": "object"
      +}
  5. Changed1 schema field changed
    • changedInput schema / properties / q / description
      Previous value: -"Natural-language search across signal title, public ID, external ID, context, source type/facet, product name, and linked account names/domains."New value: +"Search text, best match first: words in any order and misspellings in the signal title, linked account names, or an exact public ID (SIGNAL-12 returns that signal), plus any signal whose external ID, context, source type, product name, or account domain contains the whole text. For topics across Insights and Ideas use discovery.search."
  6. Changed1 schema field changed
    • addedOutput schema / properties / items / items / properties / url
      Added value: +{
      +  "format": "uri",
      +  "type": "string"
      +}
  7. Changed1 schema field changed
    • addedInput schema / properties / updatedSince
      Added value: +{
      +  "description": "Only signals updated at or after this ISO 8601 timestamp; results are ordered oldest update first for incremental sync.",
      +  "format": "date-time",
      +  "type": "string"
      +}
  8. Changed3 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / llm_model
      Added value: +{
      +  "description": "The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. \"claude-opus-4-8\", \"gpt-5.2\"). Used for analytics only. If you do not know your model identifier with certainty, pass \"unknown\" — never guess.",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[]New value: +[
      +  "llm_model"
      +]
  9. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive, closed-world behavior, so the description's job is to add scope. It does: results are ordered oldest-update-first for incremental sync, each signal carries source metadata, payload, transcript attribution, and import provenance, and compact linked account summaries are included by default. Some of this restates schema parameter text (updatedSince ordering, include defaults), which caps it below a 5.

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 the use condition, then the filter vocabulary, then behavioral notes, then escape hatches — a sensible order. The middle sentence about what each signal carries is long and partially duplicates schema/output schema content, which keeps it from being maximally tight.

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?

For a 13-parameter, all-optional list tool with an output schema and full annotations, the description covers purpose, filter surface, default enrichment, ordering semantics, and what requires a follow-up call. Pagination behavior (limit/offset interaction, max 100) is left entirely to the schema, a minor gap.

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

Parameters3/5

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

Schema coverage is 85%, so the schema already documents nearly every parameter including q, sourceType facets, and updatedSince. The description restates the filter dimension list but adds no syntax, format, or interaction details (e.g., how filters combine) beyond what the schema supplies. 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?

Opens with a specific verb+resource combos ('find a synced transcript or query discovery signals') and enumerates the filterable dimensions (topic, status, source type, product, externalId, account, updatedSince). It also names what it is not: evidence text is deferred to signals.get_evidence_pack and signals.get with include: ["raw"].

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 opening 'Use this when you need to...' sets the trigger condition explicitly, and the closing sentence gives a when-not-to-use rule with two concrete alternatives. The q parameter description further routes cross-Insights/Ideas topic search to discovery.search, so the agent has an exit path for adjacent needs.

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.