Skip to main content
Glama

Create delivery

create_delivery

Create a shipped public delivery from selected undelivered batches: batches no other delivery carries, including ready Batches of several finished workflow runs. Supply its version label (free-form; semver like 2.4.0 is common but not required) and a factual summary. To record a release that shipped before the project used Pizza Developer, omit batchIds and pass shippedAt, the real past ship date (ISO date or date-time); without shippedAt it ships now. A delivery without batches never completes a workflow run's Delivery stage. In a run of a workflow that starts at Delivery, any ready Batches no delivery carries can go in, and the call completes the run's Delivery stage. When the project has a workflow that starts at Delivery, create_delivery outside a workflow run is refused and the refusal names that workflow.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
metricsNoOptional client measurements, stored on the workflow step this call completes.
summaryYesFactual summary of what shipped.
versionYesVersion label, such as 2.4.0.
batchIdsNoUndelivered Batches to include.
projectIdYesId of the Project.
requestIdNoOptional unique ID for this create. After a timeout, retry with the same requestId and arguments: the record already created is returned instead of a duplicate.
shippedAtNoShip date, as an ISO date or date-time.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=false), the description discloses real behavioral nuance: the refusal case names the offending workflow, a batchless delivery never completes a Delivery stage, and omitting shippedAt ships immediately. It stops short of describing the returned record or what happens to the consumed batches, so it is strong but not exhaustive.

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 most important scoping and version-label facts are front-loaded, and the text is dense with no filler. However, the workflow-stage sentences are convoluted and the two clauses about 'a run of a workflow that starts at Delivery' repeat the same idea, costing some readability.

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 mutation tool with no output schema, the description covers the key edge cases an agent must handle: historical backfill, immediate ship, the batchless case, and workflow-run refusal. It does not describe the response shape or how to recover the created delivery's id, which is the one notable gap.

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 schema already documents all seven parameters, but the description still adds meaning: version is free-form and semver is optional, shippedAt is the 'real past ship date', and batchIds must be batches no other delivery carries. These are semantic constraints the schema strings do not fully convey.

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?

The opening sentence names a specific verb and resource ('Create a shipped public delivery') and constrains the source material ('from selected undelivered batches'), which cleanly separates it from assign_batch_to_delivery, update_delivery, and archive_delivery. An agent can identify what this tool produces 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?

It gives explicit conditional routing: omit batchIds and pass shippedAt to backfill a pre-Pizza-Developer release, omit shippedAt to ship now, and it states that create_delivery outside a workflow run is refused when the project has a workflow starting at Delivery. When-to-use, when-not-to-use, and the workflow-run path are all spelled out.

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.

Resources