Skip to main content
Glama

post_task

Create a real-world task and run the full screening cascade: policy_gate regex, task_shapes shape_match, a Claude LLM classifier when ANTHROPIC_API_KEY is set or SCREENING_LLM_FALLBACK when absent, then human_review parking when needed. Results in status open, rejected, or screening. Write instructions a stranger can execute. budget_max_minor is the all-in ceiling in integer minor units of currency; deadline is an ISO 8601 timestamp with a timezone. Latitude and longitude are decimal degrees.

The stored proof requirements are the union of each required capability's unwaivable floor, its default proof types, and your proof_requirements extras. proof_requirement_opt_outs waives a capability default where it isn't the product — e.g. ["geo_checkin"] on a photo task whose location doesn't matter. Waiving a capability floor (like geo check-in on an errand) returns a structured 422; floors are never waivable.

Set request_live_location=true only when the task genuinely needs it (e.g. meeting a courier, time-critical errands). Workers see the request before deciding; a worker who accepts the offer consents, live sharing turns on for the task's active window only, and you can poll the current point with get_worker_location. It cannot be added to a task later.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
latYesLatitude where the work happens, decimal degrees.
lngYesLongitude where the work happens, decimal degrees.
titleYesShort summary a worker sees first, e.g. 'Photograph the storefront at 5th and Main'.
addressNoOptional street address shown to the worker alongside the map pin.
currencyNoISO-4217 currency code. USD is the only currency supported today.USD
deadlineYesWhen the work must be done, ISO-8601 UTC, e.g. '2026-06-21T18:00:00Z'.
instructionsYesWhat the worker must actually do, specific enough to finish without asking you. Screened before dispatch.
idempotency_keyNoOptional key of your own choosing so a retry does not post the task twice.
budget_max_minorYesMost you will pay for the work, integer minor units. Must sit within your per-task cap; see get_spend_status.
proof_requirementsNoOptional proof types to require on top of whatever the capability already demands.
request_live_locationNoAsk the worker to share live location while working. They must consent; it is never automatic.
required_capabilitiesYesCapability slugs the worker must hold. Use exact slugs from list_capabilities -- an unknown slug is rejected.
proof_requirement_opt_outsNoOptional proof types to waive, where the capability permits waiving them.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
statusNo
task_idNo
screening_reasonNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed14 schema fields changed
    • addedInput schema / properties / address / description
      Added value: +"Optional street address shown to the worker alongside the map pin."
    • addedInput schema / properties / budget_max_minor / description
      Added value: +"Most you will pay for the work, integer minor units. Must sit within your per-task cap; see get_spend_status."
    • addedInput schema / properties / currency / description
      Added value: +"ISO-4217 currency code. USD is the only currency supported today."
    • addedInput schema / properties / deadline / description
      Added value: +"When the work must be done, ISO-8601 UTC, e.g. '2026-06-21T18:00:00Z'."
    • addedInput schema / properties / idempotency_key / description
      Added value: +"Optional key of your own choosing so a retry does not post the task twice."
    • addedInput schema / properties / instructions / description
      Added value: +"What the worker must actually do, specific enough to finish without asking you. Screened before dispatch."
    • addedInput schema / properties / lat / description
      Added value: +"Latitude where the work happens, decimal degrees."
    • addedInput schema / properties / lng / description
      Added value: +"Longitude where the work happens, decimal degrees."
    • addedInput schema / properties / proof_requirement_opt_outs / description
      Added value: +"Optional proof types to waive, where the capability permits waiving them."
    • addedInput schema / properties / proof_requirements / description
      Added value: +"Optional proof types to require on top of whatever the capability already demands."
    • addedInput schema / properties / request_live_location / description
      Added value: +"Ask the worker to share live location while working. They must consent; it is never automatic."
    • addedInput schema / properties / required_capabilities / description
      Added value: +"Capability slugs the worker must hold. Use exact slugs from list_capabilities -- an unknown slug is rejected."
    • addedInput schema / properties / title / description
      Added value: +"Short summary a worker sees first, e.g. 'Photograph the storefront at 5th and Main'."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "screening_reason": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Screening Reason"
      +    },
      +    "status": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Status"
      +    },
      +    "task_id": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Task Id"
      +    }
      +  },
      +  "title": "TaskWriteOut",
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.5/5.0
Behavior5/5

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

The description goes far beyond the annotations, detailing the screening cascade (policy_gate, shape_match, LLM classifier, human_review), environmental dependencies (ANTHROPIC_API_KEY vs SCREENING_LLM_FALLBACK), proof requirement unions and non-waivable floors, and the consent semantics of live location. No annotation contradiction exists.

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 description is long but densely informative, and each sentence earns its place in clarifying a complex 13-parameter operation. It is front-loaded with the core behavior before diving into proof and live-location specifics. Slightly more structural separation could improve scannability, but there is no waste.

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

Completeness5/5

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

Given the tool's complexity and the presence of an output schema, the description covers the important operational details: screening outcomes, proof union semantics, budget cap references, and live location consent. It even points to get_spend_status and list_capabilities where relevant, making the call contextually complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/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, but the description adds critical meaning: budget_max_minor is an all-in ceiling, deadline must include a timezone, proof_requirement_opt_outs waives defaults but never floors, and request_live_location cannot be added post-hoc. These nuances materially change how an agent should populate the 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?

The description opens with a specific verb and resource: 'Create a real-world task and run the full screening cascade.' It clearly explains what the tool does, including resulting statuses. It does not explicitly differentiate from siblings like update_task or cancel_task by name, so it stops 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?

The context is clear: use this to post a new task, with screening and proof implications spelled out. It also gives a when-not warning by noting request_live_location cannot be added later. It does not explicitly list alternatives like update_task for later edits, but the usage context is unambiguous.

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.