Skip to main content
Glama

Capture logic signals

capture_logic

Record every edge of the requested pins (probes of the setup sheet; by default the logic ones) for duration_ms (1 to 10 000 ms). In the browser's simulation, in simulated time; during the session's turn on a real bench, at the bench's logic analyser, in real time (no browser or running simulation needed then). trigger {pin, edge}: pin among pins, edge rising, falling or any; the recording then lasts wait_ms + duration_ms (10 000 ms at most) and keeps pre_ms (0 to wait_ms) before the first matching edge within wait_ms and duration_ms after it; with no such edge, the whole recording. Read the result with read_capture, decode it with decode_capture.

Input Schema

NameRequiredDescriptionDefault
pinsNo
pre_msNo
sessionNo
triggerNo
wait_msNo
agent_tokenNo
duration_msNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changed
    • addedInput schema / $defs
      Added value: +{
      +  "Trigger": {
      +    "properties": {
      +      "edge": {
      +        "title": "Edge",
      +        "type": "string"
      +      },
      +      "pin": {
      +        "title": "Pin",
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "pin",
      +      "edge"
      +    ],
      +    "title": "Trigger",
      +    "type": "object"
      +  }
      +}
    • addedInput schema / properties / agent_token / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / agent_token / default
      Added value: +null
    • removedInput schema / properties / agent_token / type
      Removed value: -"string"
    • addedInput schema / properties / pre_ms
      Added value: +{
      +  "default": 0,
      +  "title": "Pre Ms",
      +  "type": "integer"
      +}
    • addedInput schema / properties / session / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / session / default
      Added value: +null
    • removedInput schema / properties / session / type
      Removed value: -"string"
    • addedInput schema / properties / trigger
      Added value: +{
      +  "anyOf": [
      +    {
      +      "$ref": "#/$defs/Trigger"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • addedInput schema / properties / wait_ms
      Added value: +{
      +  "default": 0,
      +  "title": "Wait Ms",
      +  "type": "integer"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "session",
      -  "agent_token"
      -]
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

Adds substantial context beyond the annotations: the real-time-vs-simulated-time distinction, the fact that no browser or running simulation is needed on a bench, and the hard 10 000 ms ceiling on total recording length. Annotations only say readOnly=false and destructive=false; the description explains the timing/blocking implications the annotations cannot.

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 core action and duration are front-loaded, and every sentence carries technical content rather than filler. The trigger clause is dense and slightly run-on, so density costs a little readability, but nothing is wasted.

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 seven-parameter tool with no output schema and only coarse annotations, the description covers execution context, timing semantics, trigger logic, and follow-up tools. Only the session/agent_token parameters and return-shape expectations are left implicit, and those are standard session plumbing.

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 load, and it does for the important parameters: duration_ms range (1–10 000), the trigger object's pin/edge with the edge enum values (rising, falling, any), and how pre_ms/wait_ms interact. It leaves session and agent_token unexplained, which is the only significant gap across seven parameters.

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?

States a specific verb and resource ('Record every edge of the requested pins ... for duration_ms') and clarifies the default pin set ('by default the logic ones'), so the agent knows exactly what is captured. It does not contrast itself with the sibling capture_analog, which is the one nearby tool an agent could confuse it with, so it falls short of a 5.

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?

Explicitly names the downstream tools ('Read the result with read_capture, decode it with decode_capture'), which routes the agent correctly after the call. It also explains the two execution contexts (browser simulation vs real bench), giving clear conditions under which it behaves differently. No explicit exclusion against capture_analog.

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.