Skip to main content
Glama

Tool Offer Agent

send_message

Send field: value lines, or a JSON-serialized StructuredIntake object in message, a product question, a revision or a drafting command. Intake keys: tool_url, docs (URL string or 1–3 URL strings), customer, pricing, payment, access, invocation; optional job and seller_name. All other values are strings. Optional schema is TOOL_OFFER_INTAKE_V1. Unknown/duplicate keys and invalid values reject the entire update. Card selections are separate. May use bounded operator model quota. Returns a stable job; optional HTTP Prefer: wait=1 through wait=5 waits without redispatch and may include the signed completed result. Otherwise poll get_result. Never resend uncertain work with a new request_id. No payments or FAHCE execution.

Input Schema

NameRequiredDescriptionDefault
messageYes
request_idYes
session_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full behavioral burden and discloses validation behavior, bounded operator model quota, stable job creation, wait=1 through wait=5 semantics, signed completed results, and idempotency advice. It omits some details such as authentication needs and the exact failure/retry model, but it is substantially more informative than a typical unannotated mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loads the message formats, but it is a dense, jargon-heavy block with unexplained terms like FAHCE and bounded operator model quota. Most sentences carry useful information, yet the structure makes it harder to scan than it should be.

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

Completeness3/5

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

For a three-required-parameter tool with no annotations, no output schema, and 0% schema description coverage, the description covers a lot: intake shape, validation, async behavior, and polling. However, it leaves session_id unexplained and does not fully clarify the returned job or the relationship to start_session.

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?

Schema description coverage is 0%, so the description must compensate. It explains message contents extensively, including intake keys, allowed types, and schema version, and it implies request_id is for idempotency, but it does not explain session_id or give direct semantics for all three 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 specifies that the tool sends either field: value lines or a JSON-serialized StructuredIntake object in the message field, and names supported message categories such as product questions, revisions, and drafting commands. This is specific enough to distinguish the tool from siblings like get_result, though the grammar is dense and the overall action is initially hard to parse.

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?

It gives clear usage contexts (product question, revision, drafting command) and says to poll get_result otherwise. It also gives the important rule not to resend uncertain work with a new request_id and notes that card selections are separate, but it does not explicitly compare send_message against start_session or the other siblings.

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