Skip to main content
Glama

Bowmark web data: LinkedIn, Amazon, YouTube, Reddit, Airbnb, Instagram

Jig call

jig_call
Destructive

Used by an open jig to call the library. You do not need to call this — use run.

Input Schema

NameRequiredDescriptionDefault
refNoThe page's own name for this action, so it can be cancelled.
callsNoThe library calls one page action makes; they run in parallel.
jigIdYesThe jig's id, as `jig_open` or `jig_list` returned it.
runIdNoCollect a call still running: the `runId` an earlier answer returned.
cancelNoThe `ref`s of actions to stop.
timeoutMsNoHow long to wait for the answer before returning a `runId` to collect.

Output Schema

NameRequiredDescriptionDefault
okNoTrue when the call completed without an error.
errorNoWhat went wrong, when it did.
runIdNoThe run's id; pass it back to resume or collect it.
resultNoWhat the call returned.
statusNoHow the call ended: `ok`, `partial`, `error`, `paused`…
messageNoWhy the call failed, when `ok` is false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • addedInput schema / properties / calls / description
      Added value: +"The library calls one page action makes; they run in parallel."
    • addedInput schema / properties / calls / items / properties / args / description
      Added value: +"The argument object it takes."
    • addedInput schema / properties / calls / items / properties / fn / description
      Added value: +"A library function path, e.g. \"providers.youtube.search\"."
    • addedInput schema / properties / cancel / description
      Added value: +"The `ref`s of actions to stop."
    • addedInput schema / properties / jigId / description
      Added value: +"The jig's id, as `jig_open` or `jig_list` returned it."
    • addedInput schema / properties / ref / description
      Added value: +"The page's own name for this action, so it can be cancelled."
    • addedInput schema / properties / runId / description
      Added value: +"Collect a call still running: the `runId` an earlier answer returned."
    • addedInput schema / properties / timeoutMs / description
      Added value: +"How long to wait for the answer before returning a `runId` to collect."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "error": {
      +      "description": "What went wrong, when it did."
      +    },
      +    "message": {
      +      "description": "Why the call failed, when `ok` is false.",
      +      "type": "string"
      +    },
      +    "ok": {
      +      "description": "True when the call completed without an error.",
      +      "type": "boolean"
      +    },
      +    "result": {
      +      "description": "What the call returned."
      +    },
      +    "runId": {
      +      "description": "The run's id; pass it back to resume or collect it.",
      +      "type": "string"
      +    },
      +    "status": {
      +      "description": "How the call ended: `ok`, `partial`, `error`, `paused`…",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed3 schema fields changed
    • addedInput schema / properties / cancel
      Added value: +{
      +  "items": {
      +    "pattern": "^[A-Za-z0-9_-]{16,64}$",
      +    "type": "string"
      +  },
      +  "maxItems": 32,
      +  "type": "array"
      +}
    • addedInput schema / properties / ref
      Added value: +{
      +  "pattern": "^[A-Za-z0-9_-]{16,64}$",
      +  "type": "string"
      +}
    • addedInput schema / properties / timeoutMs
      Added value: +{
      +  "maximum": 600000,
      +  "minimum": 0,
      +  "type": "integer"
      +}
  3. Added

TDQS

B3/5.0
Behavior2/5

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

Annotations declare destructiveHint=true, non-idempotent, and openWorld, so the agent already knows this has external side effects and is unsafe to repeat. The description adds nothing about what those side effects touch, how parallel calls in `calls` interact, or what the returned `runId` means for later collection. With a destructive, open-world tool, that is a meaningful gap rather than a covered one.

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?

Two short sentences with no wasted wording, and the redirection to `run` is given immediately. The only structural weakness is that the primary purpose sentence is largely negated by the second, so the takeaway is front-loaded but slightly self-defeating.

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

Completeness2/5

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

The tool has six parameters, a destructive/open-world profile, and an output schema, yet the description supplies only a one-line identity and a do-not-use note. It never covers the cancellation semantics via `ref`/`cancel`, the timeout-to-`runId` handoff, or the parallel execution model, all of which are non-obvious behaviors an agent would otherwise have to infer from the schema alone.

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%, and the schema already explains `ref`, `calls`, `jigId`, `runId`, `cancel`, and `timeoutMs` in detail. The description contributes no additional parameter meaning, so the baseline of 3 is appropriate when the schema carries the full burden.

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

Purpose3/5

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

The description states a specific verb and object ("call the library") and scopes it to "an open jig," which distinguishes it from generic tools. However, the immediate follow-up ("You do not need to call this") undercuts the stated purpose and never clarifies what the library is or what a library call produces, leaving the intent only loosely defined.

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 explicitly names the alternative ("use `run`") and rules out direct agent invocation, which is exactly the routing information an agent needs to avoid misfiring. It stops short of a full 5 because it doesn't describe the positive condition under which this tool is invoked (i.e., what an open jig actually does with 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.