Skip to main content
Glama

Start a job

jobs_create

Start a durable job from a goal, optionally with files attached. The run keeps going server-side; returns the job id and its web url to poll or continue. Needs the write scope.

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": {
      "goal": "<goal>"
    },
    "name": "jobs_create"
  }
}

Input Schema

NameRequiredDescriptionDefault
goalYesWhat to do, up to 4000 characters.
modeNoWith referenceId: clone the reference, copy its format, or take it as inspiration (default).
labelNoJob title, up to 80 characters. Defaults to the goal's first line.
modelNoBrain for this run: claude-opus-5-5, claude-opus-5, claude-sonnet-5, claude-fable-5-1, gpt-5.6-sol or gpt-6-astra. Absent means the account's default. A model test runs the same goal once per model.
panelNoGive the run the war-room panel and the identity graph tools; open the job's url to see the panel it lays out.
autoRunNoExecute the plan the moment it is ready instead of pausing for approval. Deliverables still land as proposed drafts.
timezoneNoIANA timezone for scheduling language in the goal.
budgetUsdNoBudget for the run, in dollars.
mediaKeysNoMedia keys already in the account (from assets_upload or assets_list) to attach.
charactersNoActors to star in this job, by slug or id (characters_list). The agent always sees the whole roster; these are the ones it must use.
referenceIdNoA member id from references_list: the job works from that person.
idempotencyKeyNoAny string unique to this one intended thing (a UUID you keep). A retry with the same key answers what the first call made, with replayed: true, and makes nothing new. Derive it from the thing, not the attempt, so every agent and every restarted run that means the same one sends the same key.

Output Schema

NameRequiredDescriptionDefault
idYes
urlYes
titleYes
statusYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / panel
      Added value: +{
      +  "description": "Give the run the war-room panel and the identity graph tools; open the job's url to see the panel it lays out.",
      +  "type": "boolean"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / idempotencyKey
      Added value: +{
      +  "description": "Any string unique to this one intended thing (a UUID you keep). A retry with the same key answers what the first call made, with replayed: true, and makes nothing new. Derive it from the thing, not the attempt, so every agent and every restarted run that means the same one sends the same key.",
      +  "type": "string"
      +}
  3. Changed2 schema fields changed
    • addedInput schema / properties / mode
      Added value: +{
      +  "description": "With referenceId: clone the reference, copy its format, or take it as inspiration (default).",
      +  "enum": [
      +    "clone",
      +    "format",
      +    "inspiration"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / referenceId
      Added value: +{
      +  "description": "A member id from references_list: the job works from that person.",
      +  "type": "string"
      +}
  4. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "id": {
      +      "type": "string"
      +    },
      +    "status": {
      +      "type": "string"
      +    },
      +    "title": {
      +      "type": "string"
      +    },
      +    "url": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "title",
      +    "status",
      +    "url"
      +  ],
      +  "type": "object"
      +}
  5. First observed

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already state readOnlyHint=false, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds genuine value by disclosing that the run is durable and continues server-side, that it needs the write scope, and that it returns a job id plus a web url for polling — though it says nothing about failure modes, cost implications of budgetUsd, or what a rejected call looks like.

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?

It is short and front-loaded, leading with the action and the async behavior, then the return value and the scope requirement. Every sentence carries information; a slight tightening could merge the scope note into the first sentence, but nothing is 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 12 parameters, an output schema, and explicit annotations, the description only needs to cover the calling context, and it does: what is created, that it is asynchronous and durable, what comes back, and what auth is required. The gaps (interaction of mode with referenceId, model test behavior) are already handled inside the schema descriptions, so they need not be repeated here.

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 coverage is 100%, so the baseline is 3 and the schema already documents every parameter including the idempotencyKey contract and model list. The description still adds lightweight framing beyond the schema, notably that files are optional attachments and that the returned id is the handle for polling or continuing, which orients the agent to what the parameters produce.

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?

The description gives a specific verb and resource ('Start a durable job from a goal') plus the optional attachment case, so the agent knows exactly what the tool creates. It does not, however, distinguish itself from nearby siblings such as jobs_brief, jobs_run, or jobs_continue, which an agent could plausibly confuse it with.

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

Usage Guidelines3/5

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

Usage is only implied: 'needs the write scope' is a real prerequisite, and 'poll or continue' hints that jobs_get/jobs_tail or jobs_continue follow, but no sibling is named and there is no explicit statement of when to choose this over jobs_run or jobs_brief. The agent must infer the routing.

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.