Skip to main content
Glama

Find Matching Interactions

webinarstack.webinars.interactions_find_matching
Read-onlyIdempotent

Check whether a tenant-owned webinar already has an interaction at a comparable timeline position — for CTAs, the same appearsAtSeconds ± 10s; for polls, a headline that normalizes to the same value (trim + lowercase). Call this BEFORE creating an interaction to avoid creating a duplicate that would confuse live attendees seeing two competing polls or CTAs at the same moment in the video. Returns full matching interactions under matches; an empty array means safe-to-create.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "webinarId": "<webinarId>",
      "timeline": "<timeline>",
      "type": "<type>"
    },
    "name": "webinarstack.webinars.interactions_find_matching"
  }
}

Input Schema

NameRequiredDescriptionDefault
typeYes
headlineNo
timelineYes
webinarIdYes
appearsAtSecondsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/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, so safety is covered; the description adds genuinely new behavior — the ±10s CTA tolerance and the trim+lowercase headline normalization that define 'comparable position'. It also discloses the return contract ('matches' array, empty means safe-to-create), which no annotation or output schema provides.

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

Conciseness4/5

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

The purpose and matching rules are front-loaded, and the return contract is stated last where it belongs. The middle clause about confusing live attendees is a touch verbose, but it justifies the tool's existence rather than padding.

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?

With no output schema, the description usefully documents the return shape and the empty-array signal, and it defines the duplicate predicate in enough detail to trust a result. The remaining gap is the semantics of the live/replay timeline parameter and which fields are required for each type.

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 description coverage is 0%, so the description must carry the parameter meaning and it largely does: it maps 'type' to the two matching strategies, explains appearsAtSeconds as a tolerance-based anchor, and explains headline as a normalized comparison key for polls. The 'timeline' enum (live/replay) and the conditional requirement of headline for polls are never explained.

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 ('Check whether a tenant-owned webinar already has an interaction') and then pins down the exact matching predicate per interaction type. This is clearly distinguishable from siblings like interactions_list or interactions_get, which enumerate rather than test for a duplicate.

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

Usage Guidelines4/5

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

It gives an explicit imperative: 'Call this BEFORE creating an interaction to avoid creating a duplicate,' which tells the agent exactly where in the workflow this belongs and implies interactions_create as the alternative. It stops short of naming that sibling outright or stating when a lookup is unnecessary.

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