Skip to main content
Glama

Services submit deliverable

services_submit_deliverable

Seller-side: submit the deliverable on a paid/in-progress quote. kind=url|text|file|secret. Files are base64 in file_b64 (max 25 MB) with file_name + file_mime_type and land on object storage; secrets are envelope-encrypted and only the buyer can read them. Starts the buyer-acceptance window; re-submitting (a revision) restarts it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoRequired for kind=url: link where the deliverable lives.
kindYesDeliverable type: url, text, file (base64 upload) or secret (encrypted, buyer-only).
textNoRequired for kind=text: the deliverable content itself.
secretNoRequired for kind=secret: sensitive value (API key, credential). Encrypted at rest; only the buyer can read it.
file_b64NoRequired for kind=file: base64-encoded file bytes, max 25 MB decoded.
file_nameNoRequired for kind=file: filename shown to the buyer; unsafe characters are replaced.
seller_noteNoOptional note to the buyer accompanying the deliverable.
file_mime_typeNoRequired for kind=file: MIME type. Types outside the inert allowlist are served as forced downloads.
service_quote_idYesUUID of the paid or in-progress quote thread to deliver on.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

The description adds substantial behavioral context beyond the annotations: it discloses that submission starts the buyer-acceptance window, that re-submitting a revision restarts it, that files land on object storage, and that secrets are envelope-encrypted and readable only by the buyer. These side effects and data-handling guarantees are exactly the kind of information the sparse annotations (readOnlyHint=false, idempotentHint=false) do not convey.

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 sentences with zero filler. The core purpose is front-loaded ('Seller-side: submit the deliverable on a paid/in-progress quote'), followed by the kind taxonomy and then the two special data-handling cases and the acceptance-window side effect. Every sentence earns its place and the density is appropriate for a tool with 9 parameters.

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 complex 9-parameter tool with no output schema, the description covers a remarkable amount: all four kind variants, size limits, storage/encryption behavior, and the acceptance-window side effect including revision behavior. The main gaps are that it does not hint at what the response contains (no output schema exists to fill that gap) or describe failure preconditions beyond 'paid/in-progress quote'.

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, but the description adds real meaning beyond the schema: it clarifies that the 25 MB limit applies to decoded file size (not the base64 string), groups file_b64 with file_name and file_mime_type as a cohesive set, and explains the practical consequence of the secret kind (encrypted, buyer-only) and file kind (object storage). The inline 'kind=url|text|file|secret' summary reinforces the enum without repeating the schema verbatim.

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 description states a specific verb (submit), a specific resource (deliverable on a paid/in-progress quote), and a clear actor (Seller-side). It is immediately distinguishable from siblings like services_submit_quote (quote submission phase) and services_acknowledge_delivery (buyer-side confirmation), so an agent can tell what this tool does 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 Guidelines3/5

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

The description gives clear context for when the tool applies — seller-side, on a paid/in-progress quote — and implies it is used after a quote is accepted and work has begun. However, it never names alternatives or exclusions, such as explicitly contrasting with services_submit_quote or services_start_work; the routing to the right sibling 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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.