Skip to main content
Glama

jobs_enqueue

Enqueue a background job (ask, export, batch export/delete) on a bound browser lane and get a job_id immediately for long or bulk work. Poll progress with jobs_status.

Instructions

Enqueue a background job on the bound browser lane (ask, export, export_batch, delete, delete_batch) and return job_id immediately. Prefer for long/bulk work; use chat_ask/chats_export synchronously when you can wait. Poll with jobs_status; cancel with jobs_cancel. Requires browsers_bind; delete kinds need confirm + allowDestructive.

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": {
      "kind": "<kind>",
      "platform": "<platform>"
    },
    "name": "jobs_enqueue"
  }
}

Input Schema

NameRequiredDescriptionDefault
maxNoMax items for batch jobs
kindYesBackground job kind for the bound browser lane
modeNoProvider mode id for ask
filesNoAttachments for ask
modelNoProvider model id for ask
queryNoOptional filter query for batch discovery
titleNoOptional title when creating a chat for ask
toolsNoProvider tool ids for ask
branchNoBranch selector when applicable
chatIdNoTarget chat id for ask/export/delete
outDirNoOutput directory for export kinds
promptNoPrompt text when kind=ask
chatIdsNoChat ids for batch export/delete
confirmNoRequired true for delete/delete_batch
formatsNoExport formats for export kinds
togglesNoProvider toggle ids for ask
platformYesProvider id: chatgpt | grok | grok-x | claude | copilot | qwen | deepseek | perplexity
testOnlyNoWhen true, validate only without mutating
browserIdNoOverride bound browserId for this job
timeout_sNoPer-op timeout seconds for ask-like work (10-300)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed24 schema fields changedv1.0.4
    • addedInput schema / properties / branch / description
      Added value: +"Branch selector when applicable"
    • addedInput schema / properties / browserId / description
      Added value: +"Override bound browserId for this job"
    • addedInput schema / properties / chatId / description
      Added value: +"Target chat id for ask/export/delete"
    • addedInput schema / properties / chatIds / description
      Added value: +"Chat ids for batch export/delete"
    • addedInput schema / properties / confirm / description
      Added value: +"Required true for delete/delete_batch"
    • addedInput schema / properties / files / description
      Added value: +"Attachments for ask"
    • addedInput schema / properties / files / items / properties / mime / description
      Added value: +"MIME type hint"
    • addedInput schema / properties / files / items / properties / name / description
      Added value: +"Display filename override"
    • addedInput schema / properties / files / items / properties / path / description
      Added value: +"Absolute local file path to attach"
    • addedInput schema / properties / formats / description
      Added value: +"Export formats for export kinds"
    • addedInput schema / properties / formats / items / description
      Added value: +"Export format id supported by the extension builders"
    • addedInput schema / properties / kind / description
      Added value: +"Background job kind for the bound browser lane"
    • addedInput schema / properties / max / description
      Added value: +"Max items for batch jobs"
    • addedInput schema / properties / mode / description
      Added value: +"Provider mode id for ask"
    • addedInput schema / properties / model / description
      Added value: +"Provider model id for ask"
    • addedInput schema / properties / outDir / description
      Added value: +"Output directory for export kinds"
    • addedInput schema / properties / platform / description
      Added value: +"Provider id: chatgpt | grok | grok-x | claude | copilot | qwen | deepseek | perplexity"
    • addedInput schema / properties / prompt / description
      Added value: +"Prompt text when kind=ask"
    • addedInput schema / properties / query / description
      Added value: +"Optional filter query for batch discovery"
    • addedInput schema / properties / testOnly / description
      Added value: +"When true, validate only without mutating"
    • addedInput schema / properties / timeout_s / description
      Added value: +"Per-op timeout seconds for ask-like work (10-300)"
    • addedInput schema / properties / title / description
      Added value: +"Optional title when creating a chat for ask"
    • addedInput schema / properties / toggles / description
      Added value: +"Provider toggle ids for ask"
    • addedInput schema / properties / tools / description
      Added value: +"Provider tool ids for ask"
  2. First observedv1.0.3

TDQS

A4.6/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false; the description adds behavior beyond that: the call is asynchronous and returns job_id immediately while work continues, and delete kinds are gated behind confirm plus allowDestructive. That is meaningful context the annotations do not convey. It stops short of describing what a job produces or what happens on duplicate or concurrent enqueues on the same lane.

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 compact sentences, front-loaded with the action and return value, then routing guidance, then prerequisites. Every clause carries information; there is no restating of the name or filler.

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 20-parameter, non-idempotent, open-world job launcher with no output schema, the description covers the essentials: async semantics, the returned job_id, lifecycle tools, and the destructive and binding prerequisites. The remaining gap is the conditional parameter matrix and the meaning of the full job lifecycle, which the description only partially samples.

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 100%, so per-parameter meaning is already documented and the baseline is 3. The description earns above that by mapping parameters to kinds: chatId applies to ask/export/delete, outDir and formats to export kinds, max to batch jobs, and confirm to delete kinds. It does not spell out that mapping for every one of the 20 parameters, so it is not exhaustive.

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?

States a specific verb and resource ('Enqueue a background job on the bound browser lane'), enumerates the five job kinds inline, and states the immediate return value (job_id). It explicitly contrasts itself with the synchronous siblings chat_ask and chats_export, so an agent can distinguish it without opening the schema.

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?

Gives explicit selection criteria ('Prefer for long/bulk work; use chat_ask/chats_export synchronously when you can wait'), names the follow-up tools (jobs_status for polling, jobs_cancel for cancellation), and states prerequisites (browsers_bind, plus confirm and allowDestructive for delete kinds). Nothing about routing is left to inference.

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