Skip to main content
Glama

Plumbline: OFAC SDN sanctions screening, SEC financials and company checks from public registries

Send the order draft as a request

send_order_draft
Idempotent

Send a Plumbline order draft once the buyer has said to: the first send records the request (the firm offer with its exact price and terms hash is emailed to the buyer and appears in the app when ready; promise no time); a later send of a changed list records a revision of the same request and declines the offer for the earlier list as replaced. Name the revision the buyer saw: a draft that changed since is not sent. Needs the buyer's email on the first send (where the offer and receipt go). This places no order: the buyer accepts the firm offer separately.

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": {
      "id": "<id>",
      "token": "<token>",
      "revision": "<revision>",
      "confirm": "<confirm>"
    },
    "name": "send_order_draft"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesThe draft id
op_idNo
tokenYesThe draft's private token (also the receipt token of every request sent from it); keep it private
confirmYesThe buyer asked to send it
contactNo
from_appNoSet only by the app itself
revisionYesThe draft revision the buyer saw and asked to send

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

Adds substantial behavior beyond the annotations: first send emails the firm offer with price and terms hash, the app view appears 'when ready' with no time promise, and a later send of a changed list creates a revision that declines the earlier offer as replaced. That destructive-adjacent side effect (superseding a prior offer) is exactly the kind of context annotations do not convey. What is not covered is op_id/retry semantics and what identifiers come back.

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?

Front-loads the core action and keeps every sentence load-bearing — price/terms hash, revision semantics, email requirement, and the no-order caveat all earn their place. The nested parentheticals and semicolon-chained clauses make it denser than necessary and slow to scan.

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 7-parameter mutation with a nested contact object, no output schema, and no enum guardrails, the description covers preconditions, side effects, and supersession correctly. The remaining gap is return semantics — an agent cannot tell from this text whether a request id or receipt comes back, though the token field hint partially compensates.

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

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 71% schema coverage the schema already documents id, token, confirm, and revision. The description adds real meaning for 'revision' (it must be the revision the buyer actually saw) and for contact.email (required on first send because that is where the offer and receipt go). It says nothing about op_id or from_app, leaving a documented gap.

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 ('Send a Plumbline order draft') and immediately scopes it: 'This places no order: the buyer accepts the firm offer separately,' which separates it from accept_offer and submit_purchase_order. The first-send vs. later-send behavior also distinguishes it from update_order_draft.

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 preconditions ('once the buyer has said to', 'Name the revision the buyer saw') and a hard exclusion ('a draft that changed since is not sent'). It also says when a different path applies — acceptance happens separately via the offer, not here.

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